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//   * ArgumentException
516//   An invalid argument was specified.
517//
518//   * LimitExceededException
519//   A limit was exceeded.
520//
521//   * InternalServiceException
522//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
523//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
524//
525// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateTestGridProject
526func (c *DeviceFarm) CreateTestGridProject(input *CreateTestGridProjectInput) (*CreateTestGridProjectOutput, error) {
527	req, out := c.CreateTestGridProjectRequest(input)
528	return out, req.Send()
529}
530
531// CreateTestGridProjectWithContext is the same as CreateTestGridProject with the addition of
532// the ability to pass a context and additional request options.
533//
534// See CreateTestGridProject for details on how to use this API operation.
535//
536// The context must be non-nil and will be used for request cancellation. If
537// the context is nil a panic will occur. In the future the SDK may create
538// sub-contexts for http.Requests. See https://golang.org/pkg/context/
539// for more information on using Contexts.
540func (c *DeviceFarm) CreateTestGridProjectWithContext(ctx aws.Context, input *CreateTestGridProjectInput, opts ...request.Option) (*CreateTestGridProjectOutput, error) {
541	req, out := c.CreateTestGridProjectRequest(input)
542	req.SetContext(ctx)
543	req.ApplyOptions(opts...)
544	return out, req.Send()
545}
546
547const opCreateTestGridUrl = "CreateTestGridUrl"
548
549// CreateTestGridUrlRequest generates a "aws/request.Request" representing the
550// client's request for the CreateTestGridUrl operation. The "output" return
551// value will be populated with the request's response once the request completes
552// successfully.
553//
554// Use "Send" method on the returned Request to send the API call to the service.
555// the "output" return value is not valid until after Send returns without error.
556//
557// See CreateTestGridUrl for more information on using the CreateTestGridUrl
558// API call, and error handling.
559//
560// This method is useful when you want to inject custom logic or configuration
561// into the SDK's request lifecycle. Such as custom headers, or retry logic.
562//
563//
564//    // Example sending a request using the CreateTestGridUrlRequest method.
565//    req, resp := client.CreateTestGridUrlRequest(params)
566//
567//    err := req.Send()
568//    if err == nil { // resp is now filled
569//        fmt.Println(resp)
570//    }
571//
572// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateTestGridUrl
573func (c *DeviceFarm) CreateTestGridUrlRequest(input *CreateTestGridUrlInput) (req *request.Request, output *CreateTestGridUrlOutput) {
574	op := &request.Operation{
575		Name:       opCreateTestGridUrl,
576		HTTPMethod: "POST",
577		HTTPPath:   "/",
578	}
579
580	if input == nil {
581		input = &CreateTestGridUrlInput{}
582	}
583
584	output = &CreateTestGridUrlOutput{}
585	req = c.newRequest(op, input, output)
586	return
587}
588
589// CreateTestGridUrl API operation for AWS Device Farm.
590//
591// Creates a signed, short-term URL that can be passed to a Selenium RemoteWebDriver
592// constructor.
593//
594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
595// with awserr.Error's Code and Message methods to get detailed information about
596// the error.
597//
598// See the AWS API reference guide for AWS Device Farm's
599// API operation CreateTestGridUrl for usage and error information.
600//
601// Returned Error Types:
602//   * NotFoundException
603//   The specified entity was not found.
604//
605//   * ArgumentException
606//   An invalid argument was specified.
607//
608//   * InternalServiceException
609//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
610//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
611//
612// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateTestGridUrl
613func (c *DeviceFarm) CreateTestGridUrl(input *CreateTestGridUrlInput) (*CreateTestGridUrlOutput, error) {
614	req, out := c.CreateTestGridUrlRequest(input)
615	return out, req.Send()
616}
617
618// CreateTestGridUrlWithContext is the same as CreateTestGridUrl with the addition of
619// the ability to pass a context and additional request options.
620//
621// See CreateTestGridUrl for details on how to use this API operation.
622//
623// The context must be non-nil and will be used for request cancellation. If
624// the context is nil a panic will occur. In the future the SDK may create
625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
626// for more information on using Contexts.
627func (c *DeviceFarm) CreateTestGridUrlWithContext(ctx aws.Context, input *CreateTestGridUrlInput, opts ...request.Option) (*CreateTestGridUrlOutput, error) {
628	req, out := c.CreateTestGridUrlRequest(input)
629	req.SetContext(ctx)
630	req.ApplyOptions(opts...)
631	return out, req.Send()
632}
633
634const opCreateUpload = "CreateUpload"
635
636// CreateUploadRequest generates a "aws/request.Request" representing the
637// client's request for the CreateUpload operation. The "output" return
638// value will be populated with the request's response once the request completes
639// successfully.
640//
641// Use "Send" method on the returned Request to send the API call to the service.
642// the "output" return value is not valid until after Send returns without error.
643//
644// See CreateUpload for more information on using the CreateUpload
645// API call, and error handling.
646//
647// This method is useful when you want to inject custom logic or configuration
648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
649//
650//
651//    // Example sending a request using the CreateUploadRequest method.
652//    req, resp := client.CreateUploadRequest(params)
653//
654//    err := req.Send()
655//    if err == nil { // resp is now filled
656//        fmt.Println(resp)
657//    }
658//
659// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUpload
660func (c *DeviceFarm) CreateUploadRequest(input *CreateUploadInput) (req *request.Request, output *CreateUploadOutput) {
661	op := &request.Operation{
662		Name:       opCreateUpload,
663		HTTPMethod: "POST",
664		HTTPPath:   "/",
665	}
666
667	if input == nil {
668		input = &CreateUploadInput{}
669	}
670
671	output = &CreateUploadOutput{}
672	req = c.newRequest(op, input, output)
673	return
674}
675
676// CreateUpload API operation for AWS Device Farm.
677//
678// Uploads an app or test scripts.
679//
680// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
681// with awserr.Error's Code and Message methods to get detailed information about
682// the error.
683//
684// See the AWS API reference guide for AWS Device Farm's
685// API operation CreateUpload for usage and error information.
686//
687// Returned Error Types:
688//   * ArgumentException
689//   An invalid argument was specified.
690//
691//   * NotFoundException
692//   The specified entity was not found.
693//
694//   * LimitExceededException
695//   A limit was exceeded.
696//
697//   * ServiceAccountException
698//   There was a problem with the service account.
699//
700// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUpload
701func (c *DeviceFarm) CreateUpload(input *CreateUploadInput) (*CreateUploadOutput, error) {
702	req, out := c.CreateUploadRequest(input)
703	return out, req.Send()
704}
705
706// CreateUploadWithContext is the same as CreateUpload with the addition of
707// the ability to pass a context and additional request options.
708//
709// See CreateUpload for details on how to use this API operation.
710//
711// The context must be non-nil and will be used for request cancellation. If
712// the context is nil a panic will occur. In the future the SDK may create
713// sub-contexts for http.Requests. See https://golang.org/pkg/context/
714// for more information on using Contexts.
715func (c *DeviceFarm) CreateUploadWithContext(ctx aws.Context, input *CreateUploadInput, opts ...request.Option) (*CreateUploadOutput, error) {
716	req, out := c.CreateUploadRequest(input)
717	req.SetContext(ctx)
718	req.ApplyOptions(opts...)
719	return out, req.Send()
720}
721
722const opCreateVPCEConfiguration = "CreateVPCEConfiguration"
723
724// CreateVPCEConfigurationRequest generates a "aws/request.Request" representing the
725// client's request for the CreateVPCEConfiguration operation. The "output" return
726// value will be populated with the request's response once the request completes
727// successfully.
728//
729// Use "Send" method on the returned Request to send the API call to the service.
730// the "output" return value is not valid until after Send returns without error.
731//
732// See CreateVPCEConfiguration for more information on using the CreateVPCEConfiguration
733// API call, and error handling.
734//
735// This method is useful when you want to inject custom logic or configuration
736// into the SDK's request lifecycle. Such as custom headers, or retry logic.
737//
738//
739//    // Example sending a request using the CreateVPCEConfigurationRequest method.
740//    req, resp := client.CreateVPCEConfigurationRequest(params)
741//
742//    err := req.Send()
743//    if err == nil { // resp is now filled
744//        fmt.Println(resp)
745//    }
746//
747// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateVPCEConfiguration
748func (c *DeviceFarm) CreateVPCEConfigurationRequest(input *CreateVPCEConfigurationInput) (req *request.Request, output *CreateVPCEConfigurationOutput) {
749	op := &request.Operation{
750		Name:       opCreateVPCEConfiguration,
751		HTTPMethod: "POST",
752		HTTPPath:   "/",
753	}
754
755	if input == nil {
756		input = &CreateVPCEConfigurationInput{}
757	}
758
759	output = &CreateVPCEConfigurationOutput{}
760	req = c.newRequest(op, input, output)
761	return
762}
763
764// CreateVPCEConfiguration API operation for AWS Device Farm.
765//
766// Creates a configuration record in Device Farm for your Amazon Virtual Private
767// Cloud (VPC) endpoint.
768//
769// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
770// with awserr.Error's Code and Message methods to get detailed information about
771// the error.
772//
773// See the AWS API reference guide for AWS Device Farm's
774// API operation CreateVPCEConfiguration for usage and error information.
775//
776// Returned Error Types:
777//   * ArgumentException
778//   An invalid argument was specified.
779//
780//   * LimitExceededException
781//   A limit was exceeded.
782//
783//   * ServiceAccountException
784//   There was a problem with the service account.
785//
786// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateVPCEConfiguration
787func (c *DeviceFarm) CreateVPCEConfiguration(input *CreateVPCEConfigurationInput) (*CreateVPCEConfigurationOutput, error) {
788	req, out := c.CreateVPCEConfigurationRequest(input)
789	return out, req.Send()
790}
791
792// CreateVPCEConfigurationWithContext is the same as CreateVPCEConfiguration with the addition of
793// the ability to pass a context and additional request options.
794//
795// See CreateVPCEConfiguration for details on how to use this API operation.
796//
797// The context must be non-nil and will be used for request cancellation. If
798// the context is nil a panic will occur. In the future the SDK may create
799// sub-contexts for http.Requests. See https://golang.org/pkg/context/
800// for more information on using Contexts.
801func (c *DeviceFarm) CreateVPCEConfigurationWithContext(ctx aws.Context, input *CreateVPCEConfigurationInput, opts ...request.Option) (*CreateVPCEConfigurationOutput, error) {
802	req, out := c.CreateVPCEConfigurationRequest(input)
803	req.SetContext(ctx)
804	req.ApplyOptions(opts...)
805	return out, req.Send()
806}
807
808const opDeleteDevicePool = "DeleteDevicePool"
809
810// DeleteDevicePoolRequest generates a "aws/request.Request" representing the
811// client's request for the DeleteDevicePool operation. The "output" return
812// value will be populated with the request's response once the request completes
813// successfully.
814//
815// Use "Send" method on the returned Request to send the API call to the service.
816// the "output" return value is not valid until after Send returns without error.
817//
818// See DeleteDevicePool for more information on using the DeleteDevicePool
819// API call, and error handling.
820//
821// This method is useful when you want to inject custom logic or configuration
822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
823//
824//
825//    // Example sending a request using the DeleteDevicePoolRequest method.
826//    req, resp := client.DeleteDevicePoolRequest(params)
827//
828//    err := req.Send()
829//    if err == nil { // resp is now filled
830//        fmt.Println(resp)
831//    }
832//
833// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePool
834func (c *DeviceFarm) DeleteDevicePoolRequest(input *DeleteDevicePoolInput) (req *request.Request, output *DeleteDevicePoolOutput) {
835	op := &request.Operation{
836		Name:       opDeleteDevicePool,
837		HTTPMethod: "POST",
838		HTTPPath:   "/",
839	}
840
841	if input == nil {
842		input = &DeleteDevicePoolInput{}
843	}
844
845	output = &DeleteDevicePoolOutput{}
846	req = c.newRequest(op, input, output)
847	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
848	return
849}
850
851// DeleteDevicePool API operation for AWS Device Farm.
852//
853// Deletes a device pool given the pool ARN. Does not allow deletion of curated
854// pools owned by the system.
855//
856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
857// with awserr.Error's Code and Message methods to get detailed information about
858// the error.
859//
860// See the AWS API reference guide for AWS Device Farm's
861// API operation DeleteDevicePool for usage and error information.
862//
863// Returned Error Types:
864//   * ArgumentException
865//   An invalid argument was specified.
866//
867//   * NotFoundException
868//   The specified entity was not found.
869//
870//   * LimitExceededException
871//   A limit was exceeded.
872//
873//   * ServiceAccountException
874//   There was a problem with the service account.
875//
876// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePool
877func (c *DeviceFarm) DeleteDevicePool(input *DeleteDevicePoolInput) (*DeleteDevicePoolOutput, error) {
878	req, out := c.DeleteDevicePoolRequest(input)
879	return out, req.Send()
880}
881
882// DeleteDevicePoolWithContext is the same as DeleteDevicePool with the addition of
883// the ability to pass a context and additional request options.
884//
885// See DeleteDevicePool for details on how to use this API operation.
886//
887// The context must be non-nil and will be used for request cancellation. If
888// the context is nil a panic will occur. In the future the SDK may create
889// sub-contexts for http.Requests. See https://golang.org/pkg/context/
890// for more information on using Contexts.
891func (c *DeviceFarm) DeleteDevicePoolWithContext(ctx aws.Context, input *DeleteDevicePoolInput, opts ...request.Option) (*DeleteDevicePoolOutput, error) {
892	req, out := c.DeleteDevicePoolRequest(input)
893	req.SetContext(ctx)
894	req.ApplyOptions(opts...)
895	return out, req.Send()
896}
897
898const opDeleteInstanceProfile = "DeleteInstanceProfile"
899
900// DeleteInstanceProfileRequest generates a "aws/request.Request" representing the
901// client's request for the DeleteInstanceProfile operation. The "output" return
902// value will be populated with the request's response once the request completes
903// successfully.
904//
905// Use "Send" method on the returned Request to send the API call to the service.
906// the "output" return value is not valid until after Send returns without error.
907//
908// See DeleteInstanceProfile for more information on using the DeleteInstanceProfile
909// API call, and error handling.
910//
911// This method is useful when you want to inject custom logic or configuration
912// into the SDK's request lifecycle. Such as custom headers, or retry logic.
913//
914//
915//    // Example sending a request using the DeleteInstanceProfileRequest method.
916//    req, resp := client.DeleteInstanceProfileRequest(params)
917//
918//    err := req.Send()
919//    if err == nil { // resp is now filled
920//        fmt.Println(resp)
921//    }
922//
923// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteInstanceProfile
924func (c *DeviceFarm) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (req *request.Request, output *DeleteInstanceProfileOutput) {
925	op := &request.Operation{
926		Name:       opDeleteInstanceProfile,
927		HTTPMethod: "POST",
928		HTTPPath:   "/",
929	}
930
931	if input == nil {
932		input = &DeleteInstanceProfileInput{}
933	}
934
935	output = &DeleteInstanceProfileOutput{}
936	req = c.newRequest(op, input, output)
937	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
938	return
939}
940
941// DeleteInstanceProfile API operation for AWS Device Farm.
942//
943// Deletes a profile that can be applied to one or more private device instances.
944//
945// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
946// with awserr.Error's Code and Message methods to get detailed information about
947// the error.
948//
949// See the AWS API reference guide for AWS Device Farm's
950// API operation DeleteInstanceProfile for usage and error information.
951//
952// Returned Error Types:
953//   * ArgumentException
954//   An invalid argument was specified.
955//
956//   * NotFoundException
957//   The specified entity was not found.
958//
959//   * LimitExceededException
960//   A limit was exceeded.
961//
962//   * ServiceAccountException
963//   There was a problem with the service account.
964//
965// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteInstanceProfile
966func (c *DeviceFarm) DeleteInstanceProfile(input *DeleteInstanceProfileInput) (*DeleteInstanceProfileOutput, error) {
967	req, out := c.DeleteInstanceProfileRequest(input)
968	return out, req.Send()
969}
970
971// DeleteInstanceProfileWithContext is the same as DeleteInstanceProfile with the addition of
972// the ability to pass a context and additional request options.
973//
974// See DeleteInstanceProfile for details on how to use this API operation.
975//
976// The context must be non-nil and will be used for request cancellation. If
977// the context is nil a panic will occur. In the future the SDK may create
978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
979// for more information on using Contexts.
980func (c *DeviceFarm) DeleteInstanceProfileWithContext(ctx aws.Context, input *DeleteInstanceProfileInput, opts ...request.Option) (*DeleteInstanceProfileOutput, error) {
981	req, out := c.DeleteInstanceProfileRequest(input)
982	req.SetContext(ctx)
983	req.ApplyOptions(opts...)
984	return out, req.Send()
985}
986
987const opDeleteNetworkProfile = "DeleteNetworkProfile"
988
989// DeleteNetworkProfileRequest generates a "aws/request.Request" representing the
990// client's request for the DeleteNetworkProfile operation. The "output" return
991// value will be populated with the request's response once the request completes
992// successfully.
993//
994// Use "Send" method on the returned Request to send the API call to the service.
995// the "output" return value is not valid until after Send returns without error.
996//
997// See DeleteNetworkProfile for more information on using the DeleteNetworkProfile
998// API call, and error handling.
999//
1000// This method is useful when you want to inject custom logic or configuration
1001// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1002//
1003//
1004//    // Example sending a request using the DeleteNetworkProfileRequest method.
1005//    req, resp := client.DeleteNetworkProfileRequest(params)
1006//
1007//    err := req.Send()
1008//    if err == nil { // resp is now filled
1009//        fmt.Println(resp)
1010//    }
1011//
1012// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteNetworkProfile
1013func (c *DeviceFarm) DeleteNetworkProfileRequest(input *DeleteNetworkProfileInput) (req *request.Request, output *DeleteNetworkProfileOutput) {
1014	op := &request.Operation{
1015		Name:       opDeleteNetworkProfile,
1016		HTTPMethod: "POST",
1017		HTTPPath:   "/",
1018	}
1019
1020	if input == nil {
1021		input = &DeleteNetworkProfileInput{}
1022	}
1023
1024	output = &DeleteNetworkProfileOutput{}
1025	req = c.newRequest(op, input, output)
1026	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1027	return
1028}
1029
1030// DeleteNetworkProfile API operation for AWS Device Farm.
1031//
1032// Deletes a network profile.
1033//
1034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1035// with awserr.Error's Code and Message methods to get detailed information about
1036// the error.
1037//
1038// See the AWS API reference guide for AWS Device Farm's
1039// API operation DeleteNetworkProfile for usage and error information.
1040//
1041// Returned Error Types:
1042//   * ArgumentException
1043//   An invalid argument was specified.
1044//
1045//   * NotFoundException
1046//   The specified entity was not found.
1047//
1048//   * LimitExceededException
1049//   A limit was exceeded.
1050//
1051//   * ServiceAccountException
1052//   There was a problem with the service account.
1053//
1054// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteNetworkProfile
1055func (c *DeviceFarm) DeleteNetworkProfile(input *DeleteNetworkProfileInput) (*DeleteNetworkProfileOutput, error) {
1056	req, out := c.DeleteNetworkProfileRequest(input)
1057	return out, req.Send()
1058}
1059
1060// DeleteNetworkProfileWithContext is the same as DeleteNetworkProfile with the addition of
1061// the ability to pass a context and additional request options.
1062//
1063// See DeleteNetworkProfile for details on how to use this API operation.
1064//
1065// The context must be non-nil and will be used for request cancellation. If
1066// the context is nil a panic will occur. In the future the SDK may create
1067// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1068// for more information on using Contexts.
1069func (c *DeviceFarm) DeleteNetworkProfileWithContext(ctx aws.Context, input *DeleteNetworkProfileInput, opts ...request.Option) (*DeleteNetworkProfileOutput, error) {
1070	req, out := c.DeleteNetworkProfileRequest(input)
1071	req.SetContext(ctx)
1072	req.ApplyOptions(opts...)
1073	return out, req.Send()
1074}
1075
1076const opDeleteProject = "DeleteProject"
1077
1078// DeleteProjectRequest generates a "aws/request.Request" representing the
1079// client's request for the DeleteProject operation. The "output" return
1080// value will be populated with the request's response once the request completes
1081// successfully.
1082//
1083// Use "Send" method on the returned Request to send the API call to the service.
1084// the "output" return value is not valid until after Send returns without error.
1085//
1086// See DeleteProject for more information on using the DeleteProject
1087// API call, and error handling.
1088//
1089// This method is useful when you want to inject custom logic or configuration
1090// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1091//
1092//
1093//    // Example sending a request using the DeleteProjectRequest method.
1094//    req, resp := client.DeleteProjectRequest(params)
1095//
1096//    err := req.Send()
1097//    if err == nil { // resp is now filled
1098//        fmt.Println(resp)
1099//    }
1100//
1101// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteProject
1102func (c *DeviceFarm) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
1103	op := &request.Operation{
1104		Name:       opDeleteProject,
1105		HTTPMethod: "POST",
1106		HTTPPath:   "/",
1107	}
1108
1109	if input == nil {
1110		input = &DeleteProjectInput{}
1111	}
1112
1113	output = &DeleteProjectOutput{}
1114	req = c.newRequest(op, input, output)
1115	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1116	return
1117}
1118
1119// DeleteProject API operation for AWS Device Farm.
1120//
1121// Deletes an AWS Device Farm project, given the project ARN.
1122//
1123// Deleting this resource does not stop an in-progress run.
1124//
1125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1126// with awserr.Error's Code and Message methods to get detailed information about
1127// the error.
1128//
1129// See the AWS API reference guide for AWS Device Farm's
1130// API operation DeleteProject for usage and error information.
1131//
1132// Returned Error Types:
1133//   * ArgumentException
1134//   An invalid argument was specified.
1135//
1136//   * NotFoundException
1137//   The specified entity was not found.
1138//
1139//   * LimitExceededException
1140//   A limit was exceeded.
1141//
1142//   * ServiceAccountException
1143//   There was a problem with the service account.
1144//
1145// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteProject
1146func (c *DeviceFarm) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
1147	req, out := c.DeleteProjectRequest(input)
1148	return out, req.Send()
1149}
1150
1151// DeleteProjectWithContext is the same as DeleteProject with the addition of
1152// the ability to pass a context and additional request options.
1153//
1154// See DeleteProject for details on how to use this API operation.
1155//
1156// The context must be non-nil and will be used for request cancellation. If
1157// the context is nil a panic will occur. In the future the SDK may create
1158// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1159// for more information on using Contexts.
1160func (c *DeviceFarm) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
1161	req, out := c.DeleteProjectRequest(input)
1162	req.SetContext(ctx)
1163	req.ApplyOptions(opts...)
1164	return out, req.Send()
1165}
1166
1167const opDeleteRemoteAccessSession = "DeleteRemoteAccessSession"
1168
1169// DeleteRemoteAccessSessionRequest generates a "aws/request.Request" representing the
1170// client's request for the DeleteRemoteAccessSession operation. The "output" return
1171// value will be populated with the request's response once the request completes
1172// successfully.
1173//
1174// Use "Send" method on the returned Request to send the API call to the service.
1175// the "output" return value is not valid until after Send returns without error.
1176//
1177// See DeleteRemoteAccessSession for more information on using the DeleteRemoteAccessSession
1178// API call, and error handling.
1179//
1180// This method is useful when you want to inject custom logic or configuration
1181// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1182//
1183//
1184//    // Example sending a request using the DeleteRemoteAccessSessionRequest method.
1185//    req, resp := client.DeleteRemoteAccessSessionRequest(params)
1186//
1187//    err := req.Send()
1188//    if err == nil { // resp is now filled
1189//        fmt.Println(resp)
1190//    }
1191//
1192// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRemoteAccessSession
1193func (c *DeviceFarm) DeleteRemoteAccessSessionRequest(input *DeleteRemoteAccessSessionInput) (req *request.Request, output *DeleteRemoteAccessSessionOutput) {
1194	op := &request.Operation{
1195		Name:       opDeleteRemoteAccessSession,
1196		HTTPMethod: "POST",
1197		HTTPPath:   "/",
1198	}
1199
1200	if input == nil {
1201		input = &DeleteRemoteAccessSessionInput{}
1202	}
1203
1204	output = &DeleteRemoteAccessSessionOutput{}
1205	req = c.newRequest(op, input, output)
1206	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1207	return
1208}
1209
1210// DeleteRemoteAccessSession API operation for AWS Device Farm.
1211//
1212// Deletes a completed remote access session and its results.
1213//
1214// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1215// with awserr.Error's Code and Message methods to get detailed information about
1216// the error.
1217//
1218// See the AWS API reference guide for AWS Device Farm's
1219// API operation DeleteRemoteAccessSession for usage and error information.
1220//
1221// Returned Error Types:
1222//   * ArgumentException
1223//   An invalid argument was specified.
1224//
1225//   * NotFoundException
1226//   The specified entity was not found.
1227//
1228//   * LimitExceededException
1229//   A limit was exceeded.
1230//
1231//   * ServiceAccountException
1232//   There was a problem with the service account.
1233//
1234// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRemoteAccessSession
1235func (c *DeviceFarm) DeleteRemoteAccessSession(input *DeleteRemoteAccessSessionInput) (*DeleteRemoteAccessSessionOutput, error) {
1236	req, out := c.DeleteRemoteAccessSessionRequest(input)
1237	return out, req.Send()
1238}
1239
1240// DeleteRemoteAccessSessionWithContext is the same as DeleteRemoteAccessSession with the addition of
1241// the ability to pass a context and additional request options.
1242//
1243// See DeleteRemoteAccessSession for details on how to use this API operation.
1244//
1245// The context must be non-nil and will be used for request cancellation. If
1246// the context is nil a panic will occur. In the future the SDK may create
1247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1248// for more information on using Contexts.
1249func (c *DeviceFarm) DeleteRemoteAccessSessionWithContext(ctx aws.Context, input *DeleteRemoteAccessSessionInput, opts ...request.Option) (*DeleteRemoteAccessSessionOutput, error) {
1250	req, out := c.DeleteRemoteAccessSessionRequest(input)
1251	req.SetContext(ctx)
1252	req.ApplyOptions(opts...)
1253	return out, req.Send()
1254}
1255
1256const opDeleteRun = "DeleteRun"
1257
1258// DeleteRunRequest generates a "aws/request.Request" representing the
1259// client's request for the DeleteRun operation. The "output" return
1260// value will be populated with the request's response once the request completes
1261// successfully.
1262//
1263// Use "Send" method on the returned Request to send the API call to the service.
1264// the "output" return value is not valid until after Send returns without error.
1265//
1266// See DeleteRun for more information on using the DeleteRun
1267// API call, and error handling.
1268//
1269// This method is useful when you want to inject custom logic or configuration
1270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1271//
1272//
1273//    // Example sending a request using the DeleteRunRequest method.
1274//    req, resp := client.DeleteRunRequest(params)
1275//
1276//    err := req.Send()
1277//    if err == nil { // resp is now filled
1278//        fmt.Println(resp)
1279//    }
1280//
1281// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRun
1282func (c *DeviceFarm) DeleteRunRequest(input *DeleteRunInput) (req *request.Request, output *DeleteRunOutput) {
1283	op := &request.Operation{
1284		Name:       opDeleteRun,
1285		HTTPMethod: "POST",
1286		HTTPPath:   "/",
1287	}
1288
1289	if input == nil {
1290		input = &DeleteRunInput{}
1291	}
1292
1293	output = &DeleteRunOutput{}
1294	req = c.newRequest(op, input, output)
1295	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1296	return
1297}
1298
1299// DeleteRun API operation for AWS Device Farm.
1300//
1301// Deletes the run, given the run ARN.
1302//
1303// Deleting this resource does not stop an in-progress run.
1304//
1305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1306// with awserr.Error's Code and Message methods to get detailed information about
1307// the error.
1308//
1309// See the AWS API reference guide for AWS Device Farm's
1310// API operation DeleteRun for usage and error information.
1311//
1312// Returned Error Types:
1313//   * ArgumentException
1314//   An invalid argument was specified.
1315//
1316//   * NotFoundException
1317//   The specified entity was not found.
1318//
1319//   * LimitExceededException
1320//   A limit was exceeded.
1321//
1322//   * ServiceAccountException
1323//   There was a problem with the service account.
1324//
1325// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRun
1326func (c *DeviceFarm) DeleteRun(input *DeleteRunInput) (*DeleteRunOutput, error) {
1327	req, out := c.DeleteRunRequest(input)
1328	return out, req.Send()
1329}
1330
1331// DeleteRunWithContext is the same as DeleteRun with the addition of
1332// the ability to pass a context and additional request options.
1333//
1334// See DeleteRun for details on how to use this API operation.
1335//
1336// The context must be non-nil and will be used for request cancellation. If
1337// the context is nil a panic will occur. In the future the SDK may create
1338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1339// for more information on using Contexts.
1340func (c *DeviceFarm) DeleteRunWithContext(ctx aws.Context, input *DeleteRunInput, opts ...request.Option) (*DeleteRunOutput, error) {
1341	req, out := c.DeleteRunRequest(input)
1342	req.SetContext(ctx)
1343	req.ApplyOptions(opts...)
1344	return out, req.Send()
1345}
1346
1347const opDeleteTestGridProject = "DeleteTestGridProject"
1348
1349// DeleteTestGridProjectRequest generates a "aws/request.Request" representing the
1350// client's request for the DeleteTestGridProject operation. The "output" return
1351// value will be populated with the request's response once the request completes
1352// successfully.
1353//
1354// Use "Send" method on the returned Request to send the API call to the service.
1355// the "output" return value is not valid until after Send returns without error.
1356//
1357// See DeleteTestGridProject for more information on using the DeleteTestGridProject
1358// API call, and error handling.
1359//
1360// This method is useful when you want to inject custom logic or configuration
1361// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1362//
1363//
1364//    // Example sending a request using the DeleteTestGridProjectRequest method.
1365//    req, resp := client.DeleteTestGridProjectRequest(params)
1366//
1367//    err := req.Send()
1368//    if err == nil { // resp is now filled
1369//        fmt.Println(resp)
1370//    }
1371//
1372// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteTestGridProject
1373func (c *DeviceFarm) DeleteTestGridProjectRequest(input *DeleteTestGridProjectInput) (req *request.Request, output *DeleteTestGridProjectOutput) {
1374	op := &request.Operation{
1375		Name:       opDeleteTestGridProject,
1376		HTTPMethod: "POST",
1377		HTTPPath:   "/",
1378	}
1379
1380	if input == nil {
1381		input = &DeleteTestGridProjectInput{}
1382	}
1383
1384	output = &DeleteTestGridProjectOutput{}
1385	req = c.newRequest(op, input, output)
1386	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1387	return
1388}
1389
1390// DeleteTestGridProject API operation for AWS Device Farm.
1391//
1392// Deletes a Selenium testing project and all content generated under it.
1393//
1394// You cannot undo this operation.
1395//
1396// You cannot delete a project if it has active sessions.
1397//
1398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1399// with awserr.Error's Code and Message methods to get detailed information about
1400// the error.
1401//
1402// See the AWS API reference guide for AWS Device Farm's
1403// API operation DeleteTestGridProject for usage and error information.
1404//
1405// Returned Error Types:
1406//   * NotFoundException
1407//   The specified entity was not found.
1408//
1409//   * ArgumentException
1410//   An invalid argument was specified.
1411//
1412//   * CannotDeleteException
1413//   The requested object could not be deleted.
1414//
1415//   * InternalServiceException
1416//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
1417//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
1418//
1419// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteTestGridProject
1420func (c *DeviceFarm) DeleteTestGridProject(input *DeleteTestGridProjectInput) (*DeleteTestGridProjectOutput, error) {
1421	req, out := c.DeleteTestGridProjectRequest(input)
1422	return out, req.Send()
1423}
1424
1425// DeleteTestGridProjectWithContext is the same as DeleteTestGridProject with the addition of
1426// the ability to pass a context and additional request options.
1427//
1428// See DeleteTestGridProject for details on how to use this API operation.
1429//
1430// The context must be non-nil and will be used for request cancellation. If
1431// the context is nil a panic will occur. In the future the SDK may create
1432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1433// for more information on using Contexts.
1434func (c *DeviceFarm) DeleteTestGridProjectWithContext(ctx aws.Context, input *DeleteTestGridProjectInput, opts ...request.Option) (*DeleteTestGridProjectOutput, error) {
1435	req, out := c.DeleteTestGridProjectRequest(input)
1436	req.SetContext(ctx)
1437	req.ApplyOptions(opts...)
1438	return out, req.Send()
1439}
1440
1441const opDeleteUpload = "DeleteUpload"
1442
1443// DeleteUploadRequest generates a "aws/request.Request" representing the
1444// client's request for the DeleteUpload operation. The "output" return
1445// value will be populated with the request's response once the request completes
1446// successfully.
1447//
1448// Use "Send" method on the returned Request to send the API call to the service.
1449// the "output" return value is not valid until after Send returns without error.
1450//
1451// See DeleteUpload for more information on using the DeleteUpload
1452// API call, and error handling.
1453//
1454// This method is useful when you want to inject custom logic or configuration
1455// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1456//
1457//
1458//    // Example sending a request using the DeleteUploadRequest method.
1459//    req, resp := client.DeleteUploadRequest(params)
1460//
1461//    err := req.Send()
1462//    if err == nil { // resp is now filled
1463//        fmt.Println(resp)
1464//    }
1465//
1466// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteUpload
1467func (c *DeviceFarm) DeleteUploadRequest(input *DeleteUploadInput) (req *request.Request, output *DeleteUploadOutput) {
1468	op := &request.Operation{
1469		Name:       opDeleteUpload,
1470		HTTPMethod: "POST",
1471		HTTPPath:   "/",
1472	}
1473
1474	if input == nil {
1475		input = &DeleteUploadInput{}
1476	}
1477
1478	output = &DeleteUploadOutput{}
1479	req = c.newRequest(op, input, output)
1480	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1481	return
1482}
1483
1484// DeleteUpload API operation for AWS Device Farm.
1485//
1486// Deletes an upload given the upload ARN.
1487//
1488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1489// with awserr.Error's Code and Message methods to get detailed information about
1490// the error.
1491//
1492// See the AWS API reference guide for AWS Device Farm's
1493// API operation DeleteUpload for usage and error information.
1494//
1495// Returned Error Types:
1496//   * ArgumentException
1497//   An invalid argument was specified.
1498//
1499//   * NotFoundException
1500//   The specified entity was not found.
1501//
1502//   * LimitExceededException
1503//   A limit was exceeded.
1504//
1505//   * ServiceAccountException
1506//   There was a problem with the service account.
1507//
1508// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteUpload
1509func (c *DeviceFarm) DeleteUpload(input *DeleteUploadInput) (*DeleteUploadOutput, error) {
1510	req, out := c.DeleteUploadRequest(input)
1511	return out, req.Send()
1512}
1513
1514// DeleteUploadWithContext is the same as DeleteUpload with the addition of
1515// the ability to pass a context and additional request options.
1516//
1517// See DeleteUpload for details on how to use this API operation.
1518//
1519// The context must be non-nil and will be used for request cancellation. If
1520// the context is nil a panic will occur. In the future the SDK may create
1521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1522// for more information on using Contexts.
1523func (c *DeviceFarm) DeleteUploadWithContext(ctx aws.Context, input *DeleteUploadInput, opts ...request.Option) (*DeleteUploadOutput, error) {
1524	req, out := c.DeleteUploadRequest(input)
1525	req.SetContext(ctx)
1526	req.ApplyOptions(opts...)
1527	return out, req.Send()
1528}
1529
1530const opDeleteVPCEConfiguration = "DeleteVPCEConfiguration"
1531
1532// DeleteVPCEConfigurationRequest generates a "aws/request.Request" representing the
1533// client's request for the DeleteVPCEConfiguration operation. The "output" return
1534// value will be populated with the request's response once the request completes
1535// successfully.
1536//
1537// Use "Send" method on the returned Request to send the API call to the service.
1538// the "output" return value is not valid until after Send returns without error.
1539//
1540// See DeleteVPCEConfiguration for more information on using the DeleteVPCEConfiguration
1541// API call, and error handling.
1542//
1543// This method is useful when you want to inject custom logic or configuration
1544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1545//
1546//
1547//    // Example sending a request using the DeleteVPCEConfigurationRequest method.
1548//    req, resp := client.DeleteVPCEConfigurationRequest(params)
1549//
1550//    err := req.Send()
1551//    if err == nil { // resp is now filled
1552//        fmt.Println(resp)
1553//    }
1554//
1555// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteVPCEConfiguration
1556func (c *DeviceFarm) DeleteVPCEConfigurationRequest(input *DeleteVPCEConfigurationInput) (req *request.Request, output *DeleteVPCEConfigurationOutput) {
1557	op := &request.Operation{
1558		Name:       opDeleteVPCEConfiguration,
1559		HTTPMethod: "POST",
1560		HTTPPath:   "/",
1561	}
1562
1563	if input == nil {
1564		input = &DeleteVPCEConfigurationInput{}
1565	}
1566
1567	output = &DeleteVPCEConfigurationOutput{}
1568	req = c.newRequest(op, input, output)
1569	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1570	return
1571}
1572
1573// DeleteVPCEConfiguration API operation for AWS Device Farm.
1574//
1575// Deletes a configuration for your Amazon Virtual Private Cloud (VPC) endpoint.
1576//
1577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1578// with awserr.Error's Code and Message methods to get detailed information about
1579// the error.
1580//
1581// See the AWS API reference guide for AWS Device Farm's
1582// API operation DeleteVPCEConfiguration for usage and error information.
1583//
1584// Returned Error Types:
1585//   * ArgumentException
1586//   An invalid argument was specified.
1587//
1588//   * NotFoundException
1589//   The specified entity was not found.
1590//
1591//   * ServiceAccountException
1592//   There was a problem with the service account.
1593//
1594//   * InvalidOperationException
1595//   There was an error with the update request, or you do not have sufficient
1596//   permissions to update this VPC endpoint configuration.
1597//
1598// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteVPCEConfiguration
1599func (c *DeviceFarm) DeleteVPCEConfiguration(input *DeleteVPCEConfigurationInput) (*DeleteVPCEConfigurationOutput, error) {
1600	req, out := c.DeleteVPCEConfigurationRequest(input)
1601	return out, req.Send()
1602}
1603
1604// DeleteVPCEConfigurationWithContext is the same as DeleteVPCEConfiguration with the addition of
1605// the ability to pass a context and additional request options.
1606//
1607// See DeleteVPCEConfiguration for details on how to use this API operation.
1608//
1609// The context must be non-nil and will be used for request cancellation. If
1610// the context is nil a panic will occur. In the future the SDK may create
1611// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1612// for more information on using Contexts.
1613func (c *DeviceFarm) DeleteVPCEConfigurationWithContext(ctx aws.Context, input *DeleteVPCEConfigurationInput, opts ...request.Option) (*DeleteVPCEConfigurationOutput, error) {
1614	req, out := c.DeleteVPCEConfigurationRequest(input)
1615	req.SetContext(ctx)
1616	req.ApplyOptions(opts...)
1617	return out, req.Send()
1618}
1619
1620const opGetAccountSettings = "GetAccountSettings"
1621
1622// GetAccountSettingsRequest generates a "aws/request.Request" representing the
1623// client's request for the GetAccountSettings operation. The "output" return
1624// value will be populated with the request's response once the request completes
1625// successfully.
1626//
1627// Use "Send" method on the returned Request to send the API call to the service.
1628// the "output" return value is not valid until after Send returns without error.
1629//
1630// See GetAccountSettings for more information on using the GetAccountSettings
1631// API call, and error handling.
1632//
1633// This method is useful when you want to inject custom logic or configuration
1634// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1635//
1636//
1637//    // Example sending a request using the GetAccountSettingsRequest method.
1638//    req, resp := client.GetAccountSettingsRequest(params)
1639//
1640//    err := req.Send()
1641//    if err == nil { // resp is now filled
1642//        fmt.Println(resp)
1643//    }
1644//
1645// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetAccountSettings
1646func (c *DeviceFarm) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req *request.Request, output *GetAccountSettingsOutput) {
1647	op := &request.Operation{
1648		Name:       opGetAccountSettings,
1649		HTTPMethod: "POST",
1650		HTTPPath:   "/",
1651	}
1652
1653	if input == nil {
1654		input = &GetAccountSettingsInput{}
1655	}
1656
1657	output = &GetAccountSettingsOutput{}
1658	req = c.newRequest(op, input, output)
1659	return
1660}
1661
1662// GetAccountSettings API operation for AWS Device Farm.
1663//
1664// Returns the number of unmetered iOS or unmetered Android devices that have
1665// been purchased by the account.
1666//
1667// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1668// with awserr.Error's Code and Message methods to get detailed information about
1669// the error.
1670//
1671// See the AWS API reference guide for AWS Device Farm's
1672// API operation GetAccountSettings for usage and error information.
1673//
1674// Returned Error Types:
1675//   * ArgumentException
1676//   An invalid argument was specified.
1677//
1678//   * NotFoundException
1679//   The specified entity was not found.
1680//
1681//   * LimitExceededException
1682//   A limit was exceeded.
1683//
1684//   * ServiceAccountException
1685//   There was a problem with the service account.
1686//
1687// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetAccountSettings
1688func (c *DeviceFarm) GetAccountSettings(input *GetAccountSettingsInput) (*GetAccountSettingsOutput, error) {
1689	req, out := c.GetAccountSettingsRequest(input)
1690	return out, req.Send()
1691}
1692
1693// GetAccountSettingsWithContext is the same as GetAccountSettings with the addition of
1694// the ability to pass a context and additional request options.
1695//
1696// See GetAccountSettings for details on how to use this API operation.
1697//
1698// The context must be non-nil and will be used for request cancellation. If
1699// the context is nil a panic will occur. In the future the SDK may create
1700// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1701// for more information on using Contexts.
1702func (c *DeviceFarm) GetAccountSettingsWithContext(ctx aws.Context, input *GetAccountSettingsInput, opts ...request.Option) (*GetAccountSettingsOutput, error) {
1703	req, out := c.GetAccountSettingsRequest(input)
1704	req.SetContext(ctx)
1705	req.ApplyOptions(opts...)
1706	return out, req.Send()
1707}
1708
1709const opGetDevice = "GetDevice"
1710
1711// GetDeviceRequest generates a "aws/request.Request" representing the
1712// client's request for the GetDevice operation. The "output" return
1713// value will be populated with the request's response once the request completes
1714// successfully.
1715//
1716// Use "Send" method on the returned Request to send the API call to the service.
1717// the "output" return value is not valid until after Send returns without error.
1718//
1719// See GetDevice for more information on using the GetDevice
1720// API call, and error handling.
1721//
1722// This method is useful when you want to inject custom logic or configuration
1723// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1724//
1725//
1726//    // Example sending a request using the GetDeviceRequest method.
1727//    req, resp := client.GetDeviceRequest(params)
1728//
1729//    err := req.Send()
1730//    if err == nil { // resp is now filled
1731//        fmt.Println(resp)
1732//    }
1733//
1734// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevice
1735func (c *DeviceFarm) GetDeviceRequest(input *GetDeviceInput) (req *request.Request, output *GetDeviceOutput) {
1736	op := &request.Operation{
1737		Name:       opGetDevice,
1738		HTTPMethod: "POST",
1739		HTTPPath:   "/",
1740	}
1741
1742	if input == nil {
1743		input = &GetDeviceInput{}
1744	}
1745
1746	output = &GetDeviceOutput{}
1747	req = c.newRequest(op, input, output)
1748	return
1749}
1750
1751// GetDevice API operation for AWS Device Farm.
1752//
1753// Gets information about a unique device type.
1754//
1755// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1756// with awserr.Error's Code and Message methods to get detailed information about
1757// the error.
1758//
1759// See the AWS API reference guide for AWS Device Farm's
1760// API operation GetDevice for usage and error information.
1761//
1762// Returned Error Types:
1763//   * ArgumentException
1764//   An invalid argument was specified.
1765//
1766//   * NotFoundException
1767//   The specified entity was not found.
1768//
1769//   * LimitExceededException
1770//   A limit was exceeded.
1771//
1772//   * ServiceAccountException
1773//   There was a problem with the service account.
1774//
1775// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevice
1776func (c *DeviceFarm) GetDevice(input *GetDeviceInput) (*GetDeviceOutput, error) {
1777	req, out := c.GetDeviceRequest(input)
1778	return out, req.Send()
1779}
1780
1781// GetDeviceWithContext is the same as GetDevice with the addition of
1782// the ability to pass a context and additional request options.
1783//
1784// See GetDevice for details on how to use this API operation.
1785//
1786// The context must be non-nil and will be used for request cancellation. If
1787// the context is nil a panic will occur. In the future the SDK may create
1788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1789// for more information on using Contexts.
1790func (c *DeviceFarm) GetDeviceWithContext(ctx aws.Context, input *GetDeviceInput, opts ...request.Option) (*GetDeviceOutput, error) {
1791	req, out := c.GetDeviceRequest(input)
1792	req.SetContext(ctx)
1793	req.ApplyOptions(opts...)
1794	return out, req.Send()
1795}
1796
1797const opGetDeviceInstance = "GetDeviceInstance"
1798
1799// GetDeviceInstanceRequest generates a "aws/request.Request" representing the
1800// client's request for the GetDeviceInstance operation. The "output" return
1801// value will be populated with the request's response once the request completes
1802// successfully.
1803//
1804// Use "Send" method on the returned Request to send the API call to the service.
1805// the "output" return value is not valid until after Send returns without error.
1806//
1807// See GetDeviceInstance for more information on using the GetDeviceInstance
1808// API call, and error handling.
1809//
1810// This method is useful when you want to inject custom logic or configuration
1811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1812//
1813//
1814//    // Example sending a request using the GetDeviceInstanceRequest method.
1815//    req, resp := client.GetDeviceInstanceRequest(params)
1816//
1817//    err := req.Send()
1818//    if err == nil { // resp is now filled
1819//        fmt.Println(resp)
1820//    }
1821//
1822// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDeviceInstance
1823func (c *DeviceFarm) GetDeviceInstanceRequest(input *GetDeviceInstanceInput) (req *request.Request, output *GetDeviceInstanceOutput) {
1824	op := &request.Operation{
1825		Name:       opGetDeviceInstance,
1826		HTTPMethod: "POST",
1827		HTTPPath:   "/",
1828	}
1829
1830	if input == nil {
1831		input = &GetDeviceInstanceInput{}
1832	}
1833
1834	output = &GetDeviceInstanceOutput{}
1835	req = c.newRequest(op, input, output)
1836	return
1837}
1838
1839// GetDeviceInstance API operation for AWS Device Farm.
1840//
1841// Returns information about a device instance that belongs to a private device
1842// fleet.
1843//
1844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1845// with awserr.Error's Code and Message methods to get detailed information about
1846// the error.
1847//
1848// See the AWS API reference guide for AWS Device Farm's
1849// API operation GetDeviceInstance for usage and error information.
1850//
1851// Returned Error Types:
1852//   * ArgumentException
1853//   An invalid argument was specified.
1854//
1855//   * NotFoundException
1856//   The specified entity was not found.
1857//
1858//   * LimitExceededException
1859//   A limit was exceeded.
1860//
1861//   * ServiceAccountException
1862//   There was a problem with the service account.
1863//
1864// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDeviceInstance
1865func (c *DeviceFarm) GetDeviceInstance(input *GetDeviceInstanceInput) (*GetDeviceInstanceOutput, error) {
1866	req, out := c.GetDeviceInstanceRequest(input)
1867	return out, req.Send()
1868}
1869
1870// GetDeviceInstanceWithContext is the same as GetDeviceInstance with the addition of
1871// the ability to pass a context and additional request options.
1872//
1873// See GetDeviceInstance for details on how to use this API operation.
1874//
1875// The context must be non-nil and will be used for request cancellation. If
1876// the context is nil a panic will occur. In the future the SDK may create
1877// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1878// for more information on using Contexts.
1879func (c *DeviceFarm) GetDeviceInstanceWithContext(ctx aws.Context, input *GetDeviceInstanceInput, opts ...request.Option) (*GetDeviceInstanceOutput, error) {
1880	req, out := c.GetDeviceInstanceRequest(input)
1881	req.SetContext(ctx)
1882	req.ApplyOptions(opts...)
1883	return out, req.Send()
1884}
1885
1886const opGetDevicePool = "GetDevicePool"
1887
1888// GetDevicePoolRequest generates a "aws/request.Request" representing the
1889// client's request for the GetDevicePool operation. The "output" return
1890// value will be populated with the request's response once the request completes
1891// successfully.
1892//
1893// Use "Send" method on the returned Request to send the API call to the service.
1894// the "output" return value is not valid until after Send returns without error.
1895//
1896// See GetDevicePool for more information on using the GetDevicePool
1897// API call, and error handling.
1898//
1899// This method is useful when you want to inject custom logic or configuration
1900// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1901//
1902//
1903//    // Example sending a request using the GetDevicePoolRequest method.
1904//    req, resp := client.GetDevicePoolRequest(params)
1905//
1906//    err := req.Send()
1907//    if err == nil { // resp is now filled
1908//        fmt.Println(resp)
1909//    }
1910//
1911// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePool
1912func (c *DeviceFarm) GetDevicePoolRequest(input *GetDevicePoolInput) (req *request.Request, output *GetDevicePoolOutput) {
1913	op := &request.Operation{
1914		Name:       opGetDevicePool,
1915		HTTPMethod: "POST",
1916		HTTPPath:   "/",
1917	}
1918
1919	if input == nil {
1920		input = &GetDevicePoolInput{}
1921	}
1922
1923	output = &GetDevicePoolOutput{}
1924	req = c.newRequest(op, input, output)
1925	return
1926}
1927
1928// GetDevicePool API operation for AWS Device Farm.
1929//
1930// Gets information about a device pool.
1931//
1932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1933// with awserr.Error's Code and Message methods to get detailed information about
1934// the error.
1935//
1936// See the AWS API reference guide for AWS Device Farm's
1937// API operation GetDevicePool for usage and error information.
1938//
1939// Returned Error Types:
1940//   * ArgumentException
1941//   An invalid argument was specified.
1942//
1943//   * NotFoundException
1944//   The specified entity was not found.
1945//
1946//   * LimitExceededException
1947//   A limit was exceeded.
1948//
1949//   * ServiceAccountException
1950//   There was a problem with the service account.
1951//
1952// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePool
1953func (c *DeviceFarm) GetDevicePool(input *GetDevicePoolInput) (*GetDevicePoolOutput, error) {
1954	req, out := c.GetDevicePoolRequest(input)
1955	return out, req.Send()
1956}
1957
1958// GetDevicePoolWithContext is the same as GetDevicePool with the addition of
1959// the ability to pass a context and additional request options.
1960//
1961// See GetDevicePool for details on how to use this API operation.
1962//
1963// The context must be non-nil and will be used for request cancellation. If
1964// the context is nil a panic will occur. In the future the SDK may create
1965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1966// for more information on using Contexts.
1967func (c *DeviceFarm) GetDevicePoolWithContext(ctx aws.Context, input *GetDevicePoolInput, opts ...request.Option) (*GetDevicePoolOutput, error) {
1968	req, out := c.GetDevicePoolRequest(input)
1969	req.SetContext(ctx)
1970	req.ApplyOptions(opts...)
1971	return out, req.Send()
1972}
1973
1974const opGetDevicePoolCompatibility = "GetDevicePoolCompatibility"
1975
1976// GetDevicePoolCompatibilityRequest generates a "aws/request.Request" representing the
1977// client's request for the GetDevicePoolCompatibility operation. The "output" return
1978// value will be populated with the request's response once the request completes
1979// successfully.
1980//
1981// Use "Send" method on the returned Request to send the API call to the service.
1982// the "output" return value is not valid until after Send returns without error.
1983//
1984// See GetDevicePoolCompatibility for more information on using the GetDevicePoolCompatibility
1985// API call, and error handling.
1986//
1987// This method is useful when you want to inject custom logic or configuration
1988// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1989//
1990//
1991//    // Example sending a request using the GetDevicePoolCompatibilityRequest method.
1992//    req, resp := client.GetDevicePoolCompatibilityRequest(params)
1993//
1994//    err := req.Send()
1995//    if err == nil { // resp is now filled
1996//        fmt.Println(resp)
1997//    }
1998//
1999// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolCompatibility
2000func (c *DeviceFarm) GetDevicePoolCompatibilityRequest(input *GetDevicePoolCompatibilityInput) (req *request.Request, output *GetDevicePoolCompatibilityOutput) {
2001	op := &request.Operation{
2002		Name:       opGetDevicePoolCompatibility,
2003		HTTPMethod: "POST",
2004		HTTPPath:   "/",
2005	}
2006
2007	if input == nil {
2008		input = &GetDevicePoolCompatibilityInput{}
2009	}
2010
2011	output = &GetDevicePoolCompatibilityOutput{}
2012	req = c.newRequest(op, input, output)
2013	return
2014}
2015
2016// GetDevicePoolCompatibility API operation for AWS Device Farm.
2017//
2018// Gets information about compatibility with a device pool.
2019//
2020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2021// with awserr.Error's Code and Message methods to get detailed information about
2022// the error.
2023//
2024// See the AWS API reference guide for AWS Device Farm's
2025// API operation GetDevicePoolCompatibility for usage and error information.
2026//
2027// Returned Error Types:
2028//   * ArgumentException
2029//   An invalid argument was specified.
2030//
2031//   * NotFoundException
2032//   The specified entity was not found.
2033//
2034//   * LimitExceededException
2035//   A limit was exceeded.
2036//
2037//   * ServiceAccountException
2038//   There was a problem with the service account.
2039//
2040// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolCompatibility
2041func (c *DeviceFarm) GetDevicePoolCompatibility(input *GetDevicePoolCompatibilityInput) (*GetDevicePoolCompatibilityOutput, error) {
2042	req, out := c.GetDevicePoolCompatibilityRequest(input)
2043	return out, req.Send()
2044}
2045
2046// GetDevicePoolCompatibilityWithContext is the same as GetDevicePoolCompatibility with the addition of
2047// the ability to pass a context and additional request options.
2048//
2049// See GetDevicePoolCompatibility for details on how to use this API operation.
2050//
2051// The context must be non-nil and will be used for request cancellation. If
2052// the context is nil a panic will occur. In the future the SDK may create
2053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2054// for more information on using Contexts.
2055func (c *DeviceFarm) GetDevicePoolCompatibilityWithContext(ctx aws.Context, input *GetDevicePoolCompatibilityInput, opts ...request.Option) (*GetDevicePoolCompatibilityOutput, error) {
2056	req, out := c.GetDevicePoolCompatibilityRequest(input)
2057	req.SetContext(ctx)
2058	req.ApplyOptions(opts...)
2059	return out, req.Send()
2060}
2061
2062const opGetInstanceProfile = "GetInstanceProfile"
2063
2064// GetInstanceProfileRequest generates a "aws/request.Request" representing the
2065// client's request for the GetInstanceProfile operation. The "output" return
2066// value will be populated with the request's response once the request completes
2067// successfully.
2068//
2069// Use "Send" method on the returned Request to send the API call to the service.
2070// the "output" return value is not valid until after Send returns without error.
2071//
2072// See GetInstanceProfile for more information on using the GetInstanceProfile
2073// API call, and error handling.
2074//
2075// This method is useful when you want to inject custom logic or configuration
2076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2077//
2078//
2079//    // Example sending a request using the GetInstanceProfileRequest method.
2080//    req, resp := client.GetInstanceProfileRequest(params)
2081//
2082//    err := req.Send()
2083//    if err == nil { // resp is now filled
2084//        fmt.Println(resp)
2085//    }
2086//
2087// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetInstanceProfile
2088func (c *DeviceFarm) GetInstanceProfileRequest(input *GetInstanceProfileInput) (req *request.Request, output *GetInstanceProfileOutput) {
2089	op := &request.Operation{
2090		Name:       opGetInstanceProfile,
2091		HTTPMethod: "POST",
2092		HTTPPath:   "/",
2093	}
2094
2095	if input == nil {
2096		input = &GetInstanceProfileInput{}
2097	}
2098
2099	output = &GetInstanceProfileOutput{}
2100	req = c.newRequest(op, input, output)
2101	return
2102}
2103
2104// GetInstanceProfile API operation for AWS Device Farm.
2105//
2106// Returns information about the specified instance profile.
2107//
2108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2109// with awserr.Error's Code and Message methods to get detailed information about
2110// the error.
2111//
2112// See the AWS API reference guide for AWS Device Farm's
2113// API operation GetInstanceProfile for usage and error information.
2114//
2115// Returned Error Types:
2116//   * ArgumentException
2117//   An invalid argument was specified.
2118//
2119//   * NotFoundException
2120//   The specified entity was not found.
2121//
2122//   * LimitExceededException
2123//   A limit was exceeded.
2124//
2125//   * ServiceAccountException
2126//   There was a problem with the service account.
2127//
2128// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetInstanceProfile
2129func (c *DeviceFarm) GetInstanceProfile(input *GetInstanceProfileInput) (*GetInstanceProfileOutput, error) {
2130	req, out := c.GetInstanceProfileRequest(input)
2131	return out, req.Send()
2132}
2133
2134// GetInstanceProfileWithContext is the same as GetInstanceProfile with the addition of
2135// the ability to pass a context and additional request options.
2136//
2137// See GetInstanceProfile for details on how to use this API operation.
2138//
2139// The context must be non-nil and will be used for request cancellation. If
2140// the context is nil a panic will occur. In the future the SDK may create
2141// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2142// for more information on using Contexts.
2143func (c *DeviceFarm) GetInstanceProfileWithContext(ctx aws.Context, input *GetInstanceProfileInput, opts ...request.Option) (*GetInstanceProfileOutput, error) {
2144	req, out := c.GetInstanceProfileRequest(input)
2145	req.SetContext(ctx)
2146	req.ApplyOptions(opts...)
2147	return out, req.Send()
2148}
2149
2150const opGetJob = "GetJob"
2151
2152// GetJobRequest generates a "aws/request.Request" representing the
2153// client's request for the GetJob operation. The "output" return
2154// value will be populated with the request's response once the request completes
2155// successfully.
2156//
2157// Use "Send" method on the returned Request to send the API call to the service.
2158// the "output" return value is not valid until after Send returns without error.
2159//
2160// See GetJob for more information on using the GetJob
2161// API call, and error handling.
2162//
2163// This method is useful when you want to inject custom logic or configuration
2164// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2165//
2166//
2167//    // Example sending a request using the GetJobRequest method.
2168//    req, resp := client.GetJobRequest(params)
2169//
2170//    err := req.Send()
2171//    if err == nil { // resp is now filled
2172//        fmt.Println(resp)
2173//    }
2174//
2175// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJob
2176func (c *DeviceFarm) GetJobRequest(input *GetJobInput) (req *request.Request, output *GetJobOutput) {
2177	op := &request.Operation{
2178		Name:       opGetJob,
2179		HTTPMethod: "POST",
2180		HTTPPath:   "/",
2181	}
2182
2183	if input == nil {
2184		input = &GetJobInput{}
2185	}
2186
2187	output = &GetJobOutput{}
2188	req = c.newRequest(op, input, output)
2189	return
2190}
2191
2192// GetJob API operation for AWS Device Farm.
2193//
2194// Gets information about a job.
2195//
2196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2197// with awserr.Error's Code and Message methods to get detailed information about
2198// the error.
2199//
2200// See the AWS API reference guide for AWS Device Farm's
2201// API operation GetJob for usage and error information.
2202//
2203// Returned Error Types:
2204//   * ArgumentException
2205//   An invalid argument was specified.
2206//
2207//   * NotFoundException
2208//   The specified entity was not found.
2209//
2210//   * LimitExceededException
2211//   A limit was exceeded.
2212//
2213//   * ServiceAccountException
2214//   There was a problem with the service account.
2215//
2216// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJob
2217func (c *DeviceFarm) GetJob(input *GetJobInput) (*GetJobOutput, error) {
2218	req, out := c.GetJobRequest(input)
2219	return out, req.Send()
2220}
2221
2222// GetJobWithContext is the same as GetJob with the addition of
2223// the ability to pass a context and additional request options.
2224//
2225// See GetJob for details on how to use this API operation.
2226//
2227// The context must be non-nil and will be used for request cancellation. If
2228// the context is nil a panic will occur. In the future the SDK may create
2229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2230// for more information on using Contexts.
2231func (c *DeviceFarm) GetJobWithContext(ctx aws.Context, input *GetJobInput, opts ...request.Option) (*GetJobOutput, error) {
2232	req, out := c.GetJobRequest(input)
2233	req.SetContext(ctx)
2234	req.ApplyOptions(opts...)
2235	return out, req.Send()
2236}
2237
2238const opGetNetworkProfile = "GetNetworkProfile"
2239
2240// GetNetworkProfileRequest generates a "aws/request.Request" representing the
2241// client's request for the GetNetworkProfile operation. The "output" return
2242// value will be populated with the request's response once the request completes
2243// successfully.
2244//
2245// Use "Send" method on the returned Request to send the API call to the service.
2246// the "output" return value is not valid until after Send returns without error.
2247//
2248// See GetNetworkProfile for more information on using the GetNetworkProfile
2249// API call, and error handling.
2250//
2251// This method is useful when you want to inject custom logic or configuration
2252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2253//
2254//
2255//    // Example sending a request using the GetNetworkProfileRequest method.
2256//    req, resp := client.GetNetworkProfileRequest(params)
2257//
2258//    err := req.Send()
2259//    if err == nil { // resp is now filled
2260//        fmt.Println(resp)
2261//    }
2262//
2263// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetNetworkProfile
2264func (c *DeviceFarm) GetNetworkProfileRequest(input *GetNetworkProfileInput) (req *request.Request, output *GetNetworkProfileOutput) {
2265	op := &request.Operation{
2266		Name:       opGetNetworkProfile,
2267		HTTPMethod: "POST",
2268		HTTPPath:   "/",
2269	}
2270
2271	if input == nil {
2272		input = &GetNetworkProfileInput{}
2273	}
2274
2275	output = &GetNetworkProfileOutput{}
2276	req = c.newRequest(op, input, output)
2277	return
2278}
2279
2280// GetNetworkProfile API operation for AWS Device Farm.
2281//
2282// Returns information about a network profile.
2283//
2284// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2285// with awserr.Error's Code and Message methods to get detailed information about
2286// the error.
2287//
2288// See the AWS API reference guide for AWS Device Farm's
2289// API operation GetNetworkProfile for usage and error information.
2290//
2291// Returned Error Types:
2292//   * ArgumentException
2293//   An invalid argument was specified.
2294//
2295//   * NotFoundException
2296//   The specified entity was not found.
2297//
2298//   * LimitExceededException
2299//   A limit was exceeded.
2300//
2301//   * ServiceAccountException
2302//   There was a problem with the service account.
2303//
2304// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetNetworkProfile
2305func (c *DeviceFarm) GetNetworkProfile(input *GetNetworkProfileInput) (*GetNetworkProfileOutput, error) {
2306	req, out := c.GetNetworkProfileRequest(input)
2307	return out, req.Send()
2308}
2309
2310// GetNetworkProfileWithContext is the same as GetNetworkProfile with the addition of
2311// the ability to pass a context and additional request options.
2312//
2313// See GetNetworkProfile for details on how to use this API operation.
2314//
2315// The context must be non-nil and will be used for request cancellation. If
2316// the context is nil a panic will occur. In the future the SDK may create
2317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2318// for more information on using Contexts.
2319func (c *DeviceFarm) GetNetworkProfileWithContext(ctx aws.Context, input *GetNetworkProfileInput, opts ...request.Option) (*GetNetworkProfileOutput, error) {
2320	req, out := c.GetNetworkProfileRequest(input)
2321	req.SetContext(ctx)
2322	req.ApplyOptions(opts...)
2323	return out, req.Send()
2324}
2325
2326const opGetOfferingStatus = "GetOfferingStatus"
2327
2328// GetOfferingStatusRequest generates a "aws/request.Request" representing the
2329// client's request for the GetOfferingStatus operation. The "output" return
2330// value will be populated with the request's response once the request completes
2331// successfully.
2332//
2333// Use "Send" method on the returned Request to send the API call to the service.
2334// the "output" return value is not valid until after Send returns without error.
2335//
2336// See GetOfferingStatus for more information on using the GetOfferingStatus
2337// API call, and error handling.
2338//
2339// This method is useful when you want to inject custom logic or configuration
2340// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2341//
2342//
2343//    // Example sending a request using the GetOfferingStatusRequest method.
2344//    req, resp := client.GetOfferingStatusRequest(params)
2345//
2346//    err := req.Send()
2347//    if err == nil { // resp is now filled
2348//        fmt.Println(resp)
2349//    }
2350//
2351// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetOfferingStatus
2352func (c *DeviceFarm) GetOfferingStatusRequest(input *GetOfferingStatusInput) (req *request.Request, output *GetOfferingStatusOutput) {
2353	op := &request.Operation{
2354		Name:       opGetOfferingStatus,
2355		HTTPMethod: "POST",
2356		HTTPPath:   "/",
2357		Paginator: &request.Paginator{
2358			InputTokens:     []string{"nextToken"},
2359			OutputTokens:    []string{"nextToken"},
2360			LimitToken:      "",
2361			TruncationToken: "",
2362		},
2363	}
2364
2365	if input == nil {
2366		input = &GetOfferingStatusInput{}
2367	}
2368
2369	output = &GetOfferingStatusOutput{}
2370	req = c.newRequest(op, input, output)
2371	return
2372}
2373
2374// GetOfferingStatus API operation for AWS Device Farm.
2375//
2376// Gets the current status and future status of all offerings purchased by an
2377// AWS account. The response indicates how many offerings are currently available
2378// and the offerings that will be available in the next period. The API returns
2379// a NotEligible error if the user is not permitted to invoke the operation.
2380// If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com
2381// (mailto:aws-devicefarm-support@amazon.com).
2382//
2383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2384// with awserr.Error's Code and Message methods to get detailed information about
2385// the error.
2386//
2387// See the AWS API reference guide for AWS Device Farm's
2388// API operation GetOfferingStatus for usage and error information.
2389//
2390// Returned Error Types:
2391//   * ArgumentException
2392//   An invalid argument was specified.
2393//
2394//   * NotFoundException
2395//   The specified entity was not found.
2396//
2397//   * NotEligibleException
2398//   Exception gets thrown when a user is not eligible to perform the specified
2399//   transaction.
2400//
2401//   * LimitExceededException
2402//   A limit was exceeded.
2403//
2404//   * ServiceAccountException
2405//   There was a problem with the service account.
2406//
2407// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetOfferingStatus
2408func (c *DeviceFarm) GetOfferingStatus(input *GetOfferingStatusInput) (*GetOfferingStatusOutput, error) {
2409	req, out := c.GetOfferingStatusRequest(input)
2410	return out, req.Send()
2411}
2412
2413// GetOfferingStatusWithContext is the same as GetOfferingStatus with the addition of
2414// the ability to pass a context and additional request options.
2415//
2416// See GetOfferingStatus for details on how to use this API operation.
2417//
2418// The context must be non-nil and will be used for request cancellation. If
2419// the context is nil a panic will occur. In the future the SDK may create
2420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2421// for more information on using Contexts.
2422func (c *DeviceFarm) GetOfferingStatusWithContext(ctx aws.Context, input *GetOfferingStatusInput, opts ...request.Option) (*GetOfferingStatusOutput, error) {
2423	req, out := c.GetOfferingStatusRequest(input)
2424	req.SetContext(ctx)
2425	req.ApplyOptions(opts...)
2426	return out, req.Send()
2427}
2428
2429// GetOfferingStatusPages iterates over the pages of a GetOfferingStatus operation,
2430// calling the "fn" function with the response data for each page. To stop
2431// iterating, return false from the fn function.
2432//
2433// See GetOfferingStatus method for more information on how to use this operation.
2434//
2435// Note: This operation can generate multiple requests to a service.
2436//
2437//    // Example iterating over at most 3 pages of a GetOfferingStatus operation.
2438//    pageNum := 0
2439//    err := client.GetOfferingStatusPages(params,
2440//        func(page *devicefarm.GetOfferingStatusOutput, lastPage bool) bool {
2441//            pageNum++
2442//            fmt.Println(page)
2443//            return pageNum <= 3
2444//        })
2445//
2446func (c *DeviceFarm) GetOfferingStatusPages(input *GetOfferingStatusInput, fn func(*GetOfferingStatusOutput, bool) bool) error {
2447	return c.GetOfferingStatusPagesWithContext(aws.BackgroundContext(), input, fn)
2448}
2449
2450// GetOfferingStatusPagesWithContext same as GetOfferingStatusPages except
2451// it takes a Context and allows setting request options on the pages.
2452//
2453// The context must be non-nil and will be used for request cancellation. If
2454// the context is nil a panic will occur. In the future the SDK may create
2455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2456// for more information on using Contexts.
2457func (c *DeviceFarm) GetOfferingStatusPagesWithContext(ctx aws.Context, input *GetOfferingStatusInput, fn func(*GetOfferingStatusOutput, bool) bool, opts ...request.Option) error {
2458	p := request.Pagination{
2459		NewRequest: func() (*request.Request, error) {
2460			var inCpy *GetOfferingStatusInput
2461			if input != nil {
2462				tmp := *input
2463				inCpy = &tmp
2464			}
2465			req, _ := c.GetOfferingStatusRequest(inCpy)
2466			req.SetContext(ctx)
2467			req.ApplyOptions(opts...)
2468			return req, nil
2469		},
2470	}
2471
2472	for p.Next() {
2473		if !fn(p.Page().(*GetOfferingStatusOutput), !p.HasNextPage()) {
2474			break
2475		}
2476	}
2477
2478	return p.Err()
2479}
2480
2481const opGetProject = "GetProject"
2482
2483// GetProjectRequest generates a "aws/request.Request" representing the
2484// client's request for the GetProject operation. The "output" return
2485// value will be populated with the request's response once the request completes
2486// successfully.
2487//
2488// Use "Send" method on the returned Request to send the API call to the service.
2489// the "output" return value is not valid until after Send returns without error.
2490//
2491// See GetProject for more information on using the GetProject
2492// API call, and error handling.
2493//
2494// This method is useful when you want to inject custom logic or configuration
2495// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2496//
2497//
2498//    // Example sending a request using the GetProjectRequest method.
2499//    req, resp := client.GetProjectRequest(params)
2500//
2501//    err := req.Send()
2502//    if err == nil { // resp is now filled
2503//        fmt.Println(resp)
2504//    }
2505//
2506// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetProject
2507func (c *DeviceFarm) GetProjectRequest(input *GetProjectInput) (req *request.Request, output *GetProjectOutput) {
2508	op := &request.Operation{
2509		Name:       opGetProject,
2510		HTTPMethod: "POST",
2511		HTTPPath:   "/",
2512	}
2513
2514	if input == nil {
2515		input = &GetProjectInput{}
2516	}
2517
2518	output = &GetProjectOutput{}
2519	req = c.newRequest(op, input, output)
2520	return
2521}
2522
2523// GetProject API operation for AWS Device Farm.
2524//
2525// Gets information about a project.
2526//
2527// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2528// with awserr.Error's Code and Message methods to get detailed information about
2529// the error.
2530//
2531// See the AWS API reference guide for AWS Device Farm's
2532// API operation GetProject for usage and error information.
2533//
2534// Returned Error Types:
2535//   * ArgumentException
2536//   An invalid argument was specified.
2537//
2538//   * NotFoundException
2539//   The specified entity was not found.
2540//
2541//   * LimitExceededException
2542//   A limit was exceeded.
2543//
2544//   * ServiceAccountException
2545//   There was a problem with the service account.
2546//
2547// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetProject
2548func (c *DeviceFarm) GetProject(input *GetProjectInput) (*GetProjectOutput, error) {
2549	req, out := c.GetProjectRequest(input)
2550	return out, req.Send()
2551}
2552
2553// GetProjectWithContext is the same as GetProject with the addition of
2554// the ability to pass a context and additional request options.
2555//
2556// See GetProject for details on how to use this API operation.
2557//
2558// The context must be non-nil and will be used for request cancellation. If
2559// the context is nil a panic will occur. In the future the SDK may create
2560// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2561// for more information on using Contexts.
2562func (c *DeviceFarm) GetProjectWithContext(ctx aws.Context, input *GetProjectInput, opts ...request.Option) (*GetProjectOutput, error) {
2563	req, out := c.GetProjectRequest(input)
2564	req.SetContext(ctx)
2565	req.ApplyOptions(opts...)
2566	return out, req.Send()
2567}
2568
2569const opGetRemoteAccessSession = "GetRemoteAccessSession"
2570
2571// GetRemoteAccessSessionRequest generates a "aws/request.Request" representing the
2572// client's request for the GetRemoteAccessSession operation. The "output" return
2573// value will be populated with the request's response once the request completes
2574// successfully.
2575//
2576// Use "Send" method on the returned Request to send the API call to the service.
2577// the "output" return value is not valid until after Send returns without error.
2578//
2579// See GetRemoteAccessSession for more information on using the GetRemoteAccessSession
2580// API call, and error handling.
2581//
2582// This method is useful when you want to inject custom logic or configuration
2583// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2584//
2585//
2586//    // Example sending a request using the GetRemoteAccessSessionRequest method.
2587//    req, resp := client.GetRemoteAccessSessionRequest(params)
2588//
2589//    err := req.Send()
2590//    if err == nil { // resp is now filled
2591//        fmt.Println(resp)
2592//    }
2593//
2594// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRemoteAccessSession
2595func (c *DeviceFarm) GetRemoteAccessSessionRequest(input *GetRemoteAccessSessionInput) (req *request.Request, output *GetRemoteAccessSessionOutput) {
2596	op := &request.Operation{
2597		Name:       opGetRemoteAccessSession,
2598		HTTPMethod: "POST",
2599		HTTPPath:   "/",
2600	}
2601
2602	if input == nil {
2603		input = &GetRemoteAccessSessionInput{}
2604	}
2605
2606	output = &GetRemoteAccessSessionOutput{}
2607	req = c.newRequest(op, input, output)
2608	return
2609}
2610
2611// GetRemoteAccessSession API operation for AWS Device Farm.
2612//
2613// Returns a link to a currently running remote access session.
2614//
2615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2616// with awserr.Error's Code and Message methods to get detailed information about
2617// the error.
2618//
2619// See the AWS API reference guide for AWS Device Farm's
2620// API operation GetRemoteAccessSession for usage and error information.
2621//
2622// Returned Error Types:
2623//   * ArgumentException
2624//   An invalid argument was specified.
2625//
2626//   * NotFoundException
2627//   The specified entity was not found.
2628//
2629//   * LimitExceededException
2630//   A limit was exceeded.
2631//
2632//   * ServiceAccountException
2633//   There was a problem with the service account.
2634//
2635// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRemoteAccessSession
2636func (c *DeviceFarm) GetRemoteAccessSession(input *GetRemoteAccessSessionInput) (*GetRemoteAccessSessionOutput, error) {
2637	req, out := c.GetRemoteAccessSessionRequest(input)
2638	return out, req.Send()
2639}
2640
2641// GetRemoteAccessSessionWithContext is the same as GetRemoteAccessSession with the addition of
2642// the ability to pass a context and additional request options.
2643//
2644// See GetRemoteAccessSession for details on how to use this API operation.
2645//
2646// The context must be non-nil and will be used for request cancellation. If
2647// the context is nil a panic will occur. In the future the SDK may create
2648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2649// for more information on using Contexts.
2650func (c *DeviceFarm) GetRemoteAccessSessionWithContext(ctx aws.Context, input *GetRemoteAccessSessionInput, opts ...request.Option) (*GetRemoteAccessSessionOutput, error) {
2651	req, out := c.GetRemoteAccessSessionRequest(input)
2652	req.SetContext(ctx)
2653	req.ApplyOptions(opts...)
2654	return out, req.Send()
2655}
2656
2657const opGetRun = "GetRun"
2658
2659// GetRunRequest generates a "aws/request.Request" representing the
2660// client's request for the GetRun operation. The "output" return
2661// value will be populated with the request's response once the request completes
2662// successfully.
2663//
2664// Use "Send" method on the returned Request to send the API call to the service.
2665// the "output" return value is not valid until after Send returns without error.
2666//
2667// See GetRun for more information on using the GetRun
2668// API call, and error handling.
2669//
2670// This method is useful when you want to inject custom logic or configuration
2671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2672//
2673//
2674//    // Example sending a request using the GetRunRequest method.
2675//    req, resp := client.GetRunRequest(params)
2676//
2677//    err := req.Send()
2678//    if err == nil { // resp is now filled
2679//        fmt.Println(resp)
2680//    }
2681//
2682// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRun
2683func (c *DeviceFarm) GetRunRequest(input *GetRunInput) (req *request.Request, output *GetRunOutput) {
2684	op := &request.Operation{
2685		Name:       opGetRun,
2686		HTTPMethod: "POST",
2687		HTTPPath:   "/",
2688	}
2689
2690	if input == nil {
2691		input = &GetRunInput{}
2692	}
2693
2694	output = &GetRunOutput{}
2695	req = c.newRequest(op, input, output)
2696	return
2697}
2698
2699// GetRun API operation for AWS Device Farm.
2700//
2701// Gets information about a run.
2702//
2703// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2704// with awserr.Error's Code and Message methods to get detailed information about
2705// the error.
2706//
2707// See the AWS API reference guide for AWS Device Farm's
2708// API operation GetRun for usage and error information.
2709//
2710// Returned Error Types:
2711//   * ArgumentException
2712//   An invalid argument was specified.
2713//
2714//   * NotFoundException
2715//   The specified entity was not found.
2716//
2717//   * LimitExceededException
2718//   A limit was exceeded.
2719//
2720//   * ServiceAccountException
2721//   There was a problem with the service account.
2722//
2723// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRun
2724func (c *DeviceFarm) GetRun(input *GetRunInput) (*GetRunOutput, error) {
2725	req, out := c.GetRunRequest(input)
2726	return out, req.Send()
2727}
2728
2729// GetRunWithContext is the same as GetRun with the addition of
2730// the ability to pass a context and additional request options.
2731//
2732// See GetRun for details on how to use this API operation.
2733//
2734// The context must be non-nil and will be used for request cancellation. If
2735// the context is nil a panic will occur. In the future the SDK may create
2736// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2737// for more information on using Contexts.
2738func (c *DeviceFarm) GetRunWithContext(ctx aws.Context, input *GetRunInput, opts ...request.Option) (*GetRunOutput, error) {
2739	req, out := c.GetRunRequest(input)
2740	req.SetContext(ctx)
2741	req.ApplyOptions(opts...)
2742	return out, req.Send()
2743}
2744
2745const opGetSuite = "GetSuite"
2746
2747// GetSuiteRequest generates a "aws/request.Request" representing the
2748// client's request for the GetSuite operation. The "output" return
2749// value will be populated with the request's response once the request completes
2750// successfully.
2751//
2752// Use "Send" method on the returned Request to send the API call to the service.
2753// the "output" return value is not valid until after Send returns without error.
2754//
2755// See GetSuite for more information on using the GetSuite
2756// API call, and error handling.
2757//
2758// This method is useful when you want to inject custom logic or configuration
2759// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2760//
2761//
2762//    // Example sending a request using the GetSuiteRequest method.
2763//    req, resp := client.GetSuiteRequest(params)
2764//
2765//    err := req.Send()
2766//    if err == nil { // resp is now filled
2767//        fmt.Println(resp)
2768//    }
2769//
2770// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetSuite
2771func (c *DeviceFarm) GetSuiteRequest(input *GetSuiteInput) (req *request.Request, output *GetSuiteOutput) {
2772	op := &request.Operation{
2773		Name:       opGetSuite,
2774		HTTPMethod: "POST",
2775		HTTPPath:   "/",
2776	}
2777
2778	if input == nil {
2779		input = &GetSuiteInput{}
2780	}
2781
2782	output = &GetSuiteOutput{}
2783	req = c.newRequest(op, input, output)
2784	return
2785}
2786
2787// GetSuite API operation for AWS Device Farm.
2788//
2789// Gets information about a suite.
2790//
2791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2792// with awserr.Error's Code and Message methods to get detailed information about
2793// the error.
2794//
2795// See the AWS API reference guide for AWS Device Farm's
2796// API operation GetSuite for usage and error information.
2797//
2798// Returned Error Types:
2799//   * ArgumentException
2800//   An invalid argument was specified.
2801//
2802//   * NotFoundException
2803//   The specified entity was not found.
2804//
2805//   * LimitExceededException
2806//   A limit was exceeded.
2807//
2808//   * ServiceAccountException
2809//   There was a problem with the service account.
2810//
2811// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetSuite
2812func (c *DeviceFarm) GetSuite(input *GetSuiteInput) (*GetSuiteOutput, error) {
2813	req, out := c.GetSuiteRequest(input)
2814	return out, req.Send()
2815}
2816
2817// GetSuiteWithContext is the same as GetSuite with the addition of
2818// the ability to pass a context and additional request options.
2819//
2820// See GetSuite for details on how to use this API operation.
2821//
2822// The context must be non-nil and will be used for request cancellation. If
2823// the context is nil a panic will occur. In the future the SDK may create
2824// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2825// for more information on using Contexts.
2826func (c *DeviceFarm) GetSuiteWithContext(ctx aws.Context, input *GetSuiteInput, opts ...request.Option) (*GetSuiteOutput, error) {
2827	req, out := c.GetSuiteRequest(input)
2828	req.SetContext(ctx)
2829	req.ApplyOptions(opts...)
2830	return out, req.Send()
2831}
2832
2833const opGetTest = "GetTest"
2834
2835// GetTestRequest generates a "aws/request.Request" representing the
2836// client's request for the GetTest operation. The "output" return
2837// value will be populated with the request's response once the request completes
2838// successfully.
2839//
2840// Use "Send" method on the returned Request to send the API call to the service.
2841// the "output" return value is not valid until after Send returns without error.
2842//
2843// See GetTest for more information on using the GetTest
2844// API call, and error handling.
2845//
2846// This method is useful when you want to inject custom logic or configuration
2847// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2848//
2849//
2850//    // Example sending a request using the GetTestRequest method.
2851//    req, resp := client.GetTestRequest(params)
2852//
2853//    err := req.Send()
2854//    if err == nil { // resp is now filled
2855//        fmt.Println(resp)
2856//    }
2857//
2858// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTest
2859func (c *DeviceFarm) GetTestRequest(input *GetTestInput) (req *request.Request, output *GetTestOutput) {
2860	op := &request.Operation{
2861		Name:       opGetTest,
2862		HTTPMethod: "POST",
2863		HTTPPath:   "/",
2864	}
2865
2866	if input == nil {
2867		input = &GetTestInput{}
2868	}
2869
2870	output = &GetTestOutput{}
2871	req = c.newRequest(op, input, output)
2872	return
2873}
2874
2875// GetTest API operation for AWS Device Farm.
2876//
2877// Gets information about a test.
2878//
2879// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2880// with awserr.Error's Code and Message methods to get detailed information about
2881// the error.
2882//
2883// See the AWS API reference guide for AWS Device Farm's
2884// API operation GetTest for usage and error information.
2885//
2886// Returned Error Types:
2887//   * ArgumentException
2888//   An invalid argument was specified.
2889//
2890//   * NotFoundException
2891//   The specified entity was not found.
2892//
2893//   * LimitExceededException
2894//   A limit was exceeded.
2895//
2896//   * ServiceAccountException
2897//   There was a problem with the service account.
2898//
2899// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTest
2900func (c *DeviceFarm) GetTest(input *GetTestInput) (*GetTestOutput, error) {
2901	req, out := c.GetTestRequest(input)
2902	return out, req.Send()
2903}
2904
2905// GetTestWithContext is the same as GetTest with the addition of
2906// the ability to pass a context and additional request options.
2907//
2908// See GetTest for details on how to use this API operation.
2909//
2910// The context must be non-nil and will be used for request cancellation. If
2911// the context is nil a panic will occur. In the future the SDK may create
2912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2913// for more information on using Contexts.
2914func (c *DeviceFarm) GetTestWithContext(ctx aws.Context, input *GetTestInput, opts ...request.Option) (*GetTestOutput, error) {
2915	req, out := c.GetTestRequest(input)
2916	req.SetContext(ctx)
2917	req.ApplyOptions(opts...)
2918	return out, req.Send()
2919}
2920
2921const opGetTestGridProject = "GetTestGridProject"
2922
2923// GetTestGridProjectRequest generates a "aws/request.Request" representing the
2924// client's request for the GetTestGridProject operation. The "output" return
2925// value will be populated with the request's response once the request completes
2926// successfully.
2927//
2928// Use "Send" method on the returned Request to send the API call to the service.
2929// the "output" return value is not valid until after Send returns without error.
2930//
2931// See GetTestGridProject for more information on using the GetTestGridProject
2932// API call, and error handling.
2933//
2934// This method is useful when you want to inject custom logic or configuration
2935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2936//
2937//
2938//    // Example sending a request using the GetTestGridProjectRequest method.
2939//    req, resp := client.GetTestGridProjectRequest(params)
2940//
2941//    err := req.Send()
2942//    if err == nil { // resp is now filled
2943//        fmt.Println(resp)
2944//    }
2945//
2946// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridProject
2947func (c *DeviceFarm) GetTestGridProjectRequest(input *GetTestGridProjectInput) (req *request.Request, output *GetTestGridProjectOutput) {
2948	op := &request.Operation{
2949		Name:       opGetTestGridProject,
2950		HTTPMethod: "POST",
2951		HTTPPath:   "/",
2952	}
2953
2954	if input == nil {
2955		input = &GetTestGridProjectInput{}
2956	}
2957
2958	output = &GetTestGridProjectOutput{}
2959	req = c.newRequest(op, input, output)
2960	return
2961}
2962
2963// GetTestGridProject API operation for AWS Device Farm.
2964//
2965// Retrieves information about a Selenium testing project.
2966//
2967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2968// with awserr.Error's Code and Message methods to get detailed information about
2969// the error.
2970//
2971// See the AWS API reference guide for AWS Device Farm's
2972// API operation GetTestGridProject for usage and error information.
2973//
2974// Returned Error Types:
2975//   * NotFoundException
2976//   The specified entity was not found.
2977//
2978//   * ArgumentException
2979//   An invalid argument was specified.
2980//
2981//   * InternalServiceException
2982//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
2983//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
2984//
2985// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridProject
2986func (c *DeviceFarm) GetTestGridProject(input *GetTestGridProjectInput) (*GetTestGridProjectOutput, error) {
2987	req, out := c.GetTestGridProjectRequest(input)
2988	return out, req.Send()
2989}
2990
2991// GetTestGridProjectWithContext is the same as GetTestGridProject with the addition of
2992// the ability to pass a context and additional request options.
2993//
2994// See GetTestGridProject for details on how to use this API operation.
2995//
2996// The context must be non-nil and will be used for request cancellation. If
2997// the context is nil a panic will occur. In the future the SDK may create
2998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2999// for more information on using Contexts.
3000func (c *DeviceFarm) GetTestGridProjectWithContext(ctx aws.Context, input *GetTestGridProjectInput, opts ...request.Option) (*GetTestGridProjectOutput, error) {
3001	req, out := c.GetTestGridProjectRequest(input)
3002	req.SetContext(ctx)
3003	req.ApplyOptions(opts...)
3004	return out, req.Send()
3005}
3006
3007const opGetTestGridSession = "GetTestGridSession"
3008
3009// GetTestGridSessionRequest generates a "aws/request.Request" representing the
3010// client's request for the GetTestGridSession operation. The "output" return
3011// value will be populated with the request's response once the request completes
3012// successfully.
3013//
3014// Use "Send" method on the returned Request to send the API call to the service.
3015// the "output" return value is not valid until after Send returns without error.
3016//
3017// See GetTestGridSession for more information on using the GetTestGridSession
3018// API call, and error handling.
3019//
3020// This method is useful when you want to inject custom logic or configuration
3021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3022//
3023//
3024//    // Example sending a request using the GetTestGridSessionRequest method.
3025//    req, resp := client.GetTestGridSessionRequest(params)
3026//
3027//    err := req.Send()
3028//    if err == nil { // resp is now filled
3029//        fmt.Println(resp)
3030//    }
3031//
3032// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridSession
3033func (c *DeviceFarm) GetTestGridSessionRequest(input *GetTestGridSessionInput) (req *request.Request, output *GetTestGridSessionOutput) {
3034	op := &request.Operation{
3035		Name:       opGetTestGridSession,
3036		HTTPMethod: "POST",
3037		HTTPPath:   "/",
3038	}
3039
3040	if input == nil {
3041		input = &GetTestGridSessionInput{}
3042	}
3043
3044	output = &GetTestGridSessionOutput{}
3045	req = c.newRequest(op, input, output)
3046	return
3047}
3048
3049// GetTestGridSession API operation for AWS Device Farm.
3050//
3051// A session is an instance of a browser created through a RemoteWebDriver with
3052// the URL from CreateTestGridUrlResult$url. You can use the following to look
3053// up sessions:
3054//
3055//    * The session ARN (GetTestGridSessionRequest$sessionArn).
3056//
3057//    * The project ARN and a session ID (GetTestGridSessionRequest$projectArn
3058//    and GetTestGridSessionRequest$sessionId).
3059//
3060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3061// with awserr.Error's Code and Message methods to get detailed information about
3062// the error.
3063//
3064// See the AWS API reference guide for AWS Device Farm's
3065// API operation GetTestGridSession for usage and error information.
3066//
3067// Returned Error Types:
3068//   * NotFoundException
3069//   The specified entity was not found.
3070//
3071//   * ArgumentException
3072//   An invalid argument was specified.
3073//
3074//   * InternalServiceException
3075//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
3076//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
3077//
3078// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridSession
3079func (c *DeviceFarm) GetTestGridSession(input *GetTestGridSessionInput) (*GetTestGridSessionOutput, error) {
3080	req, out := c.GetTestGridSessionRequest(input)
3081	return out, req.Send()
3082}
3083
3084// GetTestGridSessionWithContext is the same as GetTestGridSession with the addition of
3085// the ability to pass a context and additional request options.
3086//
3087// See GetTestGridSession for details on how to use this API operation.
3088//
3089// The context must be non-nil and will be used for request cancellation. If
3090// the context is nil a panic will occur. In the future the SDK may create
3091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3092// for more information on using Contexts.
3093func (c *DeviceFarm) GetTestGridSessionWithContext(ctx aws.Context, input *GetTestGridSessionInput, opts ...request.Option) (*GetTestGridSessionOutput, error) {
3094	req, out := c.GetTestGridSessionRequest(input)
3095	req.SetContext(ctx)
3096	req.ApplyOptions(opts...)
3097	return out, req.Send()
3098}
3099
3100const opGetUpload = "GetUpload"
3101
3102// GetUploadRequest generates a "aws/request.Request" representing the
3103// client's request for the GetUpload operation. The "output" return
3104// value will be populated with the request's response once the request completes
3105// successfully.
3106//
3107// Use "Send" method on the returned Request to send the API call to the service.
3108// the "output" return value is not valid until after Send returns without error.
3109//
3110// See GetUpload for more information on using the GetUpload
3111// API call, and error handling.
3112//
3113// This method is useful when you want to inject custom logic or configuration
3114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3115//
3116//
3117//    // Example sending a request using the GetUploadRequest method.
3118//    req, resp := client.GetUploadRequest(params)
3119//
3120//    err := req.Send()
3121//    if err == nil { // resp is now filled
3122//        fmt.Println(resp)
3123//    }
3124//
3125// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetUpload
3126func (c *DeviceFarm) GetUploadRequest(input *GetUploadInput) (req *request.Request, output *GetUploadOutput) {
3127	op := &request.Operation{
3128		Name:       opGetUpload,
3129		HTTPMethod: "POST",
3130		HTTPPath:   "/",
3131	}
3132
3133	if input == nil {
3134		input = &GetUploadInput{}
3135	}
3136
3137	output = &GetUploadOutput{}
3138	req = c.newRequest(op, input, output)
3139	return
3140}
3141
3142// GetUpload API operation for AWS Device Farm.
3143//
3144// Gets information about an upload.
3145//
3146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3147// with awserr.Error's Code and Message methods to get detailed information about
3148// the error.
3149//
3150// See the AWS API reference guide for AWS Device Farm's
3151// API operation GetUpload for usage and error information.
3152//
3153// Returned Error Types:
3154//   * ArgumentException
3155//   An invalid argument was specified.
3156//
3157//   * NotFoundException
3158//   The specified entity was not found.
3159//
3160//   * LimitExceededException
3161//   A limit was exceeded.
3162//
3163//   * ServiceAccountException
3164//   There was a problem with the service account.
3165//
3166// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetUpload
3167func (c *DeviceFarm) GetUpload(input *GetUploadInput) (*GetUploadOutput, error) {
3168	req, out := c.GetUploadRequest(input)
3169	return out, req.Send()
3170}
3171
3172// GetUploadWithContext is the same as GetUpload with the addition of
3173// the ability to pass a context and additional request options.
3174//
3175// See GetUpload for details on how to use this API operation.
3176//
3177// The context must be non-nil and will be used for request cancellation. If
3178// the context is nil a panic will occur. In the future the SDK may create
3179// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3180// for more information on using Contexts.
3181func (c *DeviceFarm) GetUploadWithContext(ctx aws.Context, input *GetUploadInput, opts ...request.Option) (*GetUploadOutput, error) {
3182	req, out := c.GetUploadRequest(input)
3183	req.SetContext(ctx)
3184	req.ApplyOptions(opts...)
3185	return out, req.Send()
3186}
3187
3188const opGetVPCEConfiguration = "GetVPCEConfiguration"
3189
3190// GetVPCEConfigurationRequest generates a "aws/request.Request" representing the
3191// client's request for the GetVPCEConfiguration operation. The "output" return
3192// value will be populated with the request's response once the request completes
3193// successfully.
3194//
3195// Use "Send" method on the returned Request to send the API call to the service.
3196// the "output" return value is not valid until after Send returns without error.
3197//
3198// See GetVPCEConfiguration for more information on using the GetVPCEConfiguration
3199// API call, and error handling.
3200//
3201// This method is useful when you want to inject custom logic or configuration
3202// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3203//
3204//
3205//    // Example sending a request using the GetVPCEConfigurationRequest method.
3206//    req, resp := client.GetVPCEConfigurationRequest(params)
3207//
3208//    err := req.Send()
3209//    if err == nil { // resp is now filled
3210//        fmt.Println(resp)
3211//    }
3212//
3213// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetVPCEConfiguration
3214func (c *DeviceFarm) GetVPCEConfigurationRequest(input *GetVPCEConfigurationInput) (req *request.Request, output *GetVPCEConfigurationOutput) {
3215	op := &request.Operation{
3216		Name:       opGetVPCEConfiguration,
3217		HTTPMethod: "POST",
3218		HTTPPath:   "/",
3219	}
3220
3221	if input == nil {
3222		input = &GetVPCEConfigurationInput{}
3223	}
3224
3225	output = &GetVPCEConfigurationOutput{}
3226	req = c.newRequest(op, input, output)
3227	return
3228}
3229
3230// GetVPCEConfiguration API operation for AWS Device Farm.
3231//
3232// Returns information about the configuration settings for your Amazon Virtual
3233// Private Cloud (VPC) endpoint.
3234//
3235// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3236// with awserr.Error's Code and Message methods to get detailed information about
3237// the error.
3238//
3239// See the AWS API reference guide for AWS Device Farm's
3240// API operation GetVPCEConfiguration for usage and error information.
3241//
3242// Returned Error Types:
3243//   * ArgumentException
3244//   An invalid argument was specified.
3245//
3246//   * NotFoundException
3247//   The specified entity was not found.
3248//
3249//   * ServiceAccountException
3250//   There was a problem with the service account.
3251//
3252// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetVPCEConfiguration
3253func (c *DeviceFarm) GetVPCEConfiguration(input *GetVPCEConfigurationInput) (*GetVPCEConfigurationOutput, error) {
3254	req, out := c.GetVPCEConfigurationRequest(input)
3255	return out, req.Send()
3256}
3257
3258// GetVPCEConfigurationWithContext is the same as GetVPCEConfiguration with the addition of
3259// the ability to pass a context and additional request options.
3260//
3261// See GetVPCEConfiguration for details on how to use this API operation.
3262//
3263// The context must be non-nil and will be used for request cancellation. If
3264// the context is nil a panic will occur. In the future the SDK may create
3265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3266// for more information on using Contexts.
3267func (c *DeviceFarm) GetVPCEConfigurationWithContext(ctx aws.Context, input *GetVPCEConfigurationInput, opts ...request.Option) (*GetVPCEConfigurationOutput, error) {
3268	req, out := c.GetVPCEConfigurationRequest(input)
3269	req.SetContext(ctx)
3270	req.ApplyOptions(opts...)
3271	return out, req.Send()
3272}
3273
3274const opInstallToRemoteAccessSession = "InstallToRemoteAccessSession"
3275
3276// InstallToRemoteAccessSessionRequest generates a "aws/request.Request" representing the
3277// client's request for the InstallToRemoteAccessSession operation. The "output" return
3278// value will be populated with the request's response once the request completes
3279// successfully.
3280//
3281// Use "Send" method on the returned Request to send the API call to the service.
3282// the "output" return value is not valid until after Send returns without error.
3283//
3284// See InstallToRemoteAccessSession for more information on using the InstallToRemoteAccessSession
3285// API call, and error handling.
3286//
3287// This method is useful when you want to inject custom logic or configuration
3288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3289//
3290//
3291//    // Example sending a request using the InstallToRemoteAccessSessionRequest method.
3292//    req, resp := client.InstallToRemoteAccessSessionRequest(params)
3293//
3294//    err := req.Send()
3295//    if err == nil { // resp is now filled
3296//        fmt.Println(resp)
3297//    }
3298//
3299// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/InstallToRemoteAccessSession
3300func (c *DeviceFarm) InstallToRemoteAccessSessionRequest(input *InstallToRemoteAccessSessionInput) (req *request.Request, output *InstallToRemoteAccessSessionOutput) {
3301	op := &request.Operation{
3302		Name:       opInstallToRemoteAccessSession,
3303		HTTPMethod: "POST",
3304		HTTPPath:   "/",
3305	}
3306
3307	if input == nil {
3308		input = &InstallToRemoteAccessSessionInput{}
3309	}
3310
3311	output = &InstallToRemoteAccessSessionOutput{}
3312	req = c.newRequest(op, input, output)
3313	return
3314}
3315
3316// InstallToRemoteAccessSession API operation for AWS Device Farm.
3317//
3318// Installs an application to the device in a remote access session. For Android
3319// applications, the file must be in .apk format. For iOS applications, the
3320// file must be in .ipa format.
3321//
3322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3323// with awserr.Error's Code and Message methods to get detailed information about
3324// the error.
3325//
3326// See the AWS API reference guide for AWS Device Farm's
3327// API operation InstallToRemoteAccessSession for usage and error information.
3328//
3329// Returned Error Types:
3330//   * ArgumentException
3331//   An invalid argument was specified.
3332//
3333//   * NotFoundException
3334//   The specified entity was not found.
3335//
3336//   * LimitExceededException
3337//   A limit was exceeded.
3338//
3339//   * ServiceAccountException
3340//   There was a problem with the service account.
3341//
3342// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/InstallToRemoteAccessSession
3343func (c *DeviceFarm) InstallToRemoteAccessSession(input *InstallToRemoteAccessSessionInput) (*InstallToRemoteAccessSessionOutput, error) {
3344	req, out := c.InstallToRemoteAccessSessionRequest(input)
3345	return out, req.Send()
3346}
3347
3348// InstallToRemoteAccessSessionWithContext is the same as InstallToRemoteAccessSession with the addition of
3349// the ability to pass a context and additional request options.
3350//
3351// See InstallToRemoteAccessSession for details on how to use this API operation.
3352//
3353// The context must be non-nil and will be used for request cancellation. If
3354// the context is nil a panic will occur. In the future the SDK may create
3355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3356// for more information on using Contexts.
3357func (c *DeviceFarm) InstallToRemoteAccessSessionWithContext(ctx aws.Context, input *InstallToRemoteAccessSessionInput, opts ...request.Option) (*InstallToRemoteAccessSessionOutput, error) {
3358	req, out := c.InstallToRemoteAccessSessionRequest(input)
3359	req.SetContext(ctx)
3360	req.ApplyOptions(opts...)
3361	return out, req.Send()
3362}
3363
3364const opListArtifacts = "ListArtifacts"
3365
3366// ListArtifactsRequest generates a "aws/request.Request" representing the
3367// client's request for the ListArtifacts operation. The "output" return
3368// value will be populated with the request's response once the request completes
3369// successfully.
3370//
3371// Use "Send" method on the returned Request to send the API call to the service.
3372// the "output" return value is not valid until after Send returns without error.
3373//
3374// See ListArtifacts for more information on using the ListArtifacts
3375// API call, and error handling.
3376//
3377// This method is useful when you want to inject custom logic or configuration
3378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3379//
3380//
3381//    // Example sending a request using the ListArtifactsRequest method.
3382//    req, resp := client.ListArtifactsRequest(params)
3383//
3384//    err := req.Send()
3385//    if err == nil { // resp is now filled
3386//        fmt.Println(resp)
3387//    }
3388//
3389// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListArtifacts
3390func (c *DeviceFarm) ListArtifactsRequest(input *ListArtifactsInput) (req *request.Request, output *ListArtifactsOutput) {
3391	op := &request.Operation{
3392		Name:       opListArtifacts,
3393		HTTPMethod: "POST",
3394		HTTPPath:   "/",
3395		Paginator: &request.Paginator{
3396			InputTokens:     []string{"nextToken"},
3397			OutputTokens:    []string{"nextToken"},
3398			LimitToken:      "",
3399			TruncationToken: "",
3400		},
3401	}
3402
3403	if input == nil {
3404		input = &ListArtifactsInput{}
3405	}
3406
3407	output = &ListArtifactsOutput{}
3408	req = c.newRequest(op, input, output)
3409	return
3410}
3411
3412// ListArtifacts API operation for AWS Device Farm.
3413//
3414// Gets information about artifacts.
3415//
3416// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3417// with awserr.Error's Code and Message methods to get detailed information about
3418// the error.
3419//
3420// See the AWS API reference guide for AWS Device Farm's
3421// API operation ListArtifacts for usage and error information.
3422//
3423// Returned Error Types:
3424//   * ArgumentException
3425//   An invalid argument was specified.
3426//
3427//   * NotFoundException
3428//   The specified entity was not found.
3429//
3430//   * LimitExceededException
3431//   A limit was exceeded.
3432//
3433//   * ServiceAccountException
3434//   There was a problem with the service account.
3435//
3436// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListArtifacts
3437func (c *DeviceFarm) ListArtifacts(input *ListArtifactsInput) (*ListArtifactsOutput, error) {
3438	req, out := c.ListArtifactsRequest(input)
3439	return out, req.Send()
3440}
3441
3442// ListArtifactsWithContext is the same as ListArtifacts with the addition of
3443// the ability to pass a context and additional request options.
3444//
3445// See ListArtifacts for details on how to use this API operation.
3446//
3447// The context must be non-nil and will be used for request cancellation. If
3448// the context is nil a panic will occur. In the future the SDK may create
3449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3450// for more information on using Contexts.
3451func (c *DeviceFarm) ListArtifactsWithContext(ctx aws.Context, input *ListArtifactsInput, opts ...request.Option) (*ListArtifactsOutput, error) {
3452	req, out := c.ListArtifactsRequest(input)
3453	req.SetContext(ctx)
3454	req.ApplyOptions(opts...)
3455	return out, req.Send()
3456}
3457
3458// ListArtifactsPages iterates over the pages of a ListArtifacts operation,
3459// calling the "fn" function with the response data for each page. To stop
3460// iterating, return false from the fn function.
3461//
3462// See ListArtifacts method for more information on how to use this operation.
3463//
3464// Note: This operation can generate multiple requests to a service.
3465//
3466//    // Example iterating over at most 3 pages of a ListArtifacts operation.
3467//    pageNum := 0
3468//    err := client.ListArtifactsPages(params,
3469//        func(page *devicefarm.ListArtifactsOutput, lastPage bool) bool {
3470//            pageNum++
3471//            fmt.Println(page)
3472//            return pageNum <= 3
3473//        })
3474//
3475func (c *DeviceFarm) ListArtifactsPages(input *ListArtifactsInput, fn func(*ListArtifactsOutput, bool) bool) error {
3476	return c.ListArtifactsPagesWithContext(aws.BackgroundContext(), input, fn)
3477}
3478
3479// ListArtifactsPagesWithContext same as ListArtifactsPages except
3480// it takes a Context and allows setting request options on the pages.
3481//
3482// The context must be non-nil and will be used for request cancellation. If
3483// the context is nil a panic will occur. In the future the SDK may create
3484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3485// for more information on using Contexts.
3486func (c *DeviceFarm) ListArtifactsPagesWithContext(ctx aws.Context, input *ListArtifactsInput, fn func(*ListArtifactsOutput, bool) bool, opts ...request.Option) error {
3487	p := request.Pagination{
3488		NewRequest: func() (*request.Request, error) {
3489			var inCpy *ListArtifactsInput
3490			if input != nil {
3491				tmp := *input
3492				inCpy = &tmp
3493			}
3494			req, _ := c.ListArtifactsRequest(inCpy)
3495			req.SetContext(ctx)
3496			req.ApplyOptions(opts...)
3497			return req, nil
3498		},
3499	}
3500
3501	for p.Next() {
3502		if !fn(p.Page().(*ListArtifactsOutput), !p.HasNextPage()) {
3503			break
3504		}
3505	}
3506
3507	return p.Err()
3508}
3509
3510const opListDeviceInstances = "ListDeviceInstances"
3511
3512// ListDeviceInstancesRequest generates a "aws/request.Request" representing the
3513// client's request for the ListDeviceInstances operation. The "output" return
3514// value will be populated with the request's response once the request completes
3515// successfully.
3516//
3517// Use "Send" method on the returned Request to send the API call to the service.
3518// the "output" return value is not valid until after Send returns without error.
3519//
3520// See ListDeviceInstances for more information on using the ListDeviceInstances
3521// API call, and error handling.
3522//
3523// This method is useful when you want to inject custom logic or configuration
3524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3525//
3526//
3527//    // Example sending a request using the ListDeviceInstancesRequest method.
3528//    req, resp := client.ListDeviceInstancesRequest(params)
3529//
3530//    err := req.Send()
3531//    if err == nil { // resp is now filled
3532//        fmt.Println(resp)
3533//    }
3534//
3535// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDeviceInstances
3536func (c *DeviceFarm) ListDeviceInstancesRequest(input *ListDeviceInstancesInput) (req *request.Request, output *ListDeviceInstancesOutput) {
3537	op := &request.Operation{
3538		Name:       opListDeviceInstances,
3539		HTTPMethod: "POST",
3540		HTTPPath:   "/",
3541	}
3542
3543	if input == nil {
3544		input = &ListDeviceInstancesInput{}
3545	}
3546
3547	output = &ListDeviceInstancesOutput{}
3548	req = c.newRequest(op, input, output)
3549	return
3550}
3551
3552// ListDeviceInstances API operation for AWS Device Farm.
3553//
3554// Returns information about the private device instances associated with one
3555// or more AWS accounts.
3556//
3557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3558// with awserr.Error's Code and Message methods to get detailed information about
3559// the error.
3560//
3561// See the AWS API reference guide for AWS Device Farm's
3562// API operation ListDeviceInstances for usage and error information.
3563//
3564// Returned Error Types:
3565//   * ArgumentException
3566//   An invalid argument was specified.
3567//
3568//   * NotFoundException
3569//   The specified entity was not found.
3570//
3571//   * LimitExceededException
3572//   A limit was exceeded.
3573//
3574//   * ServiceAccountException
3575//   There was a problem with the service account.
3576//
3577// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDeviceInstances
3578func (c *DeviceFarm) ListDeviceInstances(input *ListDeviceInstancesInput) (*ListDeviceInstancesOutput, error) {
3579	req, out := c.ListDeviceInstancesRequest(input)
3580	return out, req.Send()
3581}
3582
3583// ListDeviceInstancesWithContext is the same as ListDeviceInstances with the addition of
3584// the ability to pass a context and additional request options.
3585//
3586// See ListDeviceInstances for details on how to use this API operation.
3587//
3588// The context must be non-nil and will be used for request cancellation. If
3589// the context is nil a panic will occur. In the future the SDK may create
3590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3591// for more information on using Contexts.
3592func (c *DeviceFarm) ListDeviceInstancesWithContext(ctx aws.Context, input *ListDeviceInstancesInput, opts ...request.Option) (*ListDeviceInstancesOutput, error) {
3593	req, out := c.ListDeviceInstancesRequest(input)
3594	req.SetContext(ctx)
3595	req.ApplyOptions(opts...)
3596	return out, req.Send()
3597}
3598
3599const opListDevicePools = "ListDevicePools"
3600
3601// ListDevicePoolsRequest generates a "aws/request.Request" representing the
3602// client's request for the ListDevicePools operation. The "output" return
3603// value will be populated with the request's response once the request completes
3604// successfully.
3605//
3606// Use "Send" method on the returned Request to send the API call to the service.
3607// the "output" return value is not valid until after Send returns without error.
3608//
3609// See ListDevicePools for more information on using the ListDevicePools
3610// API call, and error handling.
3611//
3612// This method is useful when you want to inject custom logic or configuration
3613// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3614//
3615//
3616//    // Example sending a request using the ListDevicePoolsRequest method.
3617//    req, resp := client.ListDevicePoolsRequest(params)
3618//
3619//    err := req.Send()
3620//    if err == nil { // resp is now filled
3621//        fmt.Println(resp)
3622//    }
3623//
3624// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicePools
3625func (c *DeviceFarm) ListDevicePoolsRequest(input *ListDevicePoolsInput) (req *request.Request, output *ListDevicePoolsOutput) {
3626	op := &request.Operation{
3627		Name:       opListDevicePools,
3628		HTTPMethod: "POST",
3629		HTTPPath:   "/",
3630		Paginator: &request.Paginator{
3631			InputTokens:     []string{"nextToken"},
3632			OutputTokens:    []string{"nextToken"},
3633			LimitToken:      "",
3634			TruncationToken: "",
3635		},
3636	}
3637
3638	if input == nil {
3639		input = &ListDevicePoolsInput{}
3640	}
3641
3642	output = &ListDevicePoolsOutput{}
3643	req = c.newRequest(op, input, output)
3644	return
3645}
3646
3647// ListDevicePools API operation for AWS Device Farm.
3648//
3649// Gets information about device pools.
3650//
3651// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3652// with awserr.Error's Code and Message methods to get detailed information about
3653// the error.
3654//
3655// See the AWS API reference guide for AWS Device Farm's
3656// API operation ListDevicePools for usage and error information.
3657//
3658// Returned Error Types:
3659//   * ArgumentException
3660//   An invalid argument was specified.
3661//
3662//   * NotFoundException
3663//   The specified entity was not found.
3664//
3665//   * LimitExceededException
3666//   A limit was exceeded.
3667//
3668//   * ServiceAccountException
3669//   There was a problem with the service account.
3670//
3671// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicePools
3672func (c *DeviceFarm) ListDevicePools(input *ListDevicePoolsInput) (*ListDevicePoolsOutput, error) {
3673	req, out := c.ListDevicePoolsRequest(input)
3674	return out, req.Send()
3675}
3676
3677// ListDevicePoolsWithContext is the same as ListDevicePools with the addition of
3678// the ability to pass a context and additional request options.
3679//
3680// See ListDevicePools for details on how to use this API operation.
3681//
3682// The context must be non-nil and will be used for request cancellation. If
3683// the context is nil a panic will occur. In the future the SDK may create
3684// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3685// for more information on using Contexts.
3686func (c *DeviceFarm) ListDevicePoolsWithContext(ctx aws.Context, input *ListDevicePoolsInput, opts ...request.Option) (*ListDevicePoolsOutput, error) {
3687	req, out := c.ListDevicePoolsRequest(input)
3688	req.SetContext(ctx)
3689	req.ApplyOptions(opts...)
3690	return out, req.Send()
3691}
3692
3693// ListDevicePoolsPages iterates over the pages of a ListDevicePools operation,
3694// calling the "fn" function with the response data for each page. To stop
3695// iterating, return false from the fn function.
3696//
3697// See ListDevicePools method for more information on how to use this operation.
3698//
3699// Note: This operation can generate multiple requests to a service.
3700//
3701//    // Example iterating over at most 3 pages of a ListDevicePools operation.
3702//    pageNum := 0
3703//    err := client.ListDevicePoolsPages(params,
3704//        func(page *devicefarm.ListDevicePoolsOutput, lastPage bool) bool {
3705//            pageNum++
3706//            fmt.Println(page)
3707//            return pageNum <= 3
3708//        })
3709//
3710func (c *DeviceFarm) ListDevicePoolsPages(input *ListDevicePoolsInput, fn func(*ListDevicePoolsOutput, bool) bool) error {
3711	return c.ListDevicePoolsPagesWithContext(aws.BackgroundContext(), input, fn)
3712}
3713
3714// ListDevicePoolsPagesWithContext same as ListDevicePoolsPages except
3715// it takes a Context and allows setting request options on the pages.
3716//
3717// The context must be non-nil and will be used for request cancellation. If
3718// the context is nil a panic will occur. In the future the SDK may create
3719// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3720// for more information on using Contexts.
3721func (c *DeviceFarm) ListDevicePoolsPagesWithContext(ctx aws.Context, input *ListDevicePoolsInput, fn func(*ListDevicePoolsOutput, bool) bool, opts ...request.Option) error {
3722	p := request.Pagination{
3723		NewRequest: func() (*request.Request, error) {
3724			var inCpy *ListDevicePoolsInput
3725			if input != nil {
3726				tmp := *input
3727				inCpy = &tmp
3728			}
3729			req, _ := c.ListDevicePoolsRequest(inCpy)
3730			req.SetContext(ctx)
3731			req.ApplyOptions(opts...)
3732			return req, nil
3733		},
3734	}
3735
3736	for p.Next() {
3737		if !fn(p.Page().(*ListDevicePoolsOutput), !p.HasNextPage()) {
3738			break
3739		}
3740	}
3741
3742	return p.Err()
3743}
3744
3745const opListDevices = "ListDevices"
3746
3747// ListDevicesRequest generates a "aws/request.Request" representing the
3748// client's request for the ListDevices operation. The "output" return
3749// value will be populated with the request's response once the request completes
3750// successfully.
3751//
3752// Use "Send" method on the returned Request to send the API call to the service.
3753// the "output" return value is not valid until after Send returns without error.
3754//
3755// See ListDevices for more information on using the ListDevices
3756// API call, and error handling.
3757//
3758// This method is useful when you want to inject custom logic or configuration
3759// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3760//
3761//
3762//    // Example sending a request using the ListDevicesRequest method.
3763//    req, resp := client.ListDevicesRequest(params)
3764//
3765//    err := req.Send()
3766//    if err == nil { // resp is now filled
3767//        fmt.Println(resp)
3768//    }
3769//
3770// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevices
3771func (c *DeviceFarm) ListDevicesRequest(input *ListDevicesInput) (req *request.Request, output *ListDevicesOutput) {
3772	op := &request.Operation{
3773		Name:       opListDevices,
3774		HTTPMethod: "POST",
3775		HTTPPath:   "/",
3776		Paginator: &request.Paginator{
3777			InputTokens:     []string{"nextToken"},
3778			OutputTokens:    []string{"nextToken"},
3779			LimitToken:      "",
3780			TruncationToken: "",
3781		},
3782	}
3783
3784	if input == nil {
3785		input = &ListDevicesInput{}
3786	}
3787
3788	output = &ListDevicesOutput{}
3789	req = c.newRequest(op, input, output)
3790	return
3791}
3792
3793// ListDevices API operation for AWS Device Farm.
3794//
3795// Gets information about unique device types.
3796//
3797// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3798// with awserr.Error's Code and Message methods to get detailed information about
3799// the error.
3800//
3801// See the AWS API reference guide for AWS Device Farm's
3802// API operation ListDevices for usage and error information.
3803//
3804// Returned Error Types:
3805//   * ArgumentException
3806//   An invalid argument was specified.
3807//
3808//   * NotFoundException
3809//   The specified entity was not found.
3810//
3811//   * LimitExceededException
3812//   A limit was exceeded.
3813//
3814//   * ServiceAccountException
3815//   There was a problem with the service account.
3816//
3817// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevices
3818func (c *DeviceFarm) ListDevices(input *ListDevicesInput) (*ListDevicesOutput, error) {
3819	req, out := c.ListDevicesRequest(input)
3820	return out, req.Send()
3821}
3822
3823// ListDevicesWithContext is the same as ListDevices with the addition of
3824// the ability to pass a context and additional request options.
3825//
3826// See ListDevices for details on how to use this API operation.
3827//
3828// The context must be non-nil and will be used for request cancellation. If
3829// the context is nil a panic will occur. In the future the SDK may create
3830// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3831// for more information on using Contexts.
3832func (c *DeviceFarm) ListDevicesWithContext(ctx aws.Context, input *ListDevicesInput, opts ...request.Option) (*ListDevicesOutput, error) {
3833	req, out := c.ListDevicesRequest(input)
3834	req.SetContext(ctx)
3835	req.ApplyOptions(opts...)
3836	return out, req.Send()
3837}
3838
3839// ListDevicesPages iterates over the pages of a ListDevices operation,
3840// calling the "fn" function with the response data for each page. To stop
3841// iterating, return false from the fn function.
3842//
3843// See ListDevices method for more information on how to use this operation.
3844//
3845// Note: This operation can generate multiple requests to a service.
3846//
3847//    // Example iterating over at most 3 pages of a ListDevices operation.
3848//    pageNum := 0
3849//    err := client.ListDevicesPages(params,
3850//        func(page *devicefarm.ListDevicesOutput, lastPage bool) bool {
3851//            pageNum++
3852//            fmt.Println(page)
3853//            return pageNum <= 3
3854//        })
3855//
3856func (c *DeviceFarm) ListDevicesPages(input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool) error {
3857	return c.ListDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
3858}
3859
3860// ListDevicesPagesWithContext same as ListDevicesPages except
3861// it takes a Context and allows setting request options on the pages.
3862//
3863// The context must be non-nil and will be used for request cancellation. If
3864// the context is nil a panic will occur. In the future the SDK may create
3865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3866// for more information on using Contexts.
3867func (c *DeviceFarm) ListDevicesPagesWithContext(ctx aws.Context, input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool, opts ...request.Option) error {
3868	p := request.Pagination{
3869		NewRequest: func() (*request.Request, error) {
3870			var inCpy *ListDevicesInput
3871			if input != nil {
3872				tmp := *input
3873				inCpy = &tmp
3874			}
3875			req, _ := c.ListDevicesRequest(inCpy)
3876			req.SetContext(ctx)
3877			req.ApplyOptions(opts...)
3878			return req, nil
3879		},
3880	}
3881
3882	for p.Next() {
3883		if !fn(p.Page().(*ListDevicesOutput), !p.HasNextPage()) {
3884			break
3885		}
3886	}
3887
3888	return p.Err()
3889}
3890
3891const opListInstanceProfiles = "ListInstanceProfiles"
3892
3893// ListInstanceProfilesRequest generates a "aws/request.Request" representing the
3894// client's request for the ListInstanceProfiles operation. The "output" return
3895// value will be populated with the request's response once the request completes
3896// successfully.
3897//
3898// Use "Send" method on the returned Request to send the API call to the service.
3899// the "output" return value is not valid until after Send returns without error.
3900//
3901// See ListInstanceProfiles for more information on using the ListInstanceProfiles
3902// API call, and error handling.
3903//
3904// This method is useful when you want to inject custom logic or configuration
3905// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3906//
3907//
3908//    // Example sending a request using the ListInstanceProfilesRequest method.
3909//    req, resp := client.ListInstanceProfilesRequest(params)
3910//
3911//    err := req.Send()
3912//    if err == nil { // resp is now filled
3913//        fmt.Println(resp)
3914//    }
3915//
3916// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListInstanceProfiles
3917func (c *DeviceFarm) ListInstanceProfilesRequest(input *ListInstanceProfilesInput) (req *request.Request, output *ListInstanceProfilesOutput) {
3918	op := &request.Operation{
3919		Name:       opListInstanceProfiles,
3920		HTTPMethod: "POST",
3921		HTTPPath:   "/",
3922	}
3923
3924	if input == nil {
3925		input = &ListInstanceProfilesInput{}
3926	}
3927
3928	output = &ListInstanceProfilesOutput{}
3929	req = c.newRequest(op, input, output)
3930	return
3931}
3932
3933// ListInstanceProfiles API operation for AWS Device Farm.
3934//
3935// Returns information about all the instance profiles in an AWS account.
3936//
3937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3938// with awserr.Error's Code and Message methods to get detailed information about
3939// the error.
3940//
3941// See the AWS API reference guide for AWS Device Farm's
3942// API operation ListInstanceProfiles for usage and error information.
3943//
3944// Returned Error Types:
3945//   * ArgumentException
3946//   An invalid argument was specified.
3947//
3948//   * NotFoundException
3949//   The specified entity was not found.
3950//
3951//   * LimitExceededException
3952//   A limit was exceeded.
3953//
3954//   * ServiceAccountException
3955//   There was a problem with the service account.
3956//
3957// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListInstanceProfiles
3958func (c *DeviceFarm) ListInstanceProfiles(input *ListInstanceProfilesInput) (*ListInstanceProfilesOutput, error) {
3959	req, out := c.ListInstanceProfilesRequest(input)
3960	return out, req.Send()
3961}
3962
3963// ListInstanceProfilesWithContext is the same as ListInstanceProfiles with the addition of
3964// the ability to pass a context and additional request options.
3965//
3966// See ListInstanceProfiles for details on how to use this API operation.
3967//
3968// The context must be non-nil and will be used for request cancellation. If
3969// the context is nil a panic will occur. In the future the SDK may create
3970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3971// for more information on using Contexts.
3972func (c *DeviceFarm) ListInstanceProfilesWithContext(ctx aws.Context, input *ListInstanceProfilesInput, opts ...request.Option) (*ListInstanceProfilesOutput, error) {
3973	req, out := c.ListInstanceProfilesRequest(input)
3974	req.SetContext(ctx)
3975	req.ApplyOptions(opts...)
3976	return out, req.Send()
3977}
3978
3979const opListJobs = "ListJobs"
3980
3981// ListJobsRequest generates a "aws/request.Request" representing the
3982// client's request for the ListJobs operation. The "output" return
3983// value will be populated with the request's response once the request completes
3984// successfully.
3985//
3986// Use "Send" method on the returned Request to send the API call to the service.
3987// the "output" return value is not valid until after Send returns without error.
3988//
3989// See ListJobs for more information on using the ListJobs
3990// API call, and error handling.
3991//
3992// This method is useful when you want to inject custom logic or configuration
3993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3994//
3995//
3996//    // Example sending a request using the ListJobsRequest method.
3997//    req, resp := client.ListJobsRequest(params)
3998//
3999//    err := req.Send()
4000//    if err == nil { // resp is now filled
4001//        fmt.Println(resp)
4002//    }
4003//
4004// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListJobs
4005func (c *DeviceFarm) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
4006	op := &request.Operation{
4007		Name:       opListJobs,
4008		HTTPMethod: "POST",
4009		HTTPPath:   "/",
4010		Paginator: &request.Paginator{
4011			InputTokens:     []string{"nextToken"},
4012			OutputTokens:    []string{"nextToken"},
4013			LimitToken:      "",
4014			TruncationToken: "",
4015		},
4016	}
4017
4018	if input == nil {
4019		input = &ListJobsInput{}
4020	}
4021
4022	output = &ListJobsOutput{}
4023	req = c.newRequest(op, input, output)
4024	return
4025}
4026
4027// ListJobs API operation for AWS Device Farm.
4028//
4029// Gets information about jobs for a given test run.
4030//
4031// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4032// with awserr.Error's Code and Message methods to get detailed information about
4033// the error.
4034//
4035// See the AWS API reference guide for AWS Device Farm's
4036// API operation ListJobs for usage and error information.
4037//
4038// Returned Error Types:
4039//   * ArgumentException
4040//   An invalid argument was specified.
4041//
4042//   * NotFoundException
4043//   The specified entity was not found.
4044//
4045//   * LimitExceededException
4046//   A limit was exceeded.
4047//
4048//   * ServiceAccountException
4049//   There was a problem with the service account.
4050//
4051// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListJobs
4052func (c *DeviceFarm) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
4053	req, out := c.ListJobsRequest(input)
4054	return out, req.Send()
4055}
4056
4057// ListJobsWithContext is the same as ListJobs with the addition of
4058// the ability to pass a context and additional request options.
4059//
4060// See ListJobs for details on how to use this API operation.
4061//
4062// The context must be non-nil and will be used for request cancellation. If
4063// the context is nil a panic will occur. In the future the SDK may create
4064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4065// for more information on using Contexts.
4066func (c *DeviceFarm) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) {
4067	req, out := c.ListJobsRequest(input)
4068	req.SetContext(ctx)
4069	req.ApplyOptions(opts...)
4070	return out, req.Send()
4071}
4072
4073// ListJobsPages iterates over the pages of a ListJobs operation,
4074// calling the "fn" function with the response data for each page. To stop
4075// iterating, return false from the fn function.
4076//
4077// See ListJobs method for more information on how to use this operation.
4078//
4079// Note: This operation can generate multiple requests to a service.
4080//
4081//    // Example iterating over at most 3 pages of a ListJobs operation.
4082//    pageNum := 0
4083//    err := client.ListJobsPages(params,
4084//        func(page *devicefarm.ListJobsOutput, lastPage bool) bool {
4085//            pageNum++
4086//            fmt.Println(page)
4087//            return pageNum <= 3
4088//        })
4089//
4090func (c *DeviceFarm) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error {
4091	return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn)
4092}
4093
4094// ListJobsPagesWithContext same as ListJobsPages except
4095// it takes a Context and allows setting request options on the pages.
4096//
4097// The context must be non-nil and will be used for request cancellation. If
4098// the context is nil a panic will occur. In the future the SDK may create
4099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4100// for more information on using Contexts.
4101func (c *DeviceFarm) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error {
4102	p := request.Pagination{
4103		NewRequest: func() (*request.Request, error) {
4104			var inCpy *ListJobsInput
4105			if input != nil {
4106				tmp := *input
4107				inCpy = &tmp
4108			}
4109			req, _ := c.ListJobsRequest(inCpy)
4110			req.SetContext(ctx)
4111			req.ApplyOptions(opts...)
4112			return req, nil
4113		},
4114	}
4115
4116	for p.Next() {
4117		if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) {
4118			break
4119		}
4120	}
4121
4122	return p.Err()
4123}
4124
4125const opListNetworkProfiles = "ListNetworkProfiles"
4126
4127// ListNetworkProfilesRequest generates a "aws/request.Request" representing the
4128// client's request for the ListNetworkProfiles operation. The "output" return
4129// value will be populated with the request's response once the request completes
4130// successfully.
4131//
4132// Use "Send" method on the returned Request to send the API call to the service.
4133// the "output" return value is not valid until after Send returns without error.
4134//
4135// See ListNetworkProfiles for more information on using the ListNetworkProfiles
4136// API call, and error handling.
4137//
4138// This method is useful when you want to inject custom logic or configuration
4139// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4140//
4141//
4142//    // Example sending a request using the ListNetworkProfilesRequest method.
4143//    req, resp := client.ListNetworkProfilesRequest(params)
4144//
4145//    err := req.Send()
4146//    if err == nil { // resp is now filled
4147//        fmt.Println(resp)
4148//    }
4149//
4150// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListNetworkProfiles
4151func (c *DeviceFarm) ListNetworkProfilesRequest(input *ListNetworkProfilesInput) (req *request.Request, output *ListNetworkProfilesOutput) {
4152	op := &request.Operation{
4153		Name:       opListNetworkProfiles,
4154		HTTPMethod: "POST",
4155		HTTPPath:   "/",
4156	}
4157
4158	if input == nil {
4159		input = &ListNetworkProfilesInput{}
4160	}
4161
4162	output = &ListNetworkProfilesOutput{}
4163	req = c.newRequest(op, input, output)
4164	return
4165}
4166
4167// ListNetworkProfiles API operation for AWS Device Farm.
4168//
4169// Returns the list of available network profiles.
4170//
4171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4172// with awserr.Error's Code and Message methods to get detailed information about
4173// the error.
4174//
4175// See the AWS API reference guide for AWS Device Farm's
4176// API operation ListNetworkProfiles for usage and error information.
4177//
4178// Returned Error Types:
4179//   * ArgumentException
4180//   An invalid argument was specified.
4181//
4182//   * NotFoundException
4183//   The specified entity was not found.
4184//
4185//   * LimitExceededException
4186//   A limit was exceeded.
4187//
4188//   * ServiceAccountException
4189//   There was a problem with the service account.
4190//
4191// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListNetworkProfiles
4192func (c *DeviceFarm) ListNetworkProfiles(input *ListNetworkProfilesInput) (*ListNetworkProfilesOutput, error) {
4193	req, out := c.ListNetworkProfilesRequest(input)
4194	return out, req.Send()
4195}
4196
4197// ListNetworkProfilesWithContext is the same as ListNetworkProfiles with the addition of
4198// the ability to pass a context and additional request options.
4199//
4200// See ListNetworkProfiles for details on how to use this API operation.
4201//
4202// The context must be non-nil and will be used for request cancellation. If
4203// the context is nil a panic will occur. In the future the SDK may create
4204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4205// for more information on using Contexts.
4206func (c *DeviceFarm) ListNetworkProfilesWithContext(ctx aws.Context, input *ListNetworkProfilesInput, opts ...request.Option) (*ListNetworkProfilesOutput, error) {
4207	req, out := c.ListNetworkProfilesRequest(input)
4208	req.SetContext(ctx)
4209	req.ApplyOptions(opts...)
4210	return out, req.Send()
4211}
4212
4213const opListOfferingPromotions = "ListOfferingPromotions"
4214
4215// ListOfferingPromotionsRequest generates a "aws/request.Request" representing the
4216// client's request for the ListOfferingPromotions operation. The "output" return
4217// value will be populated with the request's response once the request completes
4218// successfully.
4219//
4220// Use "Send" method on the returned Request to send the API call to the service.
4221// the "output" return value is not valid until after Send returns without error.
4222//
4223// See ListOfferingPromotions for more information on using the ListOfferingPromotions
4224// API call, and error handling.
4225//
4226// This method is useful when you want to inject custom logic or configuration
4227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4228//
4229//
4230//    // Example sending a request using the ListOfferingPromotionsRequest method.
4231//    req, resp := client.ListOfferingPromotionsRequest(params)
4232//
4233//    err := req.Send()
4234//    if err == nil { // resp is now filled
4235//        fmt.Println(resp)
4236//    }
4237//
4238// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingPromotions
4239func (c *DeviceFarm) ListOfferingPromotionsRequest(input *ListOfferingPromotionsInput) (req *request.Request, output *ListOfferingPromotionsOutput) {
4240	op := &request.Operation{
4241		Name:       opListOfferingPromotions,
4242		HTTPMethod: "POST",
4243		HTTPPath:   "/",
4244	}
4245
4246	if input == nil {
4247		input = &ListOfferingPromotionsInput{}
4248	}
4249
4250	output = &ListOfferingPromotionsOutput{}
4251	req = c.newRequest(op, input, output)
4252	return
4253}
4254
4255// ListOfferingPromotions API operation for AWS Device Farm.
4256//
4257// Returns a list of offering promotions. Each offering promotion record contains
4258// the ID and description of the promotion. The API returns a NotEligible error
4259// if the caller is not permitted to invoke the operation. Contact aws-devicefarm-support@amazon.com
4260// (mailto:aws-devicefarm-support@amazon.com) if you must be able to invoke
4261// this operation.
4262//
4263// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4264// with awserr.Error's Code and Message methods to get detailed information about
4265// the error.
4266//
4267// See the AWS API reference guide for AWS Device Farm's
4268// API operation ListOfferingPromotions for usage and error information.
4269//
4270// Returned Error Types:
4271//   * ArgumentException
4272//   An invalid argument was specified.
4273//
4274//   * NotFoundException
4275//   The specified entity was not found.
4276//
4277//   * NotEligibleException
4278//   Exception gets thrown when a user is not eligible to perform the specified
4279//   transaction.
4280//
4281//   * LimitExceededException
4282//   A limit was exceeded.
4283//
4284//   * ServiceAccountException
4285//   There was a problem with the service account.
4286//
4287// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingPromotions
4288func (c *DeviceFarm) ListOfferingPromotions(input *ListOfferingPromotionsInput) (*ListOfferingPromotionsOutput, error) {
4289	req, out := c.ListOfferingPromotionsRequest(input)
4290	return out, req.Send()
4291}
4292
4293// ListOfferingPromotionsWithContext is the same as ListOfferingPromotions with the addition of
4294// the ability to pass a context and additional request options.
4295//
4296// See ListOfferingPromotions for details on how to use this API operation.
4297//
4298// The context must be non-nil and will be used for request cancellation. If
4299// the context is nil a panic will occur. In the future the SDK may create
4300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4301// for more information on using Contexts.
4302func (c *DeviceFarm) ListOfferingPromotionsWithContext(ctx aws.Context, input *ListOfferingPromotionsInput, opts ...request.Option) (*ListOfferingPromotionsOutput, error) {
4303	req, out := c.ListOfferingPromotionsRequest(input)
4304	req.SetContext(ctx)
4305	req.ApplyOptions(opts...)
4306	return out, req.Send()
4307}
4308
4309const opListOfferingTransactions = "ListOfferingTransactions"
4310
4311// ListOfferingTransactionsRequest generates a "aws/request.Request" representing the
4312// client's request for the ListOfferingTransactions operation. The "output" return
4313// value will be populated with the request's response once the request completes
4314// successfully.
4315//
4316// Use "Send" method on the returned Request to send the API call to the service.
4317// the "output" return value is not valid until after Send returns without error.
4318//
4319// See ListOfferingTransactions for more information on using the ListOfferingTransactions
4320// API call, and error handling.
4321//
4322// This method is useful when you want to inject custom logic or configuration
4323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4324//
4325//
4326//    // Example sending a request using the ListOfferingTransactionsRequest method.
4327//    req, resp := client.ListOfferingTransactionsRequest(params)
4328//
4329//    err := req.Send()
4330//    if err == nil { // resp is now filled
4331//        fmt.Println(resp)
4332//    }
4333//
4334// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingTransactions
4335func (c *DeviceFarm) ListOfferingTransactionsRequest(input *ListOfferingTransactionsInput) (req *request.Request, output *ListOfferingTransactionsOutput) {
4336	op := &request.Operation{
4337		Name:       opListOfferingTransactions,
4338		HTTPMethod: "POST",
4339		HTTPPath:   "/",
4340		Paginator: &request.Paginator{
4341			InputTokens:     []string{"nextToken"},
4342			OutputTokens:    []string{"nextToken"},
4343			LimitToken:      "",
4344			TruncationToken: "",
4345		},
4346	}
4347
4348	if input == nil {
4349		input = &ListOfferingTransactionsInput{}
4350	}
4351
4352	output = &ListOfferingTransactionsOutput{}
4353	req = c.newRequest(op, input, output)
4354	return
4355}
4356
4357// ListOfferingTransactions API operation for AWS Device Farm.
4358//
4359// Returns a list of all historical purchases, renewals, and system renewal
4360// transactions for an AWS account. The list is paginated and ordered by a descending
4361// timestamp (most recent transactions are first). The API returns a NotEligible
4362// error if the user is not permitted to invoke the operation. If you must be
4363// able to invoke this operation, contact aws-devicefarm-support@amazon.com
4364// (mailto:aws-devicefarm-support@amazon.com).
4365//
4366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4367// with awserr.Error's Code and Message methods to get detailed information about
4368// the error.
4369//
4370// See the AWS API reference guide for AWS Device Farm's
4371// API operation ListOfferingTransactions for usage and error information.
4372//
4373// Returned Error Types:
4374//   * ArgumentException
4375//   An invalid argument was specified.
4376//
4377//   * NotFoundException
4378//   The specified entity was not found.
4379//
4380//   * NotEligibleException
4381//   Exception gets thrown when a user is not eligible to perform the specified
4382//   transaction.
4383//
4384//   * LimitExceededException
4385//   A limit was exceeded.
4386//
4387//   * ServiceAccountException
4388//   There was a problem with the service account.
4389//
4390// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingTransactions
4391func (c *DeviceFarm) ListOfferingTransactions(input *ListOfferingTransactionsInput) (*ListOfferingTransactionsOutput, error) {
4392	req, out := c.ListOfferingTransactionsRequest(input)
4393	return out, req.Send()
4394}
4395
4396// ListOfferingTransactionsWithContext is the same as ListOfferingTransactions with the addition of
4397// the ability to pass a context and additional request options.
4398//
4399// See ListOfferingTransactions for details on how to use this API operation.
4400//
4401// The context must be non-nil and will be used for request cancellation. If
4402// the context is nil a panic will occur. In the future the SDK may create
4403// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4404// for more information on using Contexts.
4405func (c *DeviceFarm) ListOfferingTransactionsWithContext(ctx aws.Context, input *ListOfferingTransactionsInput, opts ...request.Option) (*ListOfferingTransactionsOutput, error) {
4406	req, out := c.ListOfferingTransactionsRequest(input)
4407	req.SetContext(ctx)
4408	req.ApplyOptions(opts...)
4409	return out, req.Send()
4410}
4411
4412// ListOfferingTransactionsPages iterates over the pages of a ListOfferingTransactions operation,
4413// calling the "fn" function with the response data for each page. To stop
4414// iterating, return false from the fn function.
4415//
4416// See ListOfferingTransactions method for more information on how to use this operation.
4417//
4418// Note: This operation can generate multiple requests to a service.
4419//
4420//    // Example iterating over at most 3 pages of a ListOfferingTransactions operation.
4421//    pageNum := 0
4422//    err := client.ListOfferingTransactionsPages(params,
4423//        func(page *devicefarm.ListOfferingTransactionsOutput, lastPage bool) bool {
4424//            pageNum++
4425//            fmt.Println(page)
4426//            return pageNum <= 3
4427//        })
4428//
4429func (c *DeviceFarm) ListOfferingTransactionsPages(input *ListOfferingTransactionsInput, fn func(*ListOfferingTransactionsOutput, bool) bool) error {
4430	return c.ListOfferingTransactionsPagesWithContext(aws.BackgroundContext(), input, fn)
4431}
4432
4433// ListOfferingTransactionsPagesWithContext same as ListOfferingTransactionsPages except
4434// it takes a Context and allows setting request options on the pages.
4435//
4436// The context must be non-nil and will be used for request cancellation. If
4437// the context is nil a panic will occur. In the future the SDK may create
4438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4439// for more information on using Contexts.
4440func (c *DeviceFarm) ListOfferingTransactionsPagesWithContext(ctx aws.Context, input *ListOfferingTransactionsInput, fn func(*ListOfferingTransactionsOutput, bool) bool, opts ...request.Option) error {
4441	p := request.Pagination{
4442		NewRequest: func() (*request.Request, error) {
4443			var inCpy *ListOfferingTransactionsInput
4444			if input != nil {
4445				tmp := *input
4446				inCpy = &tmp
4447			}
4448			req, _ := c.ListOfferingTransactionsRequest(inCpy)
4449			req.SetContext(ctx)
4450			req.ApplyOptions(opts...)
4451			return req, nil
4452		},
4453	}
4454
4455	for p.Next() {
4456		if !fn(p.Page().(*ListOfferingTransactionsOutput), !p.HasNextPage()) {
4457			break
4458		}
4459	}
4460
4461	return p.Err()
4462}
4463
4464const opListOfferings = "ListOfferings"
4465
4466// ListOfferingsRequest generates a "aws/request.Request" representing the
4467// client's request for the ListOfferings operation. The "output" return
4468// value will be populated with the request's response once the request completes
4469// successfully.
4470//
4471// Use "Send" method on the returned Request to send the API call to the service.
4472// the "output" return value is not valid until after Send returns without error.
4473//
4474// See ListOfferings for more information on using the ListOfferings
4475// API call, and error handling.
4476//
4477// This method is useful when you want to inject custom logic or configuration
4478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4479//
4480//
4481//    // Example sending a request using the ListOfferingsRequest method.
4482//    req, resp := client.ListOfferingsRequest(params)
4483//
4484//    err := req.Send()
4485//    if err == nil { // resp is now filled
4486//        fmt.Println(resp)
4487//    }
4488//
4489// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferings
4490func (c *DeviceFarm) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) {
4491	op := &request.Operation{
4492		Name:       opListOfferings,
4493		HTTPMethod: "POST",
4494		HTTPPath:   "/",
4495		Paginator: &request.Paginator{
4496			InputTokens:     []string{"nextToken"},
4497			OutputTokens:    []string{"nextToken"},
4498			LimitToken:      "",
4499			TruncationToken: "",
4500		},
4501	}
4502
4503	if input == nil {
4504		input = &ListOfferingsInput{}
4505	}
4506
4507	output = &ListOfferingsOutput{}
4508	req = c.newRequest(op, input, output)
4509	return
4510}
4511
4512// ListOfferings API operation for AWS Device Farm.
4513//
4514// Returns a list of products or offerings that the user can manage through
4515// the API. Each offering record indicates the recurring price per unit and
4516// the frequency for that offering. The API returns a NotEligible error if the
4517// user is not permitted to invoke the operation. If you must be able to invoke
4518// this operation, contact aws-devicefarm-support@amazon.com (mailto:aws-devicefarm-support@amazon.com).
4519//
4520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4521// with awserr.Error's Code and Message methods to get detailed information about
4522// the error.
4523//
4524// See the AWS API reference guide for AWS Device Farm's
4525// API operation ListOfferings for usage and error information.
4526//
4527// Returned Error Types:
4528//   * ArgumentException
4529//   An invalid argument was specified.
4530//
4531//   * NotFoundException
4532//   The specified entity was not found.
4533//
4534//   * NotEligibleException
4535//   Exception gets thrown when a user is not eligible to perform the specified
4536//   transaction.
4537//
4538//   * LimitExceededException
4539//   A limit was exceeded.
4540//
4541//   * ServiceAccountException
4542//   There was a problem with the service account.
4543//
4544// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferings
4545func (c *DeviceFarm) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) {
4546	req, out := c.ListOfferingsRequest(input)
4547	return out, req.Send()
4548}
4549
4550// ListOfferingsWithContext is the same as ListOfferings with the addition of
4551// the ability to pass a context and additional request options.
4552//
4553// See ListOfferings for details on how to use this API operation.
4554//
4555// The context must be non-nil and will be used for request cancellation. If
4556// the context is nil a panic will occur. In the future the SDK may create
4557// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4558// for more information on using Contexts.
4559func (c *DeviceFarm) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) {
4560	req, out := c.ListOfferingsRequest(input)
4561	req.SetContext(ctx)
4562	req.ApplyOptions(opts...)
4563	return out, req.Send()
4564}
4565
4566// ListOfferingsPages iterates over the pages of a ListOfferings operation,
4567// calling the "fn" function with the response data for each page. To stop
4568// iterating, return false from the fn function.
4569//
4570// See ListOfferings method for more information on how to use this operation.
4571//
4572// Note: This operation can generate multiple requests to a service.
4573//
4574//    // Example iterating over at most 3 pages of a ListOfferings operation.
4575//    pageNum := 0
4576//    err := client.ListOfferingsPages(params,
4577//        func(page *devicefarm.ListOfferingsOutput, lastPage bool) bool {
4578//            pageNum++
4579//            fmt.Println(page)
4580//            return pageNum <= 3
4581//        })
4582//
4583func (c *DeviceFarm) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error {
4584	return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
4585}
4586
4587// ListOfferingsPagesWithContext same as ListOfferingsPages except
4588// it takes a Context and allows setting request options on the pages.
4589//
4590// The context must be non-nil and will be used for request cancellation. If
4591// the context is nil a panic will occur. In the future the SDK may create
4592// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4593// for more information on using Contexts.
4594func (c *DeviceFarm) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error {
4595	p := request.Pagination{
4596		NewRequest: func() (*request.Request, error) {
4597			var inCpy *ListOfferingsInput
4598			if input != nil {
4599				tmp := *input
4600				inCpy = &tmp
4601			}
4602			req, _ := c.ListOfferingsRequest(inCpy)
4603			req.SetContext(ctx)
4604			req.ApplyOptions(opts...)
4605			return req, nil
4606		},
4607	}
4608
4609	for p.Next() {
4610		if !fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage()) {
4611			break
4612		}
4613	}
4614
4615	return p.Err()
4616}
4617
4618const opListProjects = "ListProjects"
4619
4620// ListProjectsRequest generates a "aws/request.Request" representing the
4621// client's request for the ListProjects operation. The "output" return
4622// value will be populated with the request's response once the request completes
4623// successfully.
4624//
4625// Use "Send" method on the returned Request to send the API call to the service.
4626// the "output" return value is not valid until after Send returns without error.
4627//
4628// See ListProjects for more information on using the ListProjects
4629// API call, and error handling.
4630//
4631// This method is useful when you want to inject custom logic or configuration
4632// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4633//
4634//
4635//    // Example sending a request using the ListProjectsRequest method.
4636//    req, resp := client.ListProjectsRequest(params)
4637//
4638//    err := req.Send()
4639//    if err == nil { // resp is now filled
4640//        fmt.Println(resp)
4641//    }
4642//
4643// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListProjects
4644func (c *DeviceFarm) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
4645	op := &request.Operation{
4646		Name:       opListProjects,
4647		HTTPMethod: "POST",
4648		HTTPPath:   "/",
4649		Paginator: &request.Paginator{
4650			InputTokens:     []string{"nextToken"},
4651			OutputTokens:    []string{"nextToken"},
4652			LimitToken:      "",
4653			TruncationToken: "",
4654		},
4655	}
4656
4657	if input == nil {
4658		input = &ListProjectsInput{}
4659	}
4660
4661	output = &ListProjectsOutput{}
4662	req = c.newRequest(op, input, output)
4663	return
4664}
4665
4666// ListProjects API operation for AWS Device Farm.
4667//
4668// Gets information about projects.
4669//
4670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4671// with awserr.Error's Code and Message methods to get detailed information about
4672// the error.
4673//
4674// See the AWS API reference guide for AWS Device Farm's
4675// API operation ListProjects for usage and error information.
4676//
4677// Returned Error Types:
4678//   * ArgumentException
4679//   An invalid argument was specified.
4680//
4681//   * NotFoundException
4682//   The specified entity was not found.
4683//
4684//   * LimitExceededException
4685//   A limit was exceeded.
4686//
4687//   * ServiceAccountException
4688//   There was a problem with the service account.
4689//
4690// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListProjects
4691func (c *DeviceFarm) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
4692	req, out := c.ListProjectsRequest(input)
4693	return out, req.Send()
4694}
4695
4696// ListProjectsWithContext is the same as ListProjects with the addition of
4697// the ability to pass a context and additional request options.
4698//
4699// See ListProjects for details on how to use this API operation.
4700//
4701// The context must be non-nil and will be used for request cancellation. If
4702// the context is nil a panic will occur. In the future the SDK may create
4703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4704// for more information on using Contexts.
4705func (c *DeviceFarm) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
4706	req, out := c.ListProjectsRequest(input)
4707	req.SetContext(ctx)
4708	req.ApplyOptions(opts...)
4709	return out, req.Send()
4710}
4711
4712// ListProjectsPages iterates over the pages of a ListProjects operation,
4713// calling the "fn" function with the response data for each page. To stop
4714// iterating, return false from the fn function.
4715//
4716// See ListProjects method for more information on how to use this operation.
4717//
4718// Note: This operation can generate multiple requests to a service.
4719//
4720//    // Example iterating over at most 3 pages of a ListProjects operation.
4721//    pageNum := 0
4722//    err := client.ListProjectsPages(params,
4723//        func(page *devicefarm.ListProjectsOutput, lastPage bool) bool {
4724//            pageNum++
4725//            fmt.Println(page)
4726//            return pageNum <= 3
4727//        })
4728//
4729func (c *DeviceFarm) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error {
4730	return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
4731}
4732
4733// ListProjectsPagesWithContext same as ListProjectsPages except
4734// it takes a Context and allows setting request options on the pages.
4735//
4736// The context must be non-nil and will be used for request cancellation. If
4737// the context is nil a panic will occur. In the future the SDK may create
4738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4739// for more information on using Contexts.
4740func (c *DeviceFarm) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error {
4741	p := request.Pagination{
4742		NewRequest: func() (*request.Request, error) {
4743			var inCpy *ListProjectsInput
4744			if input != nil {
4745				tmp := *input
4746				inCpy = &tmp
4747			}
4748			req, _ := c.ListProjectsRequest(inCpy)
4749			req.SetContext(ctx)
4750			req.ApplyOptions(opts...)
4751			return req, nil
4752		},
4753	}
4754
4755	for p.Next() {
4756		if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) {
4757			break
4758		}
4759	}
4760
4761	return p.Err()
4762}
4763
4764const opListRemoteAccessSessions = "ListRemoteAccessSessions"
4765
4766// ListRemoteAccessSessionsRequest generates a "aws/request.Request" representing the
4767// client's request for the ListRemoteAccessSessions operation. The "output" return
4768// value will be populated with the request's response once the request completes
4769// successfully.
4770//
4771// Use "Send" method on the returned Request to send the API call to the service.
4772// the "output" return value is not valid until after Send returns without error.
4773//
4774// See ListRemoteAccessSessions for more information on using the ListRemoteAccessSessions
4775// API call, and error handling.
4776//
4777// This method is useful when you want to inject custom logic or configuration
4778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4779//
4780//
4781//    // Example sending a request using the ListRemoteAccessSessionsRequest method.
4782//    req, resp := client.ListRemoteAccessSessionsRequest(params)
4783//
4784//    err := req.Send()
4785//    if err == nil { // resp is now filled
4786//        fmt.Println(resp)
4787//    }
4788//
4789// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRemoteAccessSessions
4790func (c *DeviceFarm) ListRemoteAccessSessionsRequest(input *ListRemoteAccessSessionsInput) (req *request.Request, output *ListRemoteAccessSessionsOutput) {
4791	op := &request.Operation{
4792		Name:       opListRemoteAccessSessions,
4793		HTTPMethod: "POST",
4794		HTTPPath:   "/",
4795	}
4796
4797	if input == nil {
4798		input = &ListRemoteAccessSessionsInput{}
4799	}
4800
4801	output = &ListRemoteAccessSessionsOutput{}
4802	req = c.newRequest(op, input, output)
4803	return
4804}
4805
4806// ListRemoteAccessSessions API operation for AWS Device Farm.
4807//
4808// Returns a list of all currently running remote access sessions.
4809//
4810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4811// with awserr.Error's Code and Message methods to get detailed information about
4812// the error.
4813//
4814// See the AWS API reference guide for AWS Device Farm's
4815// API operation ListRemoteAccessSessions for usage and error information.
4816//
4817// Returned Error Types:
4818//   * ArgumentException
4819//   An invalid argument was specified.
4820//
4821//   * NotFoundException
4822//   The specified entity was not found.
4823//
4824//   * LimitExceededException
4825//   A limit was exceeded.
4826//
4827//   * ServiceAccountException
4828//   There was a problem with the service account.
4829//
4830// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRemoteAccessSessions
4831func (c *DeviceFarm) ListRemoteAccessSessions(input *ListRemoteAccessSessionsInput) (*ListRemoteAccessSessionsOutput, error) {
4832	req, out := c.ListRemoteAccessSessionsRequest(input)
4833	return out, req.Send()
4834}
4835
4836// ListRemoteAccessSessionsWithContext is the same as ListRemoteAccessSessions with the addition of
4837// the ability to pass a context and additional request options.
4838//
4839// See ListRemoteAccessSessions for details on how to use this API operation.
4840//
4841// The context must be non-nil and will be used for request cancellation. If
4842// the context is nil a panic will occur. In the future the SDK may create
4843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4844// for more information on using Contexts.
4845func (c *DeviceFarm) ListRemoteAccessSessionsWithContext(ctx aws.Context, input *ListRemoteAccessSessionsInput, opts ...request.Option) (*ListRemoteAccessSessionsOutput, error) {
4846	req, out := c.ListRemoteAccessSessionsRequest(input)
4847	req.SetContext(ctx)
4848	req.ApplyOptions(opts...)
4849	return out, req.Send()
4850}
4851
4852const opListRuns = "ListRuns"
4853
4854// ListRunsRequest generates a "aws/request.Request" representing the
4855// client's request for the ListRuns operation. The "output" return
4856// value will be populated with the request's response once the request completes
4857// successfully.
4858//
4859// Use "Send" method on the returned Request to send the API call to the service.
4860// the "output" return value is not valid until after Send returns without error.
4861//
4862// See ListRuns for more information on using the ListRuns
4863// API call, and error handling.
4864//
4865// This method is useful when you want to inject custom logic or configuration
4866// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4867//
4868//
4869//    // Example sending a request using the ListRunsRequest method.
4870//    req, resp := client.ListRunsRequest(params)
4871//
4872//    err := req.Send()
4873//    if err == nil { // resp is now filled
4874//        fmt.Println(resp)
4875//    }
4876//
4877// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRuns
4878func (c *DeviceFarm) ListRunsRequest(input *ListRunsInput) (req *request.Request, output *ListRunsOutput) {
4879	op := &request.Operation{
4880		Name:       opListRuns,
4881		HTTPMethod: "POST",
4882		HTTPPath:   "/",
4883		Paginator: &request.Paginator{
4884			InputTokens:     []string{"nextToken"},
4885			OutputTokens:    []string{"nextToken"},
4886			LimitToken:      "",
4887			TruncationToken: "",
4888		},
4889	}
4890
4891	if input == nil {
4892		input = &ListRunsInput{}
4893	}
4894
4895	output = &ListRunsOutput{}
4896	req = c.newRequest(op, input, output)
4897	return
4898}
4899
4900// ListRuns API operation for AWS Device Farm.
4901//
4902// Gets information about runs, given an AWS Device Farm project ARN.
4903//
4904// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4905// with awserr.Error's Code and Message methods to get detailed information about
4906// the error.
4907//
4908// See the AWS API reference guide for AWS Device Farm's
4909// API operation ListRuns for usage and error information.
4910//
4911// Returned Error Types:
4912//   * ArgumentException
4913//   An invalid argument was specified.
4914//
4915//   * NotFoundException
4916//   The specified entity was not found.
4917//
4918//   * LimitExceededException
4919//   A limit was exceeded.
4920//
4921//   * ServiceAccountException
4922//   There was a problem with the service account.
4923//
4924// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRuns
4925func (c *DeviceFarm) ListRuns(input *ListRunsInput) (*ListRunsOutput, error) {
4926	req, out := c.ListRunsRequest(input)
4927	return out, req.Send()
4928}
4929
4930// ListRunsWithContext is the same as ListRuns with the addition of
4931// the ability to pass a context and additional request options.
4932//
4933// See ListRuns for details on how to use this API operation.
4934//
4935// The context must be non-nil and will be used for request cancellation. If
4936// the context is nil a panic will occur. In the future the SDK may create
4937// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4938// for more information on using Contexts.
4939func (c *DeviceFarm) ListRunsWithContext(ctx aws.Context, input *ListRunsInput, opts ...request.Option) (*ListRunsOutput, error) {
4940	req, out := c.ListRunsRequest(input)
4941	req.SetContext(ctx)
4942	req.ApplyOptions(opts...)
4943	return out, req.Send()
4944}
4945
4946// ListRunsPages iterates over the pages of a ListRuns operation,
4947// calling the "fn" function with the response data for each page. To stop
4948// iterating, return false from the fn function.
4949//
4950// See ListRuns method for more information on how to use this operation.
4951//
4952// Note: This operation can generate multiple requests to a service.
4953//
4954//    // Example iterating over at most 3 pages of a ListRuns operation.
4955//    pageNum := 0
4956//    err := client.ListRunsPages(params,
4957//        func(page *devicefarm.ListRunsOutput, lastPage bool) bool {
4958//            pageNum++
4959//            fmt.Println(page)
4960//            return pageNum <= 3
4961//        })
4962//
4963func (c *DeviceFarm) ListRunsPages(input *ListRunsInput, fn func(*ListRunsOutput, bool) bool) error {
4964	return c.ListRunsPagesWithContext(aws.BackgroundContext(), input, fn)
4965}
4966
4967// ListRunsPagesWithContext same as ListRunsPages except
4968// it takes a Context and allows setting request options on the pages.
4969//
4970// The context must be non-nil and will be used for request cancellation. If
4971// the context is nil a panic will occur. In the future the SDK may create
4972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4973// for more information on using Contexts.
4974func (c *DeviceFarm) ListRunsPagesWithContext(ctx aws.Context, input *ListRunsInput, fn func(*ListRunsOutput, bool) bool, opts ...request.Option) error {
4975	p := request.Pagination{
4976		NewRequest: func() (*request.Request, error) {
4977			var inCpy *ListRunsInput
4978			if input != nil {
4979				tmp := *input
4980				inCpy = &tmp
4981			}
4982			req, _ := c.ListRunsRequest(inCpy)
4983			req.SetContext(ctx)
4984			req.ApplyOptions(opts...)
4985			return req, nil
4986		},
4987	}
4988
4989	for p.Next() {
4990		if !fn(p.Page().(*ListRunsOutput), !p.HasNextPage()) {
4991			break
4992		}
4993	}
4994
4995	return p.Err()
4996}
4997
4998const opListSamples = "ListSamples"
4999
5000// ListSamplesRequest generates a "aws/request.Request" representing the
5001// client's request for the ListSamples operation. The "output" return
5002// value will be populated with the request's response once the request completes
5003// successfully.
5004//
5005// Use "Send" method on the returned Request to send the API call to the service.
5006// the "output" return value is not valid until after Send returns without error.
5007//
5008// See ListSamples for more information on using the ListSamples
5009// API call, and error handling.
5010//
5011// This method is useful when you want to inject custom logic or configuration
5012// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5013//
5014//
5015//    // Example sending a request using the ListSamplesRequest method.
5016//    req, resp := client.ListSamplesRequest(params)
5017//
5018//    err := req.Send()
5019//    if err == nil { // resp is now filled
5020//        fmt.Println(resp)
5021//    }
5022//
5023// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSamples
5024func (c *DeviceFarm) ListSamplesRequest(input *ListSamplesInput) (req *request.Request, output *ListSamplesOutput) {
5025	op := &request.Operation{
5026		Name:       opListSamples,
5027		HTTPMethod: "POST",
5028		HTTPPath:   "/",
5029		Paginator: &request.Paginator{
5030			InputTokens:     []string{"nextToken"},
5031			OutputTokens:    []string{"nextToken"},
5032			LimitToken:      "",
5033			TruncationToken: "",
5034		},
5035	}
5036
5037	if input == nil {
5038		input = &ListSamplesInput{}
5039	}
5040
5041	output = &ListSamplesOutput{}
5042	req = c.newRequest(op, input, output)
5043	return
5044}
5045
5046// ListSamples API operation for AWS Device Farm.
5047//
5048// Gets information about samples, given an AWS Device Farm job ARN.
5049//
5050// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5051// with awserr.Error's Code and Message methods to get detailed information about
5052// the error.
5053//
5054// See the AWS API reference guide for AWS Device Farm's
5055// API operation ListSamples for usage and error information.
5056//
5057// Returned Error Types:
5058//   * ArgumentException
5059//   An invalid argument was specified.
5060//
5061//   * NotFoundException
5062//   The specified entity was not found.
5063//
5064//   * LimitExceededException
5065//   A limit was exceeded.
5066//
5067//   * ServiceAccountException
5068//   There was a problem with the service account.
5069//
5070// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSamples
5071func (c *DeviceFarm) ListSamples(input *ListSamplesInput) (*ListSamplesOutput, error) {
5072	req, out := c.ListSamplesRequest(input)
5073	return out, req.Send()
5074}
5075
5076// ListSamplesWithContext is the same as ListSamples with the addition of
5077// the ability to pass a context and additional request options.
5078//
5079// See ListSamples for details on how to use this API operation.
5080//
5081// The context must be non-nil and will be used for request cancellation. If
5082// the context is nil a panic will occur. In the future the SDK may create
5083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5084// for more information on using Contexts.
5085func (c *DeviceFarm) ListSamplesWithContext(ctx aws.Context, input *ListSamplesInput, opts ...request.Option) (*ListSamplesOutput, error) {
5086	req, out := c.ListSamplesRequest(input)
5087	req.SetContext(ctx)
5088	req.ApplyOptions(opts...)
5089	return out, req.Send()
5090}
5091
5092// ListSamplesPages iterates over the pages of a ListSamples operation,
5093// calling the "fn" function with the response data for each page. To stop
5094// iterating, return false from the fn function.
5095//
5096// See ListSamples method for more information on how to use this operation.
5097//
5098// Note: This operation can generate multiple requests to a service.
5099//
5100//    // Example iterating over at most 3 pages of a ListSamples operation.
5101//    pageNum := 0
5102//    err := client.ListSamplesPages(params,
5103//        func(page *devicefarm.ListSamplesOutput, lastPage bool) bool {
5104//            pageNum++
5105//            fmt.Println(page)
5106//            return pageNum <= 3
5107//        })
5108//
5109func (c *DeviceFarm) ListSamplesPages(input *ListSamplesInput, fn func(*ListSamplesOutput, bool) bool) error {
5110	return c.ListSamplesPagesWithContext(aws.BackgroundContext(), input, fn)
5111}
5112
5113// ListSamplesPagesWithContext same as ListSamplesPages except
5114// it takes a Context and allows setting request options on the pages.
5115//
5116// The context must be non-nil and will be used for request cancellation. If
5117// the context is nil a panic will occur. In the future the SDK may create
5118// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5119// for more information on using Contexts.
5120func (c *DeviceFarm) ListSamplesPagesWithContext(ctx aws.Context, input *ListSamplesInput, fn func(*ListSamplesOutput, bool) bool, opts ...request.Option) error {
5121	p := request.Pagination{
5122		NewRequest: func() (*request.Request, error) {
5123			var inCpy *ListSamplesInput
5124			if input != nil {
5125				tmp := *input
5126				inCpy = &tmp
5127			}
5128			req, _ := c.ListSamplesRequest(inCpy)
5129			req.SetContext(ctx)
5130			req.ApplyOptions(opts...)
5131			return req, nil
5132		},
5133	}
5134
5135	for p.Next() {
5136		if !fn(p.Page().(*ListSamplesOutput), !p.HasNextPage()) {
5137			break
5138		}
5139	}
5140
5141	return p.Err()
5142}
5143
5144const opListSuites = "ListSuites"
5145
5146// ListSuitesRequest generates a "aws/request.Request" representing the
5147// client's request for the ListSuites operation. The "output" return
5148// value will be populated with the request's response once the request completes
5149// successfully.
5150//
5151// Use "Send" method on the returned Request to send the API call to the service.
5152// the "output" return value is not valid until after Send returns without error.
5153//
5154// See ListSuites for more information on using the ListSuites
5155// API call, and error handling.
5156//
5157// This method is useful when you want to inject custom logic or configuration
5158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5159//
5160//
5161//    // Example sending a request using the ListSuitesRequest method.
5162//    req, resp := client.ListSuitesRequest(params)
5163//
5164//    err := req.Send()
5165//    if err == nil { // resp is now filled
5166//        fmt.Println(resp)
5167//    }
5168//
5169// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSuites
5170func (c *DeviceFarm) ListSuitesRequest(input *ListSuitesInput) (req *request.Request, output *ListSuitesOutput) {
5171	op := &request.Operation{
5172		Name:       opListSuites,
5173		HTTPMethod: "POST",
5174		HTTPPath:   "/",
5175		Paginator: &request.Paginator{
5176			InputTokens:     []string{"nextToken"},
5177			OutputTokens:    []string{"nextToken"},
5178			LimitToken:      "",
5179			TruncationToken: "",
5180		},
5181	}
5182
5183	if input == nil {
5184		input = &ListSuitesInput{}
5185	}
5186
5187	output = &ListSuitesOutput{}
5188	req = c.newRequest(op, input, output)
5189	return
5190}
5191
5192// ListSuites API operation for AWS Device Farm.
5193//
5194// Gets information about test suites for a given job.
5195//
5196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5197// with awserr.Error's Code and Message methods to get detailed information about
5198// the error.
5199//
5200// See the AWS API reference guide for AWS Device Farm's
5201// API operation ListSuites for usage and error information.
5202//
5203// Returned Error Types:
5204//   * ArgumentException
5205//   An invalid argument was specified.
5206//
5207//   * NotFoundException
5208//   The specified entity was not found.
5209//
5210//   * LimitExceededException
5211//   A limit was exceeded.
5212//
5213//   * ServiceAccountException
5214//   There was a problem with the service account.
5215//
5216// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSuites
5217func (c *DeviceFarm) ListSuites(input *ListSuitesInput) (*ListSuitesOutput, error) {
5218	req, out := c.ListSuitesRequest(input)
5219	return out, req.Send()
5220}
5221
5222// ListSuitesWithContext is the same as ListSuites with the addition of
5223// the ability to pass a context and additional request options.
5224//
5225// See ListSuites for details on how to use this API operation.
5226//
5227// The context must be non-nil and will be used for request cancellation. If
5228// the context is nil a panic will occur. In the future the SDK may create
5229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5230// for more information on using Contexts.
5231func (c *DeviceFarm) ListSuitesWithContext(ctx aws.Context, input *ListSuitesInput, opts ...request.Option) (*ListSuitesOutput, error) {
5232	req, out := c.ListSuitesRequest(input)
5233	req.SetContext(ctx)
5234	req.ApplyOptions(opts...)
5235	return out, req.Send()
5236}
5237
5238// ListSuitesPages iterates over the pages of a ListSuites operation,
5239// calling the "fn" function with the response data for each page. To stop
5240// iterating, return false from the fn function.
5241//
5242// See ListSuites method for more information on how to use this operation.
5243//
5244// Note: This operation can generate multiple requests to a service.
5245//
5246//    // Example iterating over at most 3 pages of a ListSuites operation.
5247//    pageNum := 0
5248//    err := client.ListSuitesPages(params,
5249//        func(page *devicefarm.ListSuitesOutput, lastPage bool) bool {
5250//            pageNum++
5251//            fmt.Println(page)
5252//            return pageNum <= 3
5253//        })
5254//
5255func (c *DeviceFarm) ListSuitesPages(input *ListSuitesInput, fn func(*ListSuitesOutput, bool) bool) error {
5256	return c.ListSuitesPagesWithContext(aws.BackgroundContext(), input, fn)
5257}
5258
5259// ListSuitesPagesWithContext same as ListSuitesPages except
5260// it takes a Context and allows setting request options on the pages.
5261//
5262// The context must be non-nil and will be used for request cancellation. If
5263// the context is nil a panic will occur. In the future the SDK may create
5264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5265// for more information on using Contexts.
5266func (c *DeviceFarm) ListSuitesPagesWithContext(ctx aws.Context, input *ListSuitesInput, fn func(*ListSuitesOutput, bool) bool, opts ...request.Option) error {
5267	p := request.Pagination{
5268		NewRequest: func() (*request.Request, error) {
5269			var inCpy *ListSuitesInput
5270			if input != nil {
5271				tmp := *input
5272				inCpy = &tmp
5273			}
5274			req, _ := c.ListSuitesRequest(inCpy)
5275			req.SetContext(ctx)
5276			req.ApplyOptions(opts...)
5277			return req, nil
5278		},
5279	}
5280
5281	for p.Next() {
5282		if !fn(p.Page().(*ListSuitesOutput), !p.HasNextPage()) {
5283			break
5284		}
5285	}
5286
5287	return p.Err()
5288}
5289
5290const opListTagsForResource = "ListTagsForResource"
5291
5292// ListTagsForResourceRequest generates a "aws/request.Request" representing the
5293// client's request for the ListTagsForResource operation. The "output" return
5294// value will be populated with the request's response once the request completes
5295// successfully.
5296//
5297// Use "Send" method on the returned Request to send the API call to the service.
5298// the "output" return value is not valid until after Send returns without error.
5299//
5300// See ListTagsForResource for more information on using the ListTagsForResource
5301// API call, and error handling.
5302//
5303// This method is useful when you want to inject custom logic or configuration
5304// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5305//
5306//
5307//    // Example sending a request using the ListTagsForResourceRequest method.
5308//    req, resp := client.ListTagsForResourceRequest(params)
5309//
5310//    err := req.Send()
5311//    if err == nil { // resp is now filled
5312//        fmt.Println(resp)
5313//    }
5314//
5315// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTagsForResource
5316func (c *DeviceFarm) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
5317	op := &request.Operation{
5318		Name:       opListTagsForResource,
5319		HTTPMethod: "POST",
5320		HTTPPath:   "/",
5321	}
5322
5323	if input == nil {
5324		input = &ListTagsForResourceInput{}
5325	}
5326
5327	output = &ListTagsForResourceOutput{}
5328	req = c.newRequest(op, input, output)
5329	return
5330}
5331
5332// ListTagsForResource API operation for AWS Device Farm.
5333//
5334// List the tags for an AWS Device Farm resource.
5335//
5336// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5337// with awserr.Error's Code and Message methods to get detailed information about
5338// the error.
5339//
5340// See the AWS API reference guide for AWS Device Farm's
5341// API operation ListTagsForResource for usage and error information.
5342//
5343// Returned Error Types:
5344//   * ArgumentException
5345//   An invalid argument was specified.
5346//
5347//   * NotFoundException
5348//   The specified entity was not found.
5349//
5350//   * TagOperationException
5351//   The operation was not successful. Try again.
5352//
5353// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTagsForResource
5354func (c *DeviceFarm) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
5355	req, out := c.ListTagsForResourceRequest(input)
5356	return out, req.Send()
5357}
5358
5359// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
5360// the ability to pass a context and additional request options.
5361//
5362// See ListTagsForResource for details on how to use this API operation.
5363//
5364// The context must be non-nil and will be used for request cancellation. If
5365// the context is nil a panic will occur. In the future the SDK may create
5366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5367// for more information on using Contexts.
5368func (c *DeviceFarm) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
5369	req, out := c.ListTagsForResourceRequest(input)
5370	req.SetContext(ctx)
5371	req.ApplyOptions(opts...)
5372	return out, req.Send()
5373}
5374
5375const opListTestGridProjects = "ListTestGridProjects"
5376
5377// ListTestGridProjectsRequest generates a "aws/request.Request" representing the
5378// client's request for the ListTestGridProjects operation. The "output" return
5379// value will be populated with the request's response once the request completes
5380// successfully.
5381//
5382// Use "Send" method on the returned Request to send the API call to the service.
5383// the "output" return value is not valid until after Send returns without error.
5384//
5385// See ListTestGridProjects for more information on using the ListTestGridProjects
5386// API call, and error handling.
5387//
5388// This method is useful when you want to inject custom logic or configuration
5389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5390//
5391//
5392//    // Example sending a request using the ListTestGridProjectsRequest method.
5393//    req, resp := client.ListTestGridProjectsRequest(params)
5394//
5395//    err := req.Send()
5396//    if err == nil { // resp is now filled
5397//        fmt.Println(resp)
5398//    }
5399//
5400// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridProjects
5401func (c *DeviceFarm) ListTestGridProjectsRequest(input *ListTestGridProjectsInput) (req *request.Request, output *ListTestGridProjectsOutput) {
5402	op := &request.Operation{
5403		Name:       opListTestGridProjects,
5404		HTTPMethod: "POST",
5405		HTTPPath:   "/",
5406		Paginator: &request.Paginator{
5407			InputTokens:     []string{"nextToken"},
5408			OutputTokens:    []string{"nextToken"},
5409			LimitToken:      "maxResult",
5410			TruncationToken: "",
5411		},
5412	}
5413
5414	if input == nil {
5415		input = &ListTestGridProjectsInput{}
5416	}
5417
5418	output = &ListTestGridProjectsOutput{}
5419	req = c.newRequest(op, input, output)
5420	return
5421}
5422
5423// ListTestGridProjects API operation for AWS Device Farm.
5424//
5425// Gets a list of all Selenium testing projects in your account.
5426//
5427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5428// with awserr.Error's Code and Message methods to get detailed information about
5429// the error.
5430//
5431// See the AWS API reference guide for AWS Device Farm's
5432// API operation ListTestGridProjects for usage and error information.
5433//
5434// Returned Error Types:
5435//   * ArgumentException
5436//   An invalid argument was specified.
5437//
5438//   * InternalServiceException
5439//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
5440//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
5441//
5442// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridProjects
5443func (c *DeviceFarm) ListTestGridProjects(input *ListTestGridProjectsInput) (*ListTestGridProjectsOutput, error) {
5444	req, out := c.ListTestGridProjectsRequest(input)
5445	return out, req.Send()
5446}
5447
5448// ListTestGridProjectsWithContext is the same as ListTestGridProjects with the addition of
5449// the ability to pass a context and additional request options.
5450//
5451// See ListTestGridProjects for details on how to use this API operation.
5452//
5453// The context must be non-nil and will be used for request cancellation. If
5454// the context is nil a panic will occur. In the future the SDK may create
5455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5456// for more information on using Contexts.
5457func (c *DeviceFarm) ListTestGridProjectsWithContext(ctx aws.Context, input *ListTestGridProjectsInput, opts ...request.Option) (*ListTestGridProjectsOutput, error) {
5458	req, out := c.ListTestGridProjectsRequest(input)
5459	req.SetContext(ctx)
5460	req.ApplyOptions(opts...)
5461	return out, req.Send()
5462}
5463
5464// ListTestGridProjectsPages iterates over the pages of a ListTestGridProjects operation,
5465// calling the "fn" function with the response data for each page. To stop
5466// iterating, return false from the fn function.
5467//
5468// See ListTestGridProjects method for more information on how to use this operation.
5469//
5470// Note: This operation can generate multiple requests to a service.
5471//
5472//    // Example iterating over at most 3 pages of a ListTestGridProjects operation.
5473//    pageNum := 0
5474//    err := client.ListTestGridProjectsPages(params,
5475//        func(page *devicefarm.ListTestGridProjectsOutput, lastPage bool) bool {
5476//            pageNum++
5477//            fmt.Println(page)
5478//            return pageNum <= 3
5479//        })
5480//
5481func (c *DeviceFarm) ListTestGridProjectsPages(input *ListTestGridProjectsInput, fn func(*ListTestGridProjectsOutput, bool) bool) error {
5482	return c.ListTestGridProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
5483}
5484
5485// ListTestGridProjectsPagesWithContext same as ListTestGridProjectsPages except
5486// it takes a Context and allows setting request options on the pages.
5487//
5488// The context must be non-nil and will be used for request cancellation. If
5489// the context is nil a panic will occur. In the future the SDK may create
5490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5491// for more information on using Contexts.
5492func (c *DeviceFarm) ListTestGridProjectsPagesWithContext(ctx aws.Context, input *ListTestGridProjectsInput, fn func(*ListTestGridProjectsOutput, bool) bool, opts ...request.Option) error {
5493	p := request.Pagination{
5494		NewRequest: func() (*request.Request, error) {
5495			var inCpy *ListTestGridProjectsInput
5496			if input != nil {
5497				tmp := *input
5498				inCpy = &tmp
5499			}
5500			req, _ := c.ListTestGridProjectsRequest(inCpy)
5501			req.SetContext(ctx)
5502			req.ApplyOptions(opts...)
5503			return req, nil
5504		},
5505	}
5506
5507	for p.Next() {
5508		if !fn(p.Page().(*ListTestGridProjectsOutput), !p.HasNextPage()) {
5509			break
5510		}
5511	}
5512
5513	return p.Err()
5514}
5515
5516const opListTestGridSessionActions = "ListTestGridSessionActions"
5517
5518// ListTestGridSessionActionsRequest generates a "aws/request.Request" representing the
5519// client's request for the ListTestGridSessionActions operation. The "output" return
5520// value will be populated with the request's response once the request completes
5521// successfully.
5522//
5523// Use "Send" method on the returned Request to send the API call to the service.
5524// the "output" return value is not valid until after Send returns without error.
5525//
5526// See ListTestGridSessionActions for more information on using the ListTestGridSessionActions
5527// API call, and error handling.
5528//
5529// This method is useful when you want to inject custom logic or configuration
5530// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5531//
5532//
5533//    // Example sending a request using the ListTestGridSessionActionsRequest method.
5534//    req, resp := client.ListTestGridSessionActionsRequest(params)
5535//
5536//    err := req.Send()
5537//    if err == nil { // resp is now filled
5538//        fmt.Println(resp)
5539//    }
5540//
5541// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionActions
5542func (c *DeviceFarm) ListTestGridSessionActionsRequest(input *ListTestGridSessionActionsInput) (req *request.Request, output *ListTestGridSessionActionsOutput) {
5543	op := &request.Operation{
5544		Name:       opListTestGridSessionActions,
5545		HTTPMethod: "POST",
5546		HTTPPath:   "/",
5547		Paginator: &request.Paginator{
5548			InputTokens:     []string{"nextToken"},
5549			OutputTokens:    []string{"nextToken"},
5550			LimitToken:      "maxResult",
5551			TruncationToken: "",
5552		},
5553	}
5554
5555	if input == nil {
5556		input = &ListTestGridSessionActionsInput{}
5557	}
5558
5559	output = &ListTestGridSessionActionsOutput{}
5560	req = c.newRequest(op, input, output)
5561	return
5562}
5563
5564// ListTestGridSessionActions API operation for AWS Device Farm.
5565//
5566// Returns a list of the actions taken in a TestGridSession.
5567//
5568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5569// with awserr.Error's Code and Message methods to get detailed information about
5570// the error.
5571//
5572// See the AWS API reference guide for AWS Device Farm's
5573// API operation ListTestGridSessionActions for usage and error information.
5574//
5575// Returned Error Types:
5576//   * NotFoundException
5577//   The specified entity was not found.
5578//
5579//   * ArgumentException
5580//   An invalid argument was specified.
5581//
5582//   * InternalServiceException
5583//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
5584//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
5585//
5586// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionActions
5587func (c *DeviceFarm) ListTestGridSessionActions(input *ListTestGridSessionActionsInput) (*ListTestGridSessionActionsOutput, error) {
5588	req, out := c.ListTestGridSessionActionsRequest(input)
5589	return out, req.Send()
5590}
5591
5592// ListTestGridSessionActionsWithContext is the same as ListTestGridSessionActions with the addition of
5593// the ability to pass a context and additional request options.
5594//
5595// See ListTestGridSessionActions for details on how to use this API operation.
5596//
5597// The context must be non-nil and will be used for request cancellation. If
5598// the context is nil a panic will occur. In the future the SDK may create
5599// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5600// for more information on using Contexts.
5601func (c *DeviceFarm) ListTestGridSessionActionsWithContext(ctx aws.Context, input *ListTestGridSessionActionsInput, opts ...request.Option) (*ListTestGridSessionActionsOutput, error) {
5602	req, out := c.ListTestGridSessionActionsRequest(input)
5603	req.SetContext(ctx)
5604	req.ApplyOptions(opts...)
5605	return out, req.Send()
5606}
5607
5608// ListTestGridSessionActionsPages iterates over the pages of a ListTestGridSessionActions operation,
5609// calling the "fn" function with the response data for each page. To stop
5610// iterating, return false from the fn function.
5611//
5612// See ListTestGridSessionActions method for more information on how to use this operation.
5613//
5614// Note: This operation can generate multiple requests to a service.
5615//
5616//    // Example iterating over at most 3 pages of a ListTestGridSessionActions operation.
5617//    pageNum := 0
5618//    err := client.ListTestGridSessionActionsPages(params,
5619//        func(page *devicefarm.ListTestGridSessionActionsOutput, lastPage bool) bool {
5620//            pageNum++
5621//            fmt.Println(page)
5622//            return pageNum <= 3
5623//        })
5624//
5625func (c *DeviceFarm) ListTestGridSessionActionsPages(input *ListTestGridSessionActionsInput, fn func(*ListTestGridSessionActionsOutput, bool) bool) error {
5626	return c.ListTestGridSessionActionsPagesWithContext(aws.BackgroundContext(), input, fn)
5627}
5628
5629// ListTestGridSessionActionsPagesWithContext same as ListTestGridSessionActionsPages except
5630// it takes a Context and allows setting request options on the pages.
5631//
5632// The context must be non-nil and will be used for request cancellation. If
5633// the context is nil a panic will occur. In the future the SDK may create
5634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5635// for more information on using Contexts.
5636func (c *DeviceFarm) ListTestGridSessionActionsPagesWithContext(ctx aws.Context, input *ListTestGridSessionActionsInput, fn func(*ListTestGridSessionActionsOutput, bool) bool, opts ...request.Option) error {
5637	p := request.Pagination{
5638		NewRequest: func() (*request.Request, error) {
5639			var inCpy *ListTestGridSessionActionsInput
5640			if input != nil {
5641				tmp := *input
5642				inCpy = &tmp
5643			}
5644			req, _ := c.ListTestGridSessionActionsRequest(inCpy)
5645			req.SetContext(ctx)
5646			req.ApplyOptions(opts...)
5647			return req, nil
5648		},
5649	}
5650
5651	for p.Next() {
5652		if !fn(p.Page().(*ListTestGridSessionActionsOutput), !p.HasNextPage()) {
5653			break
5654		}
5655	}
5656
5657	return p.Err()
5658}
5659
5660const opListTestGridSessionArtifacts = "ListTestGridSessionArtifacts"
5661
5662// ListTestGridSessionArtifactsRequest generates a "aws/request.Request" representing the
5663// client's request for the ListTestGridSessionArtifacts operation. The "output" return
5664// value will be populated with the request's response once the request completes
5665// successfully.
5666//
5667// Use "Send" method on the returned Request to send the API call to the service.
5668// the "output" return value is not valid until after Send returns without error.
5669//
5670// See ListTestGridSessionArtifacts for more information on using the ListTestGridSessionArtifacts
5671// API call, and error handling.
5672//
5673// This method is useful when you want to inject custom logic or configuration
5674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5675//
5676//
5677//    // Example sending a request using the ListTestGridSessionArtifactsRequest method.
5678//    req, resp := client.ListTestGridSessionArtifactsRequest(params)
5679//
5680//    err := req.Send()
5681//    if err == nil { // resp is now filled
5682//        fmt.Println(resp)
5683//    }
5684//
5685// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionArtifacts
5686func (c *DeviceFarm) ListTestGridSessionArtifactsRequest(input *ListTestGridSessionArtifactsInput) (req *request.Request, output *ListTestGridSessionArtifactsOutput) {
5687	op := &request.Operation{
5688		Name:       opListTestGridSessionArtifacts,
5689		HTTPMethod: "POST",
5690		HTTPPath:   "/",
5691		Paginator: &request.Paginator{
5692			InputTokens:     []string{"nextToken"},
5693			OutputTokens:    []string{"nextToken"},
5694			LimitToken:      "maxResult",
5695			TruncationToken: "",
5696		},
5697	}
5698
5699	if input == nil {
5700		input = &ListTestGridSessionArtifactsInput{}
5701	}
5702
5703	output = &ListTestGridSessionArtifactsOutput{}
5704	req = c.newRequest(op, input, output)
5705	return
5706}
5707
5708// ListTestGridSessionArtifacts API operation for AWS Device Farm.
5709//
5710// Retrieves a list of artifacts created during the session.
5711//
5712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5713// with awserr.Error's Code and Message methods to get detailed information about
5714// the error.
5715//
5716// See the AWS API reference guide for AWS Device Farm's
5717// API operation ListTestGridSessionArtifacts for usage and error information.
5718//
5719// Returned Error Types:
5720//   * NotFoundException
5721//   The specified entity was not found.
5722//
5723//   * ArgumentException
5724//   An invalid argument was specified.
5725//
5726//   * InternalServiceException
5727//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
5728//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
5729//
5730// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionArtifacts
5731func (c *DeviceFarm) ListTestGridSessionArtifacts(input *ListTestGridSessionArtifactsInput) (*ListTestGridSessionArtifactsOutput, error) {
5732	req, out := c.ListTestGridSessionArtifactsRequest(input)
5733	return out, req.Send()
5734}
5735
5736// ListTestGridSessionArtifactsWithContext is the same as ListTestGridSessionArtifacts with the addition of
5737// the ability to pass a context and additional request options.
5738//
5739// See ListTestGridSessionArtifacts for details on how to use this API operation.
5740//
5741// The context must be non-nil and will be used for request cancellation. If
5742// the context is nil a panic will occur. In the future the SDK may create
5743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5744// for more information on using Contexts.
5745func (c *DeviceFarm) ListTestGridSessionArtifactsWithContext(ctx aws.Context, input *ListTestGridSessionArtifactsInput, opts ...request.Option) (*ListTestGridSessionArtifactsOutput, error) {
5746	req, out := c.ListTestGridSessionArtifactsRequest(input)
5747	req.SetContext(ctx)
5748	req.ApplyOptions(opts...)
5749	return out, req.Send()
5750}
5751
5752// ListTestGridSessionArtifactsPages iterates over the pages of a ListTestGridSessionArtifacts operation,
5753// calling the "fn" function with the response data for each page. To stop
5754// iterating, return false from the fn function.
5755//
5756// See ListTestGridSessionArtifacts method for more information on how to use this operation.
5757//
5758// Note: This operation can generate multiple requests to a service.
5759//
5760//    // Example iterating over at most 3 pages of a ListTestGridSessionArtifacts operation.
5761//    pageNum := 0
5762//    err := client.ListTestGridSessionArtifactsPages(params,
5763//        func(page *devicefarm.ListTestGridSessionArtifactsOutput, lastPage bool) bool {
5764//            pageNum++
5765//            fmt.Println(page)
5766//            return pageNum <= 3
5767//        })
5768//
5769func (c *DeviceFarm) ListTestGridSessionArtifactsPages(input *ListTestGridSessionArtifactsInput, fn func(*ListTestGridSessionArtifactsOutput, bool) bool) error {
5770	return c.ListTestGridSessionArtifactsPagesWithContext(aws.BackgroundContext(), input, fn)
5771}
5772
5773// ListTestGridSessionArtifactsPagesWithContext same as ListTestGridSessionArtifactsPages except
5774// it takes a Context and allows setting request options on the pages.
5775//
5776// The context must be non-nil and will be used for request cancellation. If
5777// the context is nil a panic will occur. In the future the SDK may create
5778// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5779// for more information on using Contexts.
5780func (c *DeviceFarm) ListTestGridSessionArtifactsPagesWithContext(ctx aws.Context, input *ListTestGridSessionArtifactsInput, fn func(*ListTestGridSessionArtifactsOutput, bool) bool, opts ...request.Option) error {
5781	p := request.Pagination{
5782		NewRequest: func() (*request.Request, error) {
5783			var inCpy *ListTestGridSessionArtifactsInput
5784			if input != nil {
5785				tmp := *input
5786				inCpy = &tmp
5787			}
5788			req, _ := c.ListTestGridSessionArtifactsRequest(inCpy)
5789			req.SetContext(ctx)
5790			req.ApplyOptions(opts...)
5791			return req, nil
5792		},
5793	}
5794
5795	for p.Next() {
5796		if !fn(p.Page().(*ListTestGridSessionArtifactsOutput), !p.HasNextPage()) {
5797			break
5798		}
5799	}
5800
5801	return p.Err()
5802}
5803
5804const opListTestGridSessions = "ListTestGridSessions"
5805
5806// ListTestGridSessionsRequest generates a "aws/request.Request" representing the
5807// client's request for the ListTestGridSessions operation. The "output" return
5808// value will be populated with the request's response once the request completes
5809// successfully.
5810//
5811// Use "Send" method on the returned Request to send the API call to the service.
5812// the "output" return value is not valid until after Send returns without error.
5813//
5814// See ListTestGridSessions for more information on using the ListTestGridSessions
5815// API call, and error handling.
5816//
5817// This method is useful when you want to inject custom logic or configuration
5818// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5819//
5820//
5821//    // Example sending a request using the ListTestGridSessionsRequest method.
5822//    req, resp := client.ListTestGridSessionsRequest(params)
5823//
5824//    err := req.Send()
5825//    if err == nil { // resp is now filled
5826//        fmt.Println(resp)
5827//    }
5828//
5829// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessions
5830func (c *DeviceFarm) ListTestGridSessionsRequest(input *ListTestGridSessionsInput) (req *request.Request, output *ListTestGridSessionsOutput) {
5831	op := &request.Operation{
5832		Name:       opListTestGridSessions,
5833		HTTPMethod: "POST",
5834		HTTPPath:   "/",
5835		Paginator: &request.Paginator{
5836			InputTokens:     []string{"nextToken"},
5837			OutputTokens:    []string{"nextToken"},
5838			LimitToken:      "maxResult",
5839			TruncationToken: "",
5840		},
5841	}
5842
5843	if input == nil {
5844		input = &ListTestGridSessionsInput{}
5845	}
5846
5847	output = &ListTestGridSessionsOutput{}
5848	req = c.newRequest(op, input, output)
5849	return
5850}
5851
5852// ListTestGridSessions API operation for AWS Device Farm.
5853//
5854// Retrieves a list of sessions for a TestGridProject.
5855//
5856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5857// with awserr.Error's Code and Message methods to get detailed information about
5858// the error.
5859//
5860// See the AWS API reference guide for AWS Device Farm's
5861// API operation ListTestGridSessions for usage and error information.
5862//
5863// Returned Error Types:
5864//   * NotFoundException
5865//   The specified entity was not found.
5866//
5867//   * ArgumentException
5868//   An invalid argument was specified.
5869//
5870//   * InternalServiceException
5871//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
5872//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
5873//
5874// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessions
5875func (c *DeviceFarm) ListTestGridSessions(input *ListTestGridSessionsInput) (*ListTestGridSessionsOutput, error) {
5876	req, out := c.ListTestGridSessionsRequest(input)
5877	return out, req.Send()
5878}
5879
5880// ListTestGridSessionsWithContext is the same as ListTestGridSessions with the addition of
5881// the ability to pass a context and additional request options.
5882//
5883// See ListTestGridSessions for details on how to use this API operation.
5884//
5885// The context must be non-nil and will be used for request cancellation. If
5886// the context is nil a panic will occur. In the future the SDK may create
5887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5888// for more information on using Contexts.
5889func (c *DeviceFarm) ListTestGridSessionsWithContext(ctx aws.Context, input *ListTestGridSessionsInput, opts ...request.Option) (*ListTestGridSessionsOutput, error) {
5890	req, out := c.ListTestGridSessionsRequest(input)
5891	req.SetContext(ctx)
5892	req.ApplyOptions(opts...)
5893	return out, req.Send()
5894}
5895
5896// ListTestGridSessionsPages iterates over the pages of a ListTestGridSessions operation,
5897// calling the "fn" function with the response data for each page. To stop
5898// iterating, return false from the fn function.
5899//
5900// See ListTestGridSessions method for more information on how to use this operation.
5901//
5902// Note: This operation can generate multiple requests to a service.
5903//
5904//    // Example iterating over at most 3 pages of a ListTestGridSessions operation.
5905//    pageNum := 0
5906//    err := client.ListTestGridSessionsPages(params,
5907//        func(page *devicefarm.ListTestGridSessionsOutput, lastPage bool) bool {
5908//            pageNum++
5909//            fmt.Println(page)
5910//            return pageNum <= 3
5911//        })
5912//
5913func (c *DeviceFarm) ListTestGridSessionsPages(input *ListTestGridSessionsInput, fn func(*ListTestGridSessionsOutput, bool) bool) error {
5914	return c.ListTestGridSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
5915}
5916
5917// ListTestGridSessionsPagesWithContext same as ListTestGridSessionsPages except
5918// it takes a Context and allows setting request options on the pages.
5919//
5920// The context must be non-nil and will be used for request cancellation. If
5921// the context is nil a panic will occur. In the future the SDK may create
5922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5923// for more information on using Contexts.
5924func (c *DeviceFarm) ListTestGridSessionsPagesWithContext(ctx aws.Context, input *ListTestGridSessionsInput, fn func(*ListTestGridSessionsOutput, bool) bool, opts ...request.Option) error {
5925	p := request.Pagination{
5926		NewRequest: func() (*request.Request, error) {
5927			var inCpy *ListTestGridSessionsInput
5928			if input != nil {
5929				tmp := *input
5930				inCpy = &tmp
5931			}
5932			req, _ := c.ListTestGridSessionsRequest(inCpy)
5933			req.SetContext(ctx)
5934			req.ApplyOptions(opts...)
5935			return req, nil
5936		},
5937	}
5938
5939	for p.Next() {
5940		if !fn(p.Page().(*ListTestGridSessionsOutput), !p.HasNextPage()) {
5941			break
5942		}
5943	}
5944
5945	return p.Err()
5946}
5947
5948const opListTests = "ListTests"
5949
5950// ListTestsRequest generates a "aws/request.Request" representing the
5951// client's request for the ListTests operation. The "output" return
5952// value will be populated with the request's response once the request completes
5953// successfully.
5954//
5955// Use "Send" method on the returned Request to send the API call to the service.
5956// the "output" return value is not valid until after Send returns without error.
5957//
5958// See ListTests for more information on using the ListTests
5959// API call, and error handling.
5960//
5961// This method is useful when you want to inject custom logic or configuration
5962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5963//
5964//
5965//    // Example sending a request using the ListTestsRequest method.
5966//    req, resp := client.ListTestsRequest(params)
5967//
5968//    err := req.Send()
5969//    if err == nil { // resp is now filled
5970//        fmt.Println(resp)
5971//    }
5972//
5973// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTests
5974func (c *DeviceFarm) ListTestsRequest(input *ListTestsInput) (req *request.Request, output *ListTestsOutput) {
5975	op := &request.Operation{
5976		Name:       opListTests,
5977		HTTPMethod: "POST",
5978		HTTPPath:   "/",
5979		Paginator: &request.Paginator{
5980			InputTokens:     []string{"nextToken"},
5981			OutputTokens:    []string{"nextToken"},
5982			LimitToken:      "",
5983			TruncationToken: "",
5984		},
5985	}
5986
5987	if input == nil {
5988		input = &ListTestsInput{}
5989	}
5990
5991	output = &ListTestsOutput{}
5992	req = c.newRequest(op, input, output)
5993	return
5994}
5995
5996// ListTests API operation for AWS Device Farm.
5997//
5998// Gets information about tests in a given test suite.
5999//
6000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6001// with awserr.Error's Code and Message methods to get detailed information about
6002// the error.
6003//
6004// See the AWS API reference guide for AWS Device Farm's
6005// API operation ListTests for usage and error information.
6006//
6007// Returned Error Types:
6008//   * ArgumentException
6009//   An invalid argument was specified.
6010//
6011//   * NotFoundException
6012//   The specified entity was not found.
6013//
6014//   * LimitExceededException
6015//   A limit was exceeded.
6016//
6017//   * ServiceAccountException
6018//   There was a problem with the service account.
6019//
6020// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTests
6021func (c *DeviceFarm) ListTests(input *ListTestsInput) (*ListTestsOutput, error) {
6022	req, out := c.ListTestsRequest(input)
6023	return out, req.Send()
6024}
6025
6026// ListTestsWithContext is the same as ListTests with the addition of
6027// the ability to pass a context and additional request options.
6028//
6029// See ListTests for details on how to use this API operation.
6030//
6031// The context must be non-nil and will be used for request cancellation. If
6032// the context is nil a panic will occur. In the future the SDK may create
6033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6034// for more information on using Contexts.
6035func (c *DeviceFarm) ListTestsWithContext(ctx aws.Context, input *ListTestsInput, opts ...request.Option) (*ListTestsOutput, error) {
6036	req, out := c.ListTestsRequest(input)
6037	req.SetContext(ctx)
6038	req.ApplyOptions(opts...)
6039	return out, req.Send()
6040}
6041
6042// ListTestsPages iterates over the pages of a ListTests operation,
6043// calling the "fn" function with the response data for each page. To stop
6044// iterating, return false from the fn function.
6045//
6046// See ListTests method for more information on how to use this operation.
6047//
6048// Note: This operation can generate multiple requests to a service.
6049//
6050//    // Example iterating over at most 3 pages of a ListTests operation.
6051//    pageNum := 0
6052//    err := client.ListTestsPages(params,
6053//        func(page *devicefarm.ListTestsOutput, lastPage bool) bool {
6054//            pageNum++
6055//            fmt.Println(page)
6056//            return pageNum <= 3
6057//        })
6058//
6059func (c *DeviceFarm) ListTestsPages(input *ListTestsInput, fn func(*ListTestsOutput, bool) bool) error {
6060	return c.ListTestsPagesWithContext(aws.BackgroundContext(), input, fn)
6061}
6062
6063// ListTestsPagesWithContext same as ListTestsPages except
6064// it takes a Context and allows setting request options on the pages.
6065//
6066// The context must be non-nil and will be used for request cancellation. If
6067// the context is nil a panic will occur. In the future the SDK may create
6068// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6069// for more information on using Contexts.
6070func (c *DeviceFarm) ListTestsPagesWithContext(ctx aws.Context, input *ListTestsInput, fn func(*ListTestsOutput, bool) bool, opts ...request.Option) error {
6071	p := request.Pagination{
6072		NewRequest: func() (*request.Request, error) {
6073			var inCpy *ListTestsInput
6074			if input != nil {
6075				tmp := *input
6076				inCpy = &tmp
6077			}
6078			req, _ := c.ListTestsRequest(inCpy)
6079			req.SetContext(ctx)
6080			req.ApplyOptions(opts...)
6081			return req, nil
6082		},
6083	}
6084
6085	for p.Next() {
6086		if !fn(p.Page().(*ListTestsOutput), !p.HasNextPage()) {
6087			break
6088		}
6089	}
6090
6091	return p.Err()
6092}
6093
6094const opListUniqueProblems = "ListUniqueProblems"
6095
6096// ListUniqueProblemsRequest generates a "aws/request.Request" representing the
6097// client's request for the ListUniqueProblems operation. The "output" return
6098// value will be populated with the request's response once the request completes
6099// successfully.
6100//
6101// Use "Send" method on the returned Request to send the API call to the service.
6102// the "output" return value is not valid until after Send returns without error.
6103//
6104// See ListUniqueProblems for more information on using the ListUniqueProblems
6105// API call, and error handling.
6106//
6107// This method is useful when you want to inject custom logic or configuration
6108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6109//
6110//
6111//    // Example sending a request using the ListUniqueProblemsRequest method.
6112//    req, resp := client.ListUniqueProblemsRequest(params)
6113//
6114//    err := req.Send()
6115//    if err == nil { // resp is now filled
6116//        fmt.Println(resp)
6117//    }
6118//
6119// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUniqueProblems
6120func (c *DeviceFarm) ListUniqueProblemsRequest(input *ListUniqueProblemsInput) (req *request.Request, output *ListUniqueProblemsOutput) {
6121	op := &request.Operation{
6122		Name:       opListUniqueProblems,
6123		HTTPMethod: "POST",
6124		HTTPPath:   "/",
6125		Paginator: &request.Paginator{
6126			InputTokens:     []string{"nextToken"},
6127			OutputTokens:    []string{"nextToken"},
6128			LimitToken:      "",
6129			TruncationToken: "",
6130		},
6131	}
6132
6133	if input == nil {
6134		input = &ListUniqueProblemsInput{}
6135	}
6136
6137	output = &ListUniqueProblemsOutput{}
6138	req = c.newRequest(op, input, output)
6139	return
6140}
6141
6142// ListUniqueProblems API operation for AWS Device Farm.
6143//
6144// Gets information about unique problems, such as exceptions or crashes.
6145//
6146// Unique problems are defined as a single instance of an error across a run,
6147// job, or suite. For example, if a call in your application consistently raises
6148// an exception (OutOfBoundsException in MyActivity.java:386), ListUniqueProblems
6149// returns a single entry instead of many individual entries for that exception.
6150//
6151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6152// with awserr.Error's Code and Message methods to get detailed information about
6153// the error.
6154//
6155// See the AWS API reference guide for AWS Device Farm's
6156// API operation ListUniqueProblems for usage and error information.
6157//
6158// Returned Error Types:
6159//   * ArgumentException
6160//   An invalid argument was specified.
6161//
6162//   * NotFoundException
6163//   The specified entity was not found.
6164//
6165//   * LimitExceededException
6166//   A limit was exceeded.
6167//
6168//   * ServiceAccountException
6169//   There was a problem with the service account.
6170//
6171// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUniqueProblems
6172func (c *DeviceFarm) ListUniqueProblems(input *ListUniqueProblemsInput) (*ListUniqueProblemsOutput, error) {
6173	req, out := c.ListUniqueProblemsRequest(input)
6174	return out, req.Send()
6175}
6176
6177// ListUniqueProblemsWithContext is the same as ListUniqueProblems with the addition of
6178// the ability to pass a context and additional request options.
6179//
6180// See ListUniqueProblems for details on how to use this API operation.
6181//
6182// The context must be non-nil and will be used for request cancellation. If
6183// the context is nil a panic will occur. In the future the SDK may create
6184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6185// for more information on using Contexts.
6186func (c *DeviceFarm) ListUniqueProblemsWithContext(ctx aws.Context, input *ListUniqueProblemsInput, opts ...request.Option) (*ListUniqueProblemsOutput, error) {
6187	req, out := c.ListUniqueProblemsRequest(input)
6188	req.SetContext(ctx)
6189	req.ApplyOptions(opts...)
6190	return out, req.Send()
6191}
6192
6193// ListUniqueProblemsPages iterates over the pages of a ListUniqueProblems operation,
6194// calling the "fn" function with the response data for each page. To stop
6195// iterating, return false from the fn function.
6196//
6197// See ListUniqueProblems method for more information on how to use this operation.
6198//
6199// Note: This operation can generate multiple requests to a service.
6200//
6201//    // Example iterating over at most 3 pages of a ListUniqueProblems operation.
6202//    pageNum := 0
6203//    err := client.ListUniqueProblemsPages(params,
6204//        func(page *devicefarm.ListUniqueProblemsOutput, lastPage bool) bool {
6205//            pageNum++
6206//            fmt.Println(page)
6207//            return pageNum <= 3
6208//        })
6209//
6210func (c *DeviceFarm) ListUniqueProblemsPages(input *ListUniqueProblemsInput, fn func(*ListUniqueProblemsOutput, bool) bool) error {
6211	return c.ListUniqueProblemsPagesWithContext(aws.BackgroundContext(), input, fn)
6212}
6213
6214// ListUniqueProblemsPagesWithContext same as ListUniqueProblemsPages except
6215// it takes a Context and allows setting request options on the pages.
6216//
6217// The context must be non-nil and will be used for request cancellation. If
6218// the context is nil a panic will occur. In the future the SDK may create
6219// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6220// for more information on using Contexts.
6221func (c *DeviceFarm) ListUniqueProblemsPagesWithContext(ctx aws.Context, input *ListUniqueProblemsInput, fn func(*ListUniqueProblemsOutput, bool) bool, opts ...request.Option) error {
6222	p := request.Pagination{
6223		NewRequest: func() (*request.Request, error) {
6224			var inCpy *ListUniqueProblemsInput
6225			if input != nil {
6226				tmp := *input
6227				inCpy = &tmp
6228			}
6229			req, _ := c.ListUniqueProblemsRequest(inCpy)
6230			req.SetContext(ctx)
6231			req.ApplyOptions(opts...)
6232			return req, nil
6233		},
6234	}
6235
6236	for p.Next() {
6237		if !fn(p.Page().(*ListUniqueProblemsOutput), !p.HasNextPage()) {
6238			break
6239		}
6240	}
6241
6242	return p.Err()
6243}
6244
6245const opListUploads = "ListUploads"
6246
6247// ListUploadsRequest generates a "aws/request.Request" representing the
6248// client's request for the ListUploads operation. The "output" return
6249// value will be populated with the request's response once the request completes
6250// successfully.
6251//
6252// Use "Send" method on the returned Request to send the API call to the service.
6253// the "output" return value is not valid until after Send returns without error.
6254//
6255// See ListUploads for more information on using the ListUploads
6256// API call, and error handling.
6257//
6258// This method is useful when you want to inject custom logic or configuration
6259// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6260//
6261//
6262//    // Example sending a request using the ListUploadsRequest method.
6263//    req, resp := client.ListUploadsRequest(params)
6264//
6265//    err := req.Send()
6266//    if err == nil { // resp is now filled
6267//        fmt.Println(resp)
6268//    }
6269//
6270// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUploads
6271func (c *DeviceFarm) ListUploadsRequest(input *ListUploadsInput) (req *request.Request, output *ListUploadsOutput) {
6272	op := &request.Operation{
6273		Name:       opListUploads,
6274		HTTPMethod: "POST",
6275		HTTPPath:   "/",
6276		Paginator: &request.Paginator{
6277			InputTokens:     []string{"nextToken"},
6278			OutputTokens:    []string{"nextToken"},
6279			LimitToken:      "",
6280			TruncationToken: "",
6281		},
6282	}
6283
6284	if input == nil {
6285		input = &ListUploadsInput{}
6286	}
6287
6288	output = &ListUploadsOutput{}
6289	req = c.newRequest(op, input, output)
6290	return
6291}
6292
6293// ListUploads API operation for AWS Device Farm.
6294//
6295// Gets information about uploads, given an AWS Device Farm project ARN.
6296//
6297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6298// with awserr.Error's Code and Message methods to get detailed information about
6299// the error.
6300//
6301// See the AWS API reference guide for AWS Device Farm's
6302// API operation ListUploads for usage and error information.
6303//
6304// Returned Error Types:
6305//   * ArgumentException
6306//   An invalid argument was specified.
6307//
6308//   * NotFoundException
6309//   The specified entity was not found.
6310//
6311//   * LimitExceededException
6312//   A limit was exceeded.
6313//
6314//   * ServiceAccountException
6315//   There was a problem with the service account.
6316//
6317// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUploads
6318func (c *DeviceFarm) ListUploads(input *ListUploadsInput) (*ListUploadsOutput, error) {
6319	req, out := c.ListUploadsRequest(input)
6320	return out, req.Send()
6321}
6322
6323// ListUploadsWithContext is the same as ListUploads with the addition of
6324// the ability to pass a context and additional request options.
6325//
6326// See ListUploads for details on how to use this API operation.
6327//
6328// The context must be non-nil and will be used for request cancellation. If
6329// the context is nil a panic will occur. In the future the SDK may create
6330// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6331// for more information on using Contexts.
6332func (c *DeviceFarm) ListUploadsWithContext(ctx aws.Context, input *ListUploadsInput, opts ...request.Option) (*ListUploadsOutput, error) {
6333	req, out := c.ListUploadsRequest(input)
6334	req.SetContext(ctx)
6335	req.ApplyOptions(opts...)
6336	return out, req.Send()
6337}
6338
6339// ListUploadsPages iterates over the pages of a ListUploads operation,
6340// calling the "fn" function with the response data for each page. To stop
6341// iterating, return false from the fn function.
6342//
6343// See ListUploads method for more information on how to use this operation.
6344//
6345// Note: This operation can generate multiple requests to a service.
6346//
6347//    // Example iterating over at most 3 pages of a ListUploads operation.
6348//    pageNum := 0
6349//    err := client.ListUploadsPages(params,
6350//        func(page *devicefarm.ListUploadsOutput, lastPage bool) bool {
6351//            pageNum++
6352//            fmt.Println(page)
6353//            return pageNum <= 3
6354//        })
6355//
6356func (c *DeviceFarm) ListUploadsPages(input *ListUploadsInput, fn func(*ListUploadsOutput, bool) bool) error {
6357	return c.ListUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
6358}
6359
6360// ListUploadsPagesWithContext same as ListUploadsPages except
6361// it takes a Context and allows setting request options on the pages.
6362//
6363// The context must be non-nil and will be used for request cancellation. If
6364// the context is nil a panic will occur. In the future the SDK may create
6365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6366// for more information on using Contexts.
6367func (c *DeviceFarm) ListUploadsPagesWithContext(ctx aws.Context, input *ListUploadsInput, fn func(*ListUploadsOutput, bool) bool, opts ...request.Option) error {
6368	p := request.Pagination{
6369		NewRequest: func() (*request.Request, error) {
6370			var inCpy *ListUploadsInput
6371			if input != nil {
6372				tmp := *input
6373				inCpy = &tmp
6374			}
6375			req, _ := c.ListUploadsRequest(inCpy)
6376			req.SetContext(ctx)
6377			req.ApplyOptions(opts...)
6378			return req, nil
6379		},
6380	}
6381
6382	for p.Next() {
6383		if !fn(p.Page().(*ListUploadsOutput), !p.HasNextPage()) {
6384			break
6385		}
6386	}
6387
6388	return p.Err()
6389}
6390
6391const opListVPCEConfigurations = "ListVPCEConfigurations"
6392
6393// ListVPCEConfigurationsRequest generates a "aws/request.Request" representing the
6394// client's request for the ListVPCEConfigurations operation. The "output" return
6395// value will be populated with the request's response once the request completes
6396// successfully.
6397//
6398// Use "Send" method on the returned Request to send the API call to the service.
6399// the "output" return value is not valid until after Send returns without error.
6400//
6401// See ListVPCEConfigurations for more information on using the ListVPCEConfigurations
6402// API call, and error handling.
6403//
6404// This method is useful when you want to inject custom logic or configuration
6405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6406//
6407//
6408//    // Example sending a request using the ListVPCEConfigurationsRequest method.
6409//    req, resp := client.ListVPCEConfigurationsRequest(params)
6410//
6411//    err := req.Send()
6412//    if err == nil { // resp is now filled
6413//        fmt.Println(resp)
6414//    }
6415//
6416// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListVPCEConfigurations
6417func (c *DeviceFarm) ListVPCEConfigurationsRequest(input *ListVPCEConfigurationsInput) (req *request.Request, output *ListVPCEConfigurationsOutput) {
6418	op := &request.Operation{
6419		Name:       opListVPCEConfigurations,
6420		HTTPMethod: "POST",
6421		HTTPPath:   "/",
6422	}
6423
6424	if input == nil {
6425		input = &ListVPCEConfigurationsInput{}
6426	}
6427
6428	output = &ListVPCEConfigurationsOutput{}
6429	req = c.newRequest(op, input, output)
6430	return
6431}
6432
6433// ListVPCEConfigurations API operation for AWS Device Farm.
6434//
6435// Returns information about all Amazon Virtual Private Cloud (VPC) endpoint
6436// configurations in the AWS account.
6437//
6438// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6439// with awserr.Error's Code and Message methods to get detailed information about
6440// the error.
6441//
6442// See the AWS API reference guide for AWS Device Farm's
6443// API operation ListVPCEConfigurations for usage and error information.
6444//
6445// Returned Error Types:
6446//   * ArgumentException
6447//   An invalid argument was specified.
6448//
6449//   * ServiceAccountException
6450//   There was a problem with the service account.
6451//
6452// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListVPCEConfigurations
6453func (c *DeviceFarm) ListVPCEConfigurations(input *ListVPCEConfigurationsInput) (*ListVPCEConfigurationsOutput, error) {
6454	req, out := c.ListVPCEConfigurationsRequest(input)
6455	return out, req.Send()
6456}
6457
6458// ListVPCEConfigurationsWithContext is the same as ListVPCEConfigurations with the addition of
6459// the ability to pass a context and additional request options.
6460//
6461// See ListVPCEConfigurations for details on how to use this API operation.
6462//
6463// The context must be non-nil and will be used for request cancellation. If
6464// the context is nil a panic will occur. In the future the SDK may create
6465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6466// for more information on using Contexts.
6467func (c *DeviceFarm) ListVPCEConfigurationsWithContext(ctx aws.Context, input *ListVPCEConfigurationsInput, opts ...request.Option) (*ListVPCEConfigurationsOutput, error) {
6468	req, out := c.ListVPCEConfigurationsRequest(input)
6469	req.SetContext(ctx)
6470	req.ApplyOptions(opts...)
6471	return out, req.Send()
6472}
6473
6474const opPurchaseOffering = "PurchaseOffering"
6475
6476// PurchaseOfferingRequest generates a "aws/request.Request" representing the
6477// client's request for the PurchaseOffering operation. The "output" return
6478// value will be populated with the request's response once the request completes
6479// successfully.
6480//
6481// Use "Send" method on the returned Request to send the API call to the service.
6482// the "output" return value is not valid until after Send returns without error.
6483//
6484// See PurchaseOffering for more information on using the PurchaseOffering
6485// API call, and error handling.
6486//
6487// This method is useful when you want to inject custom logic or configuration
6488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6489//
6490//
6491//    // Example sending a request using the PurchaseOfferingRequest method.
6492//    req, resp := client.PurchaseOfferingRequest(params)
6493//
6494//    err := req.Send()
6495//    if err == nil { // resp is now filled
6496//        fmt.Println(resp)
6497//    }
6498//
6499// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/PurchaseOffering
6500func (c *DeviceFarm) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) {
6501	op := &request.Operation{
6502		Name:       opPurchaseOffering,
6503		HTTPMethod: "POST",
6504		HTTPPath:   "/",
6505	}
6506
6507	if input == nil {
6508		input = &PurchaseOfferingInput{}
6509	}
6510
6511	output = &PurchaseOfferingOutput{}
6512	req = c.newRequest(op, input, output)
6513	return
6514}
6515
6516// PurchaseOffering API operation for AWS Device Farm.
6517//
6518// Immediately purchases offerings for an AWS account. Offerings renew with
6519// the latest total purchased quantity for an offering, unless the renewal was
6520// overridden. The API returns a NotEligible error if the user is not permitted
6521// to invoke the operation. If you must be able to invoke this operation, contact
6522// aws-devicefarm-support@amazon.com (mailto:aws-devicefarm-support@amazon.com).
6523//
6524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6525// with awserr.Error's Code and Message methods to get detailed information about
6526// the error.
6527//
6528// See the AWS API reference guide for AWS Device Farm's
6529// API operation PurchaseOffering for usage and error information.
6530//
6531// Returned Error Types:
6532//   * ArgumentException
6533//   An invalid argument was specified.
6534//
6535//   * NotFoundException
6536//   The specified entity was not found.
6537//
6538//   * NotEligibleException
6539//   Exception gets thrown when a user is not eligible to perform the specified
6540//   transaction.
6541//
6542//   * LimitExceededException
6543//   A limit was exceeded.
6544//
6545//   * ServiceAccountException
6546//   There was a problem with the service account.
6547//
6548// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/PurchaseOffering
6549func (c *DeviceFarm) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) {
6550	req, out := c.PurchaseOfferingRequest(input)
6551	return out, req.Send()
6552}
6553
6554// PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of
6555// the ability to pass a context and additional request options.
6556//
6557// See PurchaseOffering for details on how to use this API operation.
6558//
6559// The context must be non-nil and will be used for request cancellation. If
6560// the context is nil a panic will occur. In the future the SDK may create
6561// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6562// for more information on using Contexts.
6563func (c *DeviceFarm) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) {
6564	req, out := c.PurchaseOfferingRequest(input)
6565	req.SetContext(ctx)
6566	req.ApplyOptions(opts...)
6567	return out, req.Send()
6568}
6569
6570const opRenewOffering = "RenewOffering"
6571
6572// RenewOfferingRequest generates a "aws/request.Request" representing the
6573// client's request for the RenewOffering operation. The "output" return
6574// value will be populated with the request's response once the request completes
6575// successfully.
6576//
6577// Use "Send" method on the returned Request to send the API call to the service.
6578// the "output" return value is not valid until after Send returns without error.
6579//
6580// See RenewOffering for more information on using the RenewOffering
6581// API call, and error handling.
6582//
6583// This method is useful when you want to inject custom logic or configuration
6584// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6585//
6586//
6587//    // Example sending a request using the RenewOfferingRequest method.
6588//    req, resp := client.RenewOfferingRequest(params)
6589//
6590//    err := req.Send()
6591//    if err == nil { // resp is now filled
6592//        fmt.Println(resp)
6593//    }
6594//
6595// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RenewOffering
6596func (c *DeviceFarm) RenewOfferingRequest(input *RenewOfferingInput) (req *request.Request, output *RenewOfferingOutput) {
6597	op := &request.Operation{
6598		Name:       opRenewOffering,
6599		HTTPMethod: "POST",
6600		HTTPPath:   "/",
6601	}
6602
6603	if input == nil {
6604		input = &RenewOfferingInput{}
6605	}
6606
6607	output = &RenewOfferingOutput{}
6608	req = c.newRequest(op, input, output)
6609	return
6610}
6611
6612// RenewOffering API operation for AWS Device Farm.
6613//
6614// Explicitly sets the quantity of devices to renew for an offering, starting
6615// from the effectiveDate of the next period. The API returns a NotEligible
6616// error if the user is not permitted to invoke the operation. If you must be
6617// able to invoke this operation, contact aws-devicefarm-support@amazon.com
6618// (mailto:aws-devicefarm-support@amazon.com).
6619//
6620// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6621// with awserr.Error's Code and Message methods to get detailed information about
6622// the error.
6623//
6624// See the AWS API reference guide for AWS Device Farm's
6625// API operation RenewOffering for usage and error information.
6626//
6627// Returned Error Types:
6628//   * ArgumentException
6629//   An invalid argument was specified.
6630//
6631//   * NotFoundException
6632//   The specified entity was not found.
6633//
6634//   * NotEligibleException
6635//   Exception gets thrown when a user is not eligible to perform the specified
6636//   transaction.
6637//
6638//   * LimitExceededException
6639//   A limit was exceeded.
6640//
6641//   * ServiceAccountException
6642//   There was a problem with the service account.
6643//
6644// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RenewOffering
6645func (c *DeviceFarm) RenewOffering(input *RenewOfferingInput) (*RenewOfferingOutput, error) {
6646	req, out := c.RenewOfferingRequest(input)
6647	return out, req.Send()
6648}
6649
6650// RenewOfferingWithContext is the same as RenewOffering with the addition of
6651// the ability to pass a context and additional request options.
6652//
6653// See RenewOffering for details on how to use this API operation.
6654//
6655// The context must be non-nil and will be used for request cancellation. If
6656// the context is nil a panic will occur. In the future the SDK may create
6657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6658// for more information on using Contexts.
6659func (c *DeviceFarm) RenewOfferingWithContext(ctx aws.Context, input *RenewOfferingInput, opts ...request.Option) (*RenewOfferingOutput, error) {
6660	req, out := c.RenewOfferingRequest(input)
6661	req.SetContext(ctx)
6662	req.ApplyOptions(opts...)
6663	return out, req.Send()
6664}
6665
6666const opScheduleRun = "ScheduleRun"
6667
6668// ScheduleRunRequest generates a "aws/request.Request" representing the
6669// client's request for the ScheduleRun operation. The "output" return
6670// value will be populated with the request's response once the request completes
6671// successfully.
6672//
6673// Use "Send" method on the returned Request to send the API call to the service.
6674// the "output" return value is not valid until after Send returns without error.
6675//
6676// See ScheduleRun for more information on using the ScheduleRun
6677// API call, and error handling.
6678//
6679// This method is useful when you want to inject custom logic or configuration
6680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6681//
6682//
6683//    // Example sending a request using the ScheduleRunRequest method.
6684//    req, resp := client.ScheduleRunRequest(params)
6685//
6686//    err := req.Send()
6687//    if err == nil { // resp is now filled
6688//        fmt.Println(resp)
6689//    }
6690//
6691// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRun
6692func (c *DeviceFarm) ScheduleRunRequest(input *ScheduleRunInput) (req *request.Request, output *ScheduleRunOutput) {
6693	op := &request.Operation{
6694		Name:       opScheduleRun,
6695		HTTPMethod: "POST",
6696		HTTPPath:   "/",
6697	}
6698
6699	if input == nil {
6700		input = &ScheduleRunInput{}
6701	}
6702
6703	output = &ScheduleRunOutput{}
6704	req = c.newRequest(op, input, output)
6705	return
6706}
6707
6708// ScheduleRun API operation for AWS Device Farm.
6709//
6710// Schedules a run.
6711//
6712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6713// with awserr.Error's Code and Message methods to get detailed information about
6714// the error.
6715//
6716// See the AWS API reference guide for AWS Device Farm's
6717// API operation ScheduleRun for usage and error information.
6718//
6719// Returned Error Types:
6720//   * ArgumentException
6721//   An invalid argument was specified.
6722//
6723//   * NotFoundException
6724//   The specified entity was not found.
6725//
6726//   * LimitExceededException
6727//   A limit was exceeded.
6728//
6729//   * IdempotencyException
6730//   An entity with the same name already exists.
6731//
6732//   * ServiceAccountException
6733//   There was a problem with the service account.
6734//
6735// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRun
6736func (c *DeviceFarm) ScheduleRun(input *ScheduleRunInput) (*ScheduleRunOutput, error) {
6737	req, out := c.ScheduleRunRequest(input)
6738	return out, req.Send()
6739}
6740
6741// ScheduleRunWithContext is the same as ScheduleRun with the addition of
6742// the ability to pass a context and additional request options.
6743//
6744// See ScheduleRun for details on how to use this API operation.
6745//
6746// The context must be non-nil and will be used for request cancellation. If
6747// the context is nil a panic will occur. In the future the SDK may create
6748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6749// for more information on using Contexts.
6750func (c *DeviceFarm) ScheduleRunWithContext(ctx aws.Context, input *ScheduleRunInput, opts ...request.Option) (*ScheduleRunOutput, error) {
6751	req, out := c.ScheduleRunRequest(input)
6752	req.SetContext(ctx)
6753	req.ApplyOptions(opts...)
6754	return out, req.Send()
6755}
6756
6757const opStopJob = "StopJob"
6758
6759// StopJobRequest generates a "aws/request.Request" representing the
6760// client's request for the StopJob operation. The "output" return
6761// value will be populated with the request's response once the request completes
6762// successfully.
6763//
6764// Use "Send" method on the returned Request to send the API call to the service.
6765// the "output" return value is not valid until after Send returns without error.
6766//
6767// See StopJob for more information on using the StopJob
6768// API call, and error handling.
6769//
6770// This method is useful when you want to inject custom logic or configuration
6771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6772//
6773//
6774//    // Example sending a request using the StopJobRequest method.
6775//    req, resp := client.StopJobRequest(params)
6776//
6777//    err := req.Send()
6778//    if err == nil { // resp is now filled
6779//        fmt.Println(resp)
6780//    }
6781//
6782// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopJob
6783func (c *DeviceFarm) StopJobRequest(input *StopJobInput) (req *request.Request, output *StopJobOutput) {
6784	op := &request.Operation{
6785		Name:       opStopJob,
6786		HTTPMethod: "POST",
6787		HTTPPath:   "/",
6788	}
6789
6790	if input == nil {
6791		input = &StopJobInput{}
6792	}
6793
6794	output = &StopJobOutput{}
6795	req = c.newRequest(op, input, output)
6796	return
6797}
6798
6799// StopJob API operation for AWS Device Farm.
6800//
6801// Initiates a stop request for the current job. AWS Device Farm immediately
6802// stops the job on the device where tests have not started. You are not billed
6803// for this device. On the device where tests have started, setup suite and
6804// teardown suite tests run to completion on the device. You are billed for
6805// setup, teardown, and any tests that were in progress or already completed.
6806//
6807// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6808// with awserr.Error's Code and Message methods to get detailed information about
6809// the error.
6810//
6811// See the AWS API reference guide for AWS Device Farm's
6812// API operation StopJob for usage and error information.
6813//
6814// Returned Error Types:
6815//   * ArgumentException
6816//   An invalid argument was specified.
6817//
6818//   * NotFoundException
6819//   The specified entity was not found.
6820//
6821//   * LimitExceededException
6822//   A limit was exceeded.
6823//
6824//   * ServiceAccountException
6825//   There was a problem with the service account.
6826//
6827// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopJob
6828func (c *DeviceFarm) StopJob(input *StopJobInput) (*StopJobOutput, error) {
6829	req, out := c.StopJobRequest(input)
6830	return out, req.Send()
6831}
6832
6833// StopJobWithContext is the same as StopJob with the addition of
6834// the ability to pass a context and additional request options.
6835//
6836// See StopJob for details on how to use this API operation.
6837//
6838// The context must be non-nil and will be used for request cancellation. If
6839// the context is nil a panic will occur. In the future the SDK may create
6840// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6841// for more information on using Contexts.
6842func (c *DeviceFarm) StopJobWithContext(ctx aws.Context, input *StopJobInput, opts ...request.Option) (*StopJobOutput, error) {
6843	req, out := c.StopJobRequest(input)
6844	req.SetContext(ctx)
6845	req.ApplyOptions(opts...)
6846	return out, req.Send()
6847}
6848
6849const opStopRemoteAccessSession = "StopRemoteAccessSession"
6850
6851// StopRemoteAccessSessionRequest generates a "aws/request.Request" representing the
6852// client's request for the StopRemoteAccessSession operation. The "output" return
6853// value will be populated with the request's response once the request completes
6854// successfully.
6855//
6856// Use "Send" method on the returned Request to send the API call to the service.
6857// the "output" return value is not valid until after Send returns without error.
6858//
6859// See StopRemoteAccessSession for more information on using the StopRemoteAccessSession
6860// API call, and error handling.
6861//
6862// This method is useful when you want to inject custom logic or configuration
6863// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6864//
6865//
6866//    // Example sending a request using the StopRemoteAccessSessionRequest method.
6867//    req, resp := client.StopRemoteAccessSessionRequest(params)
6868//
6869//    err := req.Send()
6870//    if err == nil { // resp is now filled
6871//        fmt.Println(resp)
6872//    }
6873//
6874// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRemoteAccessSession
6875func (c *DeviceFarm) StopRemoteAccessSessionRequest(input *StopRemoteAccessSessionInput) (req *request.Request, output *StopRemoteAccessSessionOutput) {
6876	op := &request.Operation{
6877		Name:       opStopRemoteAccessSession,
6878		HTTPMethod: "POST",
6879		HTTPPath:   "/",
6880	}
6881
6882	if input == nil {
6883		input = &StopRemoteAccessSessionInput{}
6884	}
6885
6886	output = &StopRemoteAccessSessionOutput{}
6887	req = c.newRequest(op, input, output)
6888	return
6889}
6890
6891// StopRemoteAccessSession API operation for AWS Device Farm.
6892//
6893// Ends a specified remote access session.
6894//
6895// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6896// with awserr.Error's Code and Message methods to get detailed information about
6897// the error.
6898//
6899// See the AWS API reference guide for AWS Device Farm's
6900// API operation StopRemoteAccessSession for usage and error information.
6901//
6902// Returned Error Types:
6903//   * ArgumentException
6904//   An invalid argument was specified.
6905//
6906//   * NotFoundException
6907//   The specified entity was not found.
6908//
6909//   * LimitExceededException
6910//   A limit was exceeded.
6911//
6912//   * ServiceAccountException
6913//   There was a problem with the service account.
6914//
6915// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRemoteAccessSession
6916func (c *DeviceFarm) StopRemoteAccessSession(input *StopRemoteAccessSessionInput) (*StopRemoteAccessSessionOutput, error) {
6917	req, out := c.StopRemoteAccessSessionRequest(input)
6918	return out, req.Send()
6919}
6920
6921// StopRemoteAccessSessionWithContext is the same as StopRemoteAccessSession with the addition of
6922// the ability to pass a context and additional request options.
6923//
6924// See StopRemoteAccessSession for details on how to use this API operation.
6925//
6926// The context must be non-nil and will be used for request cancellation. If
6927// the context is nil a panic will occur. In the future the SDK may create
6928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6929// for more information on using Contexts.
6930func (c *DeviceFarm) StopRemoteAccessSessionWithContext(ctx aws.Context, input *StopRemoteAccessSessionInput, opts ...request.Option) (*StopRemoteAccessSessionOutput, error) {
6931	req, out := c.StopRemoteAccessSessionRequest(input)
6932	req.SetContext(ctx)
6933	req.ApplyOptions(opts...)
6934	return out, req.Send()
6935}
6936
6937const opStopRun = "StopRun"
6938
6939// StopRunRequest generates a "aws/request.Request" representing the
6940// client's request for the StopRun operation. The "output" return
6941// value will be populated with the request's response once the request completes
6942// successfully.
6943//
6944// Use "Send" method on the returned Request to send the API call to the service.
6945// the "output" return value is not valid until after Send returns without error.
6946//
6947// See StopRun for more information on using the StopRun
6948// API call, and error handling.
6949//
6950// This method is useful when you want to inject custom logic or configuration
6951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6952//
6953//
6954//    // Example sending a request using the StopRunRequest method.
6955//    req, resp := client.StopRunRequest(params)
6956//
6957//    err := req.Send()
6958//    if err == nil { // resp is now filled
6959//        fmt.Println(resp)
6960//    }
6961//
6962// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRun
6963func (c *DeviceFarm) StopRunRequest(input *StopRunInput) (req *request.Request, output *StopRunOutput) {
6964	op := &request.Operation{
6965		Name:       opStopRun,
6966		HTTPMethod: "POST",
6967		HTTPPath:   "/",
6968	}
6969
6970	if input == nil {
6971		input = &StopRunInput{}
6972	}
6973
6974	output = &StopRunOutput{}
6975	req = c.newRequest(op, input, output)
6976	return
6977}
6978
6979// StopRun API operation for AWS Device Farm.
6980//
6981// Initiates a stop request for the current test run. AWS Device Farm immediately
6982// stops the run on devices where tests have not started. You are not billed
6983// for these devices. On devices where tests have started executing, setup suite
6984// and teardown suite tests run to completion on those devices. You are billed
6985// for setup, teardown, and any tests that were in progress or already completed.
6986//
6987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6988// with awserr.Error's Code and Message methods to get detailed information about
6989// the error.
6990//
6991// See the AWS API reference guide for AWS Device Farm's
6992// API operation StopRun for usage and error information.
6993//
6994// Returned Error Types:
6995//   * ArgumentException
6996//   An invalid argument was specified.
6997//
6998//   * NotFoundException
6999//   The specified entity was not found.
7000//
7001//   * LimitExceededException
7002//   A limit was exceeded.
7003//
7004//   * ServiceAccountException
7005//   There was a problem with the service account.
7006//
7007// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRun
7008func (c *DeviceFarm) StopRun(input *StopRunInput) (*StopRunOutput, error) {
7009	req, out := c.StopRunRequest(input)
7010	return out, req.Send()
7011}
7012
7013// StopRunWithContext is the same as StopRun with the addition of
7014// the ability to pass a context and additional request options.
7015//
7016// See StopRun for details on how to use this API operation.
7017//
7018// The context must be non-nil and will be used for request cancellation. If
7019// the context is nil a panic will occur. In the future the SDK may create
7020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7021// for more information on using Contexts.
7022func (c *DeviceFarm) StopRunWithContext(ctx aws.Context, input *StopRunInput, opts ...request.Option) (*StopRunOutput, error) {
7023	req, out := c.StopRunRequest(input)
7024	req.SetContext(ctx)
7025	req.ApplyOptions(opts...)
7026	return out, req.Send()
7027}
7028
7029const opTagResource = "TagResource"
7030
7031// TagResourceRequest generates a "aws/request.Request" representing the
7032// client's request for the TagResource operation. The "output" return
7033// value will be populated with the request's response once the request completes
7034// successfully.
7035//
7036// Use "Send" method on the returned Request to send the API call to the service.
7037// the "output" return value is not valid until after Send returns without error.
7038//
7039// See TagResource for more information on using the TagResource
7040// API call, and error handling.
7041//
7042// This method is useful when you want to inject custom logic or configuration
7043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7044//
7045//
7046//    // Example sending a request using the TagResourceRequest method.
7047//    req, resp := client.TagResourceRequest(params)
7048//
7049//    err := req.Send()
7050//    if err == nil { // resp is now filled
7051//        fmt.Println(resp)
7052//    }
7053//
7054// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/TagResource
7055func (c *DeviceFarm) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
7056	op := &request.Operation{
7057		Name:       opTagResource,
7058		HTTPMethod: "POST",
7059		HTTPPath:   "/",
7060	}
7061
7062	if input == nil {
7063		input = &TagResourceInput{}
7064	}
7065
7066	output = &TagResourceOutput{}
7067	req = c.newRequest(op, input, output)
7068	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7069	return
7070}
7071
7072// TagResource API operation for AWS Device Farm.
7073//
7074// Associates the specified tags to a resource with the specified resourceArn.
7075// If existing tags on a resource are not specified in the request parameters,
7076// they are not changed. When a resource is deleted, the tags associated with
7077// that resource are also deleted.
7078//
7079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7080// with awserr.Error's Code and Message methods to get detailed information about
7081// the error.
7082//
7083// See the AWS API reference guide for AWS Device Farm's
7084// API operation TagResource for usage and error information.
7085//
7086// Returned Error Types:
7087//   * ArgumentException
7088//   An invalid argument was specified.
7089//
7090//   * NotFoundException
7091//   The specified entity was not found.
7092//
7093//   * TagOperationException
7094//   The operation was not successful. Try again.
7095//
7096//   * TooManyTagsException
7097//   The list of tags on the repository is over the limit. The maximum number
7098//   of tags that can be applied to a repository is 50.
7099//
7100//   * TagPolicyException
7101//   The request doesn't comply with the AWS Identity and Access Management (IAM)
7102//   tag policy. Correct your request and then retry it.
7103//
7104// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/TagResource
7105func (c *DeviceFarm) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
7106	req, out := c.TagResourceRequest(input)
7107	return out, req.Send()
7108}
7109
7110// TagResourceWithContext is the same as TagResource with the addition of
7111// the ability to pass a context and additional request options.
7112//
7113// See TagResource for details on how to use this API operation.
7114//
7115// The context must be non-nil and will be used for request cancellation. If
7116// the context is nil a panic will occur. In the future the SDK may create
7117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7118// for more information on using Contexts.
7119func (c *DeviceFarm) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
7120	req, out := c.TagResourceRequest(input)
7121	req.SetContext(ctx)
7122	req.ApplyOptions(opts...)
7123	return out, req.Send()
7124}
7125
7126const opUntagResource = "UntagResource"
7127
7128// UntagResourceRequest generates a "aws/request.Request" representing the
7129// client's request for the UntagResource operation. The "output" return
7130// value will be populated with the request's response once the request completes
7131// successfully.
7132//
7133// Use "Send" method on the returned Request to send the API call to the service.
7134// the "output" return value is not valid until after Send returns without error.
7135//
7136// See UntagResource for more information on using the UntagResource
7137// API call, and error handling.
7138//
7139// This method is useful when you want to inject custom logic or configuration
7140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7141//
7142//
7143//    // Example sending a request using the UntagResourceRequest method.
7144//    req, resp := client.UntagResourceRequest(params)
7145//
7146//    err := req.Send()
7147//    if err == nil { // resp is now filled
7148//        fmt.Println(resp)
7149//    }
7150//
7151// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UntagResource
7152func (c *DeviceFarm) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
7153	op := &request.Operation{
7154		Name:       opUntagResource,
7155		HTTPMethod: "POST",
7156		HTTPPath:   "/",
7157	}
7158
7159	if input == nil {
7160		input = &UntagResourceInput{}
7161	}
7162
7163	output = &UntagResourceOutput{}
7164	req = c.newRequest(op, input, output)
7165	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7166	return
7167}
7168
7169// UntagResource API operation for AWS Device Farm.
7170//
7171// Deletes the specified tags from a resource.
7172//
7173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7174// with awserr.Error's Code and Message methods to get detailed information about
7175// the error.
7176//
7177// See the AWS API reference guide for AWS Device Farm's
7178// API operation UntagResource for usage and error information.
7179//
7180// Returned Error Types:
7181//   * ArgumentException
7182//   An invalid argument was specified.
7183//
7184//   * NotFoundException
7185//   The specified entity was not found.
7186//
7187//   * TagOperationException
7188//   The operation was not successful. Try again.
7189//
7190// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UntagResource
7191func (c *DeviceFarm) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
7192	req, out := c.UntagResourceRequest(input)
7193	return out, req.Send()
7194}
7195
7196// UntagResourceWithContext is the same as UntagResource with the addition of
7197// the ability to pass a context and additional request options.
7198//
7199// See UntagResource for details on how to use this API operation.
7200//
7201// The context must be non-nil and will be used for request cancellation. If
7202// the context is nil a panic will occur. In the future the SDK may create
7203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7204// for more information on using Contexts.
7205func (c *DeviceFarm) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
7206	req, out := c.UntagResourceRequest(input)
7207	req.SetContext(ctx)
7208	req.ApplyOptions(opts...)
7209	return out, req.Send()
7210}
7211
7212const opUpdateDeviceInstance = "UpdateDeviceInstance"
7213
7214// UpdateDeviceInstanceRequest generates a "aws/request.Request" representing the
7215// client's request for the UpdateDeviceInstance operation. The "output" return
7216// value will be populated with the request's response once the request completes
7217// successfully.
7218//
7219// Use "Send" method on the returned Request to send the API call to the service.
7220// the "output" return value is not valid until after Send returns without error.
7221//
7222// See UpdateDeviceInstance for more information on using the UpdateDeviceInstance
7223// API call, and error handling.
7224//
7225// This method is useful when you want to inject custom logic or configuration
7226// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7227//
7228//
7229//    // Example sending a request using the UpdateDeviceInstanceRequest method.
7230//    req, resp := client.UpdateDeviceInstanceRequest(params)
7231//
7232//    err := req.Send()
7233//    if err == nil { // resp is now filled
7234//        fmt.Println(resp)
7235//    }
7236//
7237// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDeviceInstance
7238func (c *DeviceFarm) UpdateDeviceInstanceRequest(input *UpdateDeviceInstanceInput) (req *request.Request, output *UpdateDeviceInstanceOutput) {
7239	op := &request.Operation{
7240		Name:       opUpdateDeviceInstance,
7241		HTTPMethod: "POST",
7242		HTTPPath:   "/",
7243	}
7244
7245	if input == nil {
7246		input = &UpdateDeviceInstanceInput{}
7247	}
7248
7249	output = &UpdateDeviceInstanceOutput{}
7250	req = c.newRequest(op, input, output)
7251	return
7252}
7253
7254// UpdateDeviceInstance API operation for AWS Device Farm.
7255//
7256// Updates information about a private device instance.
7257//
7258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7259// with awserr.Error's Code and Message methods to get detailed information about
7260// the error.
7261//
7262// See the AWS API reference guide for AWS Device Farm's
7263// API operation UpdateDeviceInstance for usage and error information.
7264//
7265// Returned Error Types:
7266//   * ArgumentException
7267//   An invalid argument was specified.
7268//
7269//   * NotFoundException
7270//   The specified entity was not found.
7271//
7272//   * LimitExceededException
7273//   A limit was exceeded.
7274//
7275//   * ServiceAccountException
7276//   There was a problem with the service account.
7277//
7278// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDeviceInstance
7279func (c *DeviceFarm) UpdateDeviceInstance(input *UpdateDeviceInstanceInput) (*UpdateDeviceInstanceOutput, error) {
7280	req, out := c.UpdateDeviceInstanceRequest(input)
7281	return out, req.Send()
7282}
7283
7284// UpdateDeviceInstanceWithContext is the same as UpdateDeviceInstance with the addition of
7285// the ability to pass a context and additional request options.
7286//
7287// See UpdateDeviceInstance for details on how to use this API operation.
7288//
7289// The context must be non-nil and will be used for request cancellation. If
7290// the context is nil a panic will occur. In the future the SDK may create
7291// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7292// for more information on using Contexts.
7293func (c *DeviceFarm) UpdateDeviceInstanceWithContext(ctx aws.Context, input *UpdateDeviceInstanceInput, opts ...request.Option) (*UpdateDeviceInstanceOutput, error) {
7294	req, out := c.UpdateDeviceInstanceRequest(input)
7295	req.SetContext(ctx)
7296	req.ApplyOptions(opts...)
7297	return out, req.Send()
7298}
7299
7300const opUpdateDevicePool = "UpdateDevicePool"
7301
7302// UpdateDevicePoolRequest generates a "aws/request.Request" representing the
7303// client's request for the UpdateDevicePool operation. The "output" return
7304// value will be populated with the request's response once the request completes
7305// successfully.
7306//
7307// Use "Send" method on the returned Request to send the API call to the service.
7308// the "output" return value is not valid until after Send returns without error.
7309//
7310// See UpdateDevicePool for more information on using the UpdateDevicePool
7311// API call, and error handling.
7312//
7313// This method is useful when you want to inject custom logic or configuration
7314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7315//
7316//
7317//    // Example sending a request using the UpdateDevicePoolRequest method.
7318//    req, resp := client.UpdateDevicePoolRequest(params)
7319//
7320//    err := req.Send()
7321//    if err == nil { // resp is now filled
7322//        fmt.Println(resp)
7323//    }
7324//
7325// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDevicePool
7326func (c *DeviceFarm) UpdateDevicePoolRequest(input *UpdateDevicePoolInput) (req *request.Request, output *UpdateDevicePoolOutput) {
7327	op := &request.Operation{
7328		Name:       opUpdateDevicePool,
7329		HTTPMethod: "POST",
7330		HTTPPath:   "/",
7331	}
7332
7333	if input == nil {
7334		input = &UpdateDevicePoolInput{}
7335	}
7336
7337	output = &UpdateDevicePoolOutput{}
7338	req = c.newRequest(op, input, output)
7339	return
7340}
7341
7342// UpdateDevicePool API operation for AWS Device Farm.
7343//
7344// Modifies the name, description, and rules in a device pool given the attributes
7345// and the pool ARN. Rule updates are all-or-nothing, meaning they can only
7346// be updated as a whole (or not at all).
7347//
7348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7349// with awserr.Error's Code and Message methods to get detailed information about
7350// the error.
7351//
7352// See the AWS API reference guide for AWS Device Farm's
7353// API operation UpdateDevicePool for usage and error information.
7354//
7355// Returned Error Types:
7356//   * ArgumentException
7357//   An invalid argument was specified.
7358//
7359//   * NotFoundException
7360//   The specified entity was not found.
7361//
7362//   * LimitExceededException
7363//   A limit was exceeded.
7364//
7365//   * ServiceAccountException
7366//   There was a problem with the service account.
7367//
7368// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDevicePool
7369func (c *DeviceFarm) UpdateDevicePool(input *UpdateDevicePoolInput) (*UpdateDevicePoolOutput, error) {
7370	req, out := c.UpdateDevicePoolRequest(input)
7371	return out, req.Send()
7372}
7373
7374// UpdateDevicePoolWithContext is the same as UpdateDevicePool with the addition of
7375// the ability to pass a context and additional request options.
7376//
7377// See UpdateDevicePool for details on how to use this API operation.
7378//
7379// The context must be non-nil and will be used for request cancellation. If
7380// the context is nil a panic will occur. In the future the SDK may create
7381// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7382// for more information on using Contexts.
7383func (c *DeviceFarm) UpdateDevicePoolWithContext(ctx aws.Context, input *UpdateDevicePoolInput, opts ...request.Option) (*UpdateDevicePoolOutput, error) {
7384	req, out := c.UpdateDevicePoolRequest(input)
7385	req.SetContext(ctx)
7386	req.ApplyOptions(opts...)
7387	return out, req.Send()
7388}
7389
7390const opUpdateInstanceProfile = "UpdateInstanceProfile"
7391
7392// UpdateInstanceProfileRequest generates a "aws/request.Request" representing the
7393// client's request for the UpdateInstanceProfile operation. The "output" return
7394// value will be populated with the request's response once the request completes
7395// successfully.
7396//
7397// Use "Send" method on the returned Request to send the API call to the service.
7398// the "output" return value is not valid until after Send returns without error.
7399//
7400// See UpdateInstanceProfile for more information on using the UpdateInstanceProfile
7401// API call, and error handling.
7402//
7403// This method is useful when you want to inject custom logic or configuration
7404// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7405//
7406//
7407//    // Example sending a request using the UpdateInstanceProfileRequest method.
7408//    req, resp := client.UpdateInstanceProfileRequest(params)
7409//
7410//    err := req.Send()
7411//    if err == nil { // resp is now filled
7412//        fmt.Println(resp)
7413//    }
7414//
7415// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateInstanceProfile
7416func (c *DeviceFarm) UpdateInstanceProfileRequest(input *UpdateInstanceProfileInput) (req *request.Request, output *UpdateInstanceProfileOutput) {
7417	op := &request.Operation{
7418		Name:       opUpdateInstanceProfile,
7419		HTTPMethod: "POST",
7420		HTTPPath:   "/",
7421	}
7422
7423	if input == nil {
7424		input = &UpdateInstanceProfileInput{}
7425	}
7426
7427	output = &UpdateInstanceProfileOutput{}
7428	req = c.newRequest(op, input, output)
7429	return
7430}
7431
7432// UpdateInstanceProfile API operation for AWS Device Farm.
7433//
7434// Updates information about an existing private device instance profile.
7435//
7436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7437// with awserr.Error's Code and Message methods to get detailed information about
7438// the error.
7439//
7440// See the AWS API reference guide for AWS Device Farm's
7441// API operation UpdateInstanceProfile for usage and error information.
7442//
7443// Returned Error Types:
7444//   * ArgumentException
7445//   An invalid argument was specified.
7446//
7447//   * NotFoundException
7448//   The specified entity was not found.
7449//
7450//   * LimitExceededException
7451//   A limit was exceeded.
7452//
7453//   * ServiceAccountException
7454//   There was a problem with the service account.
7455//
7456// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateInstanceProfile
7457func (c *DeviceFarm) UpdateInstanceProfile(input *UpdateInstanceProfileInput) (*UpdateInstanceProfileOutput, error) {
7458	req, out := c.UpdateInstanceProfileRequest(input)
7459	return out, req.Send()
7460}
7461
7462// UpdateInstanceProfileWithContext is the same as UpdateInstanceProfile with the addition of
7463// the ability to pass a context and additional request options.
7464//
7465// See UpdateInstanceProfile for details on how to use this API operation.
7466//
7467// The context must be non-nil and will be used for request cancellation. If
7468// the context is nil a panic will occur. In the future the SDK may create
7469// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7470// for more information on using Contexts.
7471func (c *DeviceFarm) UpdateInstanceProfileWithContext(ctx aws.Context, input *UpdateInstanceProfileInput, opts ...request.Option) (*UpdateInstanceProfileOutput, error) {
7472	req, out := c.UpdateInstanceProfileRequest(input)
7473	req.SetContext(ctx)
7474	req.ApplyOptions(opts...)
7475	return out, req.Send()
7476}
7477
7478const opUpdateNetworkProfile = "UpdateNetworkProfile"
7479
7480// UpdateNetworkProfileRequest generates a "aws/request.Request" representing the
7481// client's request for the UpdateNetworkProfile operation. The "output" return
7482// value will be populated with the request's response once the request completes
7483// successfully.
7484//
7485// Use "Send" method on the returned Request to send the API call to the service.
7486// the "output" return value is not valid until after Send returns without error.
7487//
7488// See UpdateNetworkProfile for more information on using the UpdateNetworkProfile
7489// API call, and error handling.
7490//
7491// This method is useful when you want to inject custom logic or configuration
7492// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7493//
7494//
7495//    // Example sending a request using the UpdateNetworkProfileRequest method.
7496//    req, resp := client.UpdateNetworkProfileRequest(params)
7497//
7498//    err := req.Send()
7499//    if err == nil { // resp is now filled
7500//        fmt.Println(resp)
7501//    }
7502//
7503// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateNetworkProfile
7504func (c *DeviceFarm) UpdateNetworkProfileRequest(input *UpdateNetworkProfileInput) (req *request.Request, output *UpdateNetworkProfileOutput) {
7505	op := &request.Operation{
7506		Name:       opUpdateNetworkProfile,
7507		HTTPMethod: "POST",
7508		HTTPPath:   "/",
7509	}
7510
7511	if input == nil {
7512		input = &UpdateNetworkProfileInput{}
7513	}
7514
7515	output = &UpdateNetworkProfileOutput{}
7516	req = c.newRequest(op, input, output)
7517	return
7518}
7519
7520// UpdateNetworkProfile API operation for AWS Device Farm.
7521//
7522// Updates the network profile.
7523//
7524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7525// with awserr.Error's Code and Message methods to get detailed information about
7526// the error.
7527//
7528// See the AWS API reference guide for AWS Device Farm's
7529// API operation UpdateNetworkProfile for usage and error information.
7530//
7531// Returned Error Types:
7532//   * ArgumentException
7533//   An invalid argument was specified.
7534//
7535//   * NotFoundException
7536//   The specified entity was not found.
7537//
7538//   * LimitExceededException
7539//   A limit was exceeded.
7540//
7541//   * ServiceAccountException
7542//   There was a problem with the service account.
7543//
7544// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateNetworkProfile
7545func (c *DeviceFarm) UpdateNetworkProfile(input *UpdateNetworkProfileInput) (*UpdateNetworkProfileOutput, error) {
7546	req, out := c.UpdateNetworkProfileRequest(input)
7547	return out, req.Send()
7548}
7549
7550// UpdateNetworkProfileWithContext is the same as UpdateNetworkProfile with the addition of
7551// the ability to pass a context and additional request options.
7552//
7553// See UpdateNetworkProfile for details on how to use this API operation.
7554//
7555// The context must be non-nil and will be used for request cancellation. If
7556// the context is nil a panic will occur. In the future the SDK may create
7557// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7558// for more information on using Contexts.
7559func (c *DeviceFarm) UpdateNetworkProfileWithContext(ctx aws.Context, input *UpdateNetworkProfileInput, opts ...request.Option) (*UpdateNetworkProfileOutput, error) {
7560	req, out := c.UpdateNetworkProfileRequest(input)
7561	req.SetContext(ctx)
7562	req.ApplyOptions(opts...)
7563	return out, req.Send()
7564}
7565
7566const opUpdateProject = "UpdateProject"
7567
7568// UpdateProjectRequest generates a "aws/request.Request" representing the
7569// client's request for the UpdateProject operation. The "output" return
7570// value will be populated with the request's response once the request completes
7571// successfully.
7572//
7573// Use "Send" method on the returned Request to send the API call to the service.
7574// the "output" return value is not valid until after Send returns without error.
7575//
7576// See UpdateProject for more information on using the UpdateProject
7577// API call, and error handling.
7578//
7579// This method is useful when you want to inject custom logic or configuration
7580// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7581//
7582//
7583//    // Example sending a request using the UpdateProjectRequest method.
7584//    req, resp := client.UpdateProjectRequest(params)
7585//
7586//    err := req.Send()
7587//    if err == nil { // resp is now filled
7588//        fmt.Println(resp)
7589//    }
7590//
7591// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateProject
7592func (c *DeviceFarm) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
7593	op := &request.Operation{
7594		Name:       opUpdateProject,
7595		HTTPMethod: "POST",
7596		HTTPPath:   "/",
7597	}
7598
7599	if input == nil {
7600		input = &UpdateProjectInput{}
7601	}
7602
7603	output = &UpdateProjectOutput{}
7604	req = c.newRequest(op, input, output)
7605	return
7606}
7607
7608// UpdateProject API operation for AWS Device Farm.
7609//
7610// Modifies the specified project name, given the project ARN and a new name.
7611//
7612// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7613// with awserr.Error's Code and Message methods to get detailed information about
7614// the error.
7615//
7616// See the AWS API reference guide for AWS Device Farm's
7617// API operation UpdateProject for usage and error information.
7618//
7619// Returned Error Types:
7620//   * ArgumentException
7621//   An invalid argument was specified.
7622//
7623//   * NotFoundException
7624//   The specified entity was not found.
7625//
7626//   * LimitExceededException
7627//   A limit was exceeded.
7628//
7629//   * ServiceAccountException
7630//   There was a problem with the service account.
7631//
7632// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateProject
7633func (c *DeviceFarm) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
7634	req, out := c.UpdateProjectRequest(input)
7635	return out, req.Send()
7636}
7637
7638// UpdateProjectWithContext is the same as UpdateProject with the addition of
7639// the ability to pass a context and additional request options.
7640//
7641// See UpdateProject for details on how to use this API operation.
7642//
7643// The context must be non-nil and will be used for request cancellation. If
7644// the context is nil a panic will occur. In the future the SDK may create
7645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7646// for more information on using Contexts.
7647func (c *DeviceFarm) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
7648	req, out := c.UpdateProjectRequest(input)
7649	req.SetContext(ctx)
7650	req.ApplyOptions(opts...)
7651	return out, req.Send()
7652}
7653
7654const opUpdateTestGridProject = "UpdateTestGridProject"
7655
7656// UpdateTestGridProjectRequest generates a "aws/request.Request" representing the
7657// client's request for the UpdateTestGridProject operation. The "output" return
7658// value will be populated with the request's response once the request completes
7659// successfully.
7660//
7661// Use "Send" method on the returned Request to send the API call to the service.
7662// the "output" return value is not valid until after Send returns without error.
7663//
7664// See UpdateTestGridProject for more information on using the UpdateTestGridProject
7665// API call, and error handling.
7666//
7667// This method is useful when you want to inject custom logic or configuration
7668// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7669//
7670//
7671//    // Example sending a request using the UpdateTestGridProjectRequest method.
7672//    req, resp := client.UpdateTestGridProjectRequest(params)
7673//
7674//    err := req.Send()
7675//    if err == nil { // resp is now filled
7676//        fmt.Println(resp)
7677//    }
7678//
7679// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateTestGridProject
7680func (c *DeviceFarm) UpdateTestGridProjectRequest(input *UpdateTestGridProjectInput) (req *request.Request, output *UpdateTestGridProjectOutput) {
7681	op := &request.Operation{
7682		Name:       opUpdateTestGridProject,
7683		HTTPMethod: "POST",
7684		HTTPPath:   "/",
7685	}
7686
7687	if input == nil {
7688		input = &UpdateTestGridProjectInput{}
7689	}
7690
7691	output = &UpdateTestGridProjectOutput{}
7692	req = c.newRequest(op, input, output)
7693	return
7694}
7695
7696// UpdateTestGridProject API operation for AWS Device Farm.
7697//
7698// Change details of a project.
7699//
7700// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7701// with awserr.Error's Code and Message methods to get detailed information about
7702// the error.
7703//
7704// See the AWS API reference guide for AWS Device Farm's
7705// API operation UpdateTestGridProject for usage and error information.
7706//
7707// Returned Error Types:
7708//   * NotFoundException
7709//   The specified entity was not found.
7710//
7711//   * ArgumentException
7712//   An invalid argument was specified.
7713//
7714//   * LimitExceededException
7715//   A limit was exceeded.
7716//
7717//   * InternalServiceException
7718//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
7719//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
7720//
7721// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateTestGridProject
7722func (c *DeviceFarm) UpdateTestGridProject(input *UpdateTestGridProjectInput) (*UpdateTestGridProjectOutput, error) {
7723	req, out := c.UpdateTestGridProjectRequest(input)
7724	return out, req.Send()
7725}
7726
7727// UpdateTestGridProjectWithContext is the same as UpdateTestGridProject with the addition of
7728// the ability to pass a context and additional request options.
7729//
7730// See UpdateTestGridProject for details on how to use this API operation.
7731//
7732// The context must be non-nil and will be used for request cancellation. If
7733// the context is nil a panic will occur. In the future the SDK may create
7734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7735// for more information on using Contexts.
7736func (c *DeviceFarm) UpdateTestGridProjectWithContext(ctx aws.Context, input *UpdateTestGridProjectInput, opts ...request.Option) (*UpdateTestGridProjectOutput, error) {
7737	req, out := c.UpdateTestGridProjectRequest(input)
7738	req.SetContext(ctx)
7739	req.ApplyOptions(opts...)
7740	return out, req.Send()
7741}
7742
7743const opUpdateUpload = "UpdateUpload"
7744
7745// UpdateUploadRequest generates a "aws/request.Request" representing the
7746// client's request for the UpdateUpload operation. The "output" return
7747// value will be populated with the request's response once the request completes
7748// successfully.
7749//
7750// Use "Send" method on the returned Request to send the API call to the service.
7751// the "output" return value is not valid until after Send returns without error.
7752//
7753// See UpdateUpload for more information on using the UpdateUpload
7754// API call, and error handling.
7755//
7756// This method is useful when you want to inject custom logic or configuration
7757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7758//
7759//
7760//    // Example sending a request using the UpdateUploadRequest method.
7761//    req, resp := client.UpdateUploadRequest(params)
7762//
7763//    err := req.Send()
7764//    if err == nil { // resp is now filled
7765//        fmt.Println(resp)
7766//    }
7767//
7768// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateUpload
7769func (c *DeviceFarm) UpdateUploadRequest(input *UpdateUploadInput) (req *request.Request, output *UpdateUploadOutput) {
7770	op := &request.Operation{
7771		Name:       opUpdateUpload,
7772		HTTPMethod: "POST",
7773		HTTPPath:   "/",
7774	}
7775
7776	if input == nil {
7777		input = &UpdateUploadInput{}
7778	}
7779
7780	output = &UpdateUploadOutput{}
7781	req = c.newRequest(op, input, output)
7782	return
7783}
7784
7785// UpdateUpload API operation for AWS Device Farm.
7786//
7787// Updates an uploaded test spec.
7788//
7789// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7790// with awserr.Error's Code and Message methods to get detailed information about
7791// the error.
7792//
7793// See the AWS API reference guide for AWS Device Farm's
7794// API operation UpdateUpload for usage and error information.
7795//
7796// Returned Error Types:
7797//   * ArgumentException
7798//   An invalid argument was specified.
7799//
7800//   * NotFoundException
7801//   The specified entity was not found.
7802//
7803//   * LimitExceededException
7804//   A limit was exceeded.
7805//
7806//   * ServiceAccountException
7807//   There was a problem with the service account.
7808//
7809// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateUpload
7810func (c *DeviceFarm) UpdateUpload(input *UpdateUploadInput) (*UpdateUploadOutput, error) {
7811	req, out := c.UpdateUploadRequest(input)
7812	return out, req.Send()
7813}
7814
7815// UpdateUploadWithContext is the same as UpdateUpload with the addition of
7816// the ability to pass a context and additional request options.
7817//
7818// See UpdateUpload for details on how to use this API operation.
7819//
7820// The context must be non-nil and will be used for request cancellation. If
7821// the context is nil a panic will occur. In the future the SDK may create
7822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7823// for more information on using Contexts.
7824func (c *DeviceFarm) UpdateUploadWithContext(ctx aws.Context, input *UpdateUploadInput, opts ...request.Option) (*UpdateUploadOutput, error) {
7825	req, out := c.UpdateUploadRequest(input)
7826	req.SetContext(ctx)
7827	req.ApplyOptions(opts...)
7828	return out, req.Send()
7829}
7830
7831const opUpdateVPCEConfiguration = "UpdateVPCEConfiguration"
7832
7833// UpdateVPCEConfigurationRequest generates a "aws/request.Request" representing the
7834// client's request for the UpdateVPCEConfiguration operation. The "output" return
7835// value will be populated with the request's response once the request completes
7836// successfully.
7837//
7838// Use "Send" method on the returned Request to send the API call to the service.
7839// the "output" return value is not valid until after Send returns without error.
7840//
7841// See UpdateVPCEConfiguration for more information on using the UpdateVPCEConfiguration
7842// API call, and error handling.
7843//
7844// This method is useful when you want to inject custom logic or configuration
7845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7846//
7847//
7848//    // Example sending a request using the UpdateVPCEConfigurationRequest method.
7849//    req, resp := client.UpdateVPCEConfigurationRequest(params)
7850//
7851//    err := req.Send()
7852//    if err == nil { // resp is now filled
7853//        fmt.Println(resp)
7854//    }
7855//
7856// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateVPCEConfiguration
7857func (c *DeviceFarm) UpdateVPCEConfigurationRequest(input *UpdateVPCEConfigurationInput) (req *request.Request, output *UpdateVPCEConfigurationOutput) {
7858	op := &request.Operation{
7859		Name:       opUpdateVPCEConfiguration,
7860		HTTPMethod: "POST",
7861		HTTPPath:   "/",
7862	}
7863
7864	if input == nil {
7865		input = &UpdateVPCEConfigurationInput{}
7866	}
7867
7868	output = &UpdateVPCEConfigurationOutput{}
7869	req = c.newRequest(op, input, output)
7870	return
7871}
7872
7873// UpdateVPCEConfiguration API operation for AWS Device Farm.
7874//
7875// Updates information about an Amazon Virtual Private Cloud (VPC) endpoint
7876// configuration.
7877//
7878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7879// with awserr.Error's Code and Message methods to get detailed information about
7880// the error.
7881//
7882// See the AWS API reference guide for AWS Device Farm's
7883// API operation UpdateVPCEConfiguration for usage and error information.
7884//
7885// Returned Error Types:
7886//   * ArgumentException
7887//   An invalid argument was specified.
7888//
7889//   * NotFoundException
7890//   The specified entity was not found.
7891//
7892//   * ServiceAccountException
7893//   There was a problem with the service account.
7894//
7895//   * InvalidOperationException
7896//   There was an error with the update request, or you do not have sufficient
7897//   permissions to update this VPC endpoint configuration.
7898//
7899// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateVPCEConfiguration
7900func (c *DeviceFarm) UpdateVPCEConfiguration(input *UpdateVPCEConfigurationInput) (*UpdateVPCEConfigurationOutput, error) {
7901	req, out := c.UpdateVPCEConfigurationRequest(input)
7902	return out, req.Send()
7903}
7904
7905// UpdateVPCEConfigurationWithContext is the same as UpdateVPCEConfiguration with the addition of
7906// the ability to pass a context and additional request options.
7907//
7908// See UpdateVPCEConfiguration for details on how to use this API operation.
7909//
7910// The context must be non-nil and will be used for request cancellation. If
7911// the context is nil a panic will occur. In the future the SDK may create
7912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7913// for more information on using Contexts.
7914func (c *DeviceFarm) UpdateVPCEConfigurationWithContext(ctx aws.Context, input *UpdateVPCEConfigurationInput, opts ...request.Option) (*UpdateVPCEConfigurationOutput, error) {
7915	req, out := c.UpdateVPCEConfigurationRequest(input)
7916	req.SetContext(ctx)
7917	req.ApplyOptions(opts...)
7918	return out, req.Send()
7919}
7920
7921// A container for account-level settings in AWS Device Farm.
7922type AccountSettings struct {
7923	_ struct{} `type:"structure"`
7924
7925	// The AWS account number specified in the AccountSettings container.
7926	AwsAccountNumber *string `locationName:"awsAccountNumber" min:"2" type:"string"`
7927
7928	// The default number of minutes (at the account level) a test run executes
7929	// before it times out. The default value is 150 minutes.
7930	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
7931
7932	// The maximum number of minutes a test run executes before it times out.
7933	MaxJobTimeoutMinutes *int64 `locationName:"maxJobTimeoutMinutes" type:"integer"`
7934
7935	// The maximum number of device slots that the AWS account can purchase. Each
7936	// maximum is expressed as an offering-id:number pair, where the offering-id
7937	// represents one of the IDs returned by the ListOfferings command.
7938	MaxSlots map[string]*int64 `locationName:"maxSlots" type:"map"`
7939
7940	// When set to true, for private devices, Device Farm does not sign your app
7941	// again. For public devices, Device Farm always signs your apps again.
7942	//
7943	// For more information about how Device Farm re-signs your apps, see Do you
7944	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
7945	// Farm FAQs.
7946	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
7947
7948	// Information about an AWS account's usage of free trial device minutes.
7949	TrialMinutes *TrialMinutes `locationName:"trialMinutes" type:"structure"`
7950
7951	// Returns the unmetered devices you have purchased or want to purchase.
7952	UnmeteredDevices map[string]*int64 `locationName:"unmeteredDevices" type:"map"`
7953
7954	// Returns the unmetered remote access devices you have purchased or want to
7955	// purchase.
7956	UnmeteredRemoteAccessDevices map[string]*int64 `locationName:"unmeteredRemoteAccessDevices" type:"map"`
7957}
7958
7959// String returns the string representation
7960func (s AccountSettings) String() string {
7961	return awsutil.Prettify(s)
7962}
7963
7964// GoString returns the string representation
7965func (s AccountSettings) GoString() string {
7966	return s.String()
7967}
7968
7969// SetAwsAccountNumber sets the AwsAccountNumber field's value.
7970func (s *AccountSettings) SetAwsAccountNumber(v string) *AccountSettings {
7971	s.AwsAccountNumber = &v
7972	return s
7973}
7974
7975// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
7976func (s *AccountSettings) SetDefaultJobTimeoutMinutes(v int64) *AccountSettings {
7977	s.DefaultJobTimeoutMinutes = &v
7978	return s
7979}
7980
7981// SetMaxJobTimeoutMinutes sets the MaxJobTimeoutMinutes field's value.
7982func (s *AccountSettings) SetMaxJobTimeoutMinutes(v int64) *AccountSettings {
7983	s.MaxJobTimeoutMinutes = &v
7984	return s
7985}
7986
7987// SetMaxSlots sets the MaxSlots field's value.
7988func (s *AccountSettings) SetMaxSlots(v map[string]*int64) *AccountSettings {
7989	s.MaxSlots = v
7990	return s
7991}
7992
7993// SetSkipAppResign sets the SkipAppResign field's value.
7994func (s *AccountSettings) SetSkipAppResign(v bool) *AccountSettings {
7995	s.SkipAppResign = &v
7996	return s
7997}
7998
7999// SetTrialMinutes sets the TrialMinutes field's value.
8000func (s *AccountSettings) SetTrialMinutes(v *TrialMinutes) *AccountSettings {
8001	s.TrialMinutes = v
8002	return s
8003}
8004
8005// SetUnmeteredDevices sets the UnmeteredDevices field's value.
8006func (s *AccountSettings) SetUnmeteredDevices(v map[string]*int64) *AccountSettings {
8007	s.UnmeteredDevices = v
8008	return s
8009}
8010
8011// SetUnmeteredRemoteAccessDevices sets the UnmeteredRemoteAccessDevices field's value.
8012func (s *AccountSettings) SetUnmeteredRemoteAccessDevices(v map[string]*int64) *AccountSettings {
8013	s.UnmeteredRemoteAccessDevices = v
8014	return s
8015}
8016
8017// An invalid argument was specified.
8018type ArgumentException struct {
8019	_            struct{}                  `type:"structure"`
8020	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8021
8022	// Any additional information about the exception.
8023	Message_ *string `locationName:"message" type:"string"`
8024}
8025
8026// String returns the string representation
8027func (s ArgumentException) String() string {
8028	return awsutil.Prettify(s)
8029}
8030
8031// GoString returns the string representation
8032func (s ArgumentException) GoString() string {
8033	return s.String()
8034}
8035
8036func newErrorArgumentException(v protocol.ResponseMetadata) error {
8037	return &ArgumentException{
8038		RespMetadata: v,
8039	}
8040}
8041
8042// Code returns the exception type name.
8043func (s *ArgumentException) Code() string {
8044	return "ArgumentException"
8045}
8046
8047// Message returns the exception's message.
8048func (s *ArgumentException) Message() string {
8049	if s.Message_ != nil {
8050		return *s.Message_
8051	}
8052	return ""
8053}
8054
8055// OrigErr always returns nil, satisfies awserr.Error interface.
8056func (s *ArgumentException) OrigErr() error {
8057	return nil
8058}
8059
8060func (s *ArgumentException) Error() string {
8061	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8062}
8063
8064// Status code returns the HTTP status code for the request's response error.
8065func (s *ArgumentException) StatusCode() int {
8066	return s.RespMetadata.StatusCode
8067}
8068
8069// RequestID returns the service's response RequestID for request.
8070func (s *ArgumentException) RequestID() string {
8071	return s.RespMetadata.RequestID
8072}
8073
8074// Represents the output of a test. Examples of artifacts include logs and screenshots.
8075type Artifact struct {
8076	_ struct{} `type:"structure"`
8077
8078	// The artifact's ARN.
8079	Arn *string `locationName:"arn" min:"32" type:"string"`
8080
8081	// The artifact's file extension.
8082	Extension *string `locationName:"extension" type:"string"`
8083
8084	// The artifact's name.
8085	Name *string `locationName:"name" type:"string"`
8086
8087	// The artifact's type.
8088	//
8089	// Allowed values include the following:
8090	//
8091	//    * UNKNOWN
8092	//
8093	//    * SCREENSHOT
8094	//
8095	//    * DEVICE_LOG
8096	//
8097	//    * MESSAGE_LOG
8098	//
8099	//    * VIDEO_LOG
8100	//
8101	//    * RESULT_LOG
8102	//
8103	//    * SERVICE_LOG
8104	//
8105	//    * WEBKIT_LOG
8106	//
8107	//    * INSTRUMENTATION_OUTPUT
8108	//
8109	//    * EXERCISER_MONKEY_OUTPUT: the artifact (log) generated by an Android
8110	//    fuzz test.
8111	//
8112	//    * CALABASH_JSON_OUTPUT
8113	//
8114	//    * CALABASH_PRETTY_OUTPUT
8115	//
8116	//    * CALABASH_STANDARD_OUTPUT
8117	//
8118	//    * CALABASH_JAVA_XML_OUTPUT
8119	//
8120	//    * AUTOMATION_OUTPUT
8121	//
8122	//    * APPIUM_SERVER_OUTPUT
8123	//
8124	//    * APPIUM_JAVA_OUTPUT
8125	//
8126	//    * APPIUM_JAVA_XML_OUTPUT
8127	//
8128	//    * APPIUM_PYTHON_OUTPUT
8129	//
8130	//    * APPIUM_PYTHON_XML_OUTPUT
8131	//
8132	//    * EXPLORER_EVENT_LOG
8133	//
8134	//    * EXPLORER_SUMMARY_LOG
8135	//
8136	//    * APPLICATION_CRASH_REPORT
8137	//
8138	//    * XCTEST_LOG
8139	//
8140	//    * VIDEO
8141	//
8142	//    * CUSTOMER_ARTIFACT
8143	//
8144	//    * CUSTOMER_ARTIFACT_LOG
8145	//
8146	//    * TESTSPEC_OUTPUT
8147	Type *string `locationName:"type" type:"string" enum:"ArtifactType"`
8148
8149	// The presigned Amazon S3 URL that can be used with a GET request to download
8150	// the artifact's file.
8151	Url *string `locationName:"url" type:"string"`
8152}
8153
8154// String returns the string representation
8155func (s Artifact) String() string {
8156	return awsutil.Prettify(s)
8157}
8158
8159// GoString returns the string representation
8160func (s Artifact) GoString() string {
8161	return s.String()
8162}
8163
8164// SetArn sets the Arn field's value.
8165func (s *Artifact) SetArn(v string) *Artifact {
8166	s.Arn = &v
8167	return s
8168}
8169
8170// SetExtension sets the Extension field's value.
8171func (s *Artifact) SetExtension(v string) *Artifact {
8172	s.Extension = &v
8173	return s
8174}
8175
8176// SetName sets the Name field's value.
8177func (s *Artifact) SetName(v string) *Artifact {
8178	s.Name = &v
8179	return s
8180}
8181
8182// SetType sets the Type field's value.
8183func (s *Artifact) SetType(v string) *Artifact {
8184	s.Type = &v
8185	return s
8186}
8187
8188// SetUrl sets the Url field's value.
8189func (s *Artifact) SetUrl(v string) *Artifact {
8190	s.Url = &v
8191	return s
8192}
8193
8194// Represents the amount of CPU that an app is using on a physical device. Does
8195// not represent system-wide CPU usage.
8196type CPU struct {
8197	_ struct{} `type:"structure"`
8198
8199	// The CPU's architecture (for example, x86 or ARM).
8200	Architecture *string `locationName:"architecture" type:"string"`
8201
8202	// The clock speed of the device's CPU, expressed in hertz (Hz). For example,
8203	// a 1.2 GHz CPU is expressed as 1200000000.
8204	Clock *float64 `locationName:"clock" type:"double"`
8205
8206	// The CPU's frequency.
8207	Frequency *string `locationName:"frequency" type:"string"`
8208}
8209
8210// String returns the string representation
8211func (s CPU) String() string {
8212	return awsutil.Prettify(s)
8213}
8214
8215// GoString returns the string representation
8216func (s CPU) GoString() string {
8217	return s.String()
8218}
8219
8220// SetArchitecture sets the Architecture field's value.
8221func (s *CPU) SetArchitecture(v string) *CPU {
8222	s.Architecture = &v
8223	return s
8224}
8225
8226// SetClock sets the Clock field's value.
8227func (s *CPU) SetClock(v float64) *CPU {
8228	s.Clock = &v
8229	return s
8230}
8231
8232// SetFrequency sets the Frequency field's value.
8233func (s *CPU) SetFrequency(v string) *CPU {
8234	s.Frequency = &v
8235	return s
8236}
8237
8238// The requested object could not be deleted.
8239type CannotDeleteException struct {
8240	_            struct{}                  `type:"structure"`
8241	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8242
8243	Message_ *string `locationName:"message" type:"string"`
8244}
8245
8246// String returns the string representation
8247func (s CannotDeleteException) String() string {
8248	return awsutil.Prettify(s)
8249}
8250
8251// GoString returns the string representation
8252func (s CannotDeleteException) GoString() string {
8253	return s.String()
8254}
8255
8256func newErrorCannotDeleteException(v protocol.ResponseMetadata) error {
8257	return &CannotDeleteException{
8258		RespMetadata: v,
8259	}
8260}
8261
8262// Code returns the exception type name.
8263func (s *CannotDeleteException) Code() string {
8264	return "CannotDeleteException"
8265}
8266
8267// Message returns the exception's message.
8268func (s *CannotDeleteException) Message() string {
8269	if s.Message_ != nil {
8270		return *s.Message_
8271	}
8272	return ""
8273}
8274
8275// OrigErr always returns nil, satisfies awserr.Error interface.
8276func (s *CannotDeleteException) OrigErr() error {
8277	return nil
8278}
8279
8280func (s *CannotDeleteException) Error() string {
8281	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8282}
8283
8284// Status code returns the HTTP status code for the request's response error.
8285func (s *CannotDeleteException) StatusCode() int {
8286	return s.RespMetadata.StatusCode
8287}
8288
8289// RequestID returns the service's response RequestID for request.
8290func (s *CannotDeleteException) RequestID() string {
8291	return s.RespMetadata.RequestID
8292}
8293
8294// Represents entity counters.
8295type Counters struct {
8296	_ struct{} `type:"structure"`
8297
8298	// The number of errored entities.
8299	Errored *int64 `locationName:"errored" type:"integer"`
8300
8301	// The number of failed entities.
8302	Failed *int64 `locationName:"failed" type:"integer"`
8303
8304	// The number of passed entities.
8305	Passed *int64 `locationName:"passed" type:"integer"`
8306
8307	// The number of skipped entities.
8308	Skipped *int64 `locationName:"skipped" type:"integer"`
8309
8310	// The number of stopped entities.
8311	Stopped *int64 `locationName:"stopped" type:"integer"`
8312
8313	// The total number of entities.
8314	Total *int64 `locationName:"total" type:"integer"`
8315
8316	// The number of warned entities.
8317	Warned *int64 `locationName:"warned" type:"integer"`
8318}
8319
8320// String returns the string representation
8321func (s Counters) String() string {
8322	return awsutil.Prettify(s)
8323}
8324
8325// GoString returns the string representation
8326func (s Counters) GoString() string {
8327	return s.String()
8328}
8329
8330// SetErrored sets the Errored field's value.
8331func (s *Counters) SetErrored(v int64) *Counters {
8332	s.Errored = &v
8333	return s
8334}
8335
8336// SetFailed sets the Failed field's value.
8337func (s *Counters) SetFailed(v int64) *Counters {
8338	s.Failed = &v
8339	return s
8340}
8341
8342// SetPassed sets the Passed field's value.
8343func (s *Counters) SetPassed(v int64) *Counters {
8344	s.Passed = &v
8345	return s
8346}
8347
8348// SetSkipped sets the Skipped field's value.
8349func (s *Counters) SetSkipped(v int64) *Counters {
8350	s.Skipped = &v
8351	return s
8352}
8353
8354// SetStopped sets the Stopped field's value.
8355func (s *Counters) SetStopped(v int64) *Counters {
8356	s.Stopped = &v
8357	return s
8358}
8359
8360// SetTotal sets the Total field's value.
8361func (s *Counters) SetTotal(v int64) *Counters {
8362	s.Total = &v
8363	return s
8364}
8365
8366// SetWarned sets the Warned field's value.
8367func (s *Counters) SetWarned(v int64) *Counters {
8368	s.Warned = &v
8369	return s
8370}
8371
8372// Represents a request to the create device pool operation.
8373type CreateDevicePoolInput struct {
8374	_ struct{} `type:"structure"`
8375
8376	// The device pool's description.
8377	Description *string `locationName:"description" type:"string"`
8378
8379	// The number of devices that Device Farm can add to your device pool. Device
8380	// Farm adds devices that are available and meet the criteria that you assign
8381	// for the rules parameter. Depending on how many devices meet these constraints,
8382	// your device pool might contain fewer devices than the value for this parameter.
8383	//
8384	// By specifying the maximum number of devices, you can control the costs that
8385	// you incur by running tests.
8386	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
8387
8388	// The device pool's name.
8389	//
8390	// Name is a required field
8391	Name *string `locationName:"name" type:"string" required:"true"`
8392
8393	// The ARN of the project for the device pool.
8394	//
8395	// ProjectArn is a required field
8396	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
8397
8398	// The device pool's rules.
8399	//
8400	// Rules is a required field
8401	Rules []*Rule `locationName:"rules" type:"list" required:"true"`
8402}
8403
8404// String returns the string representation
8405func (s CreateDevicePoolInput) String() string {
8406	return awsutil.Prettify(s)
8407}
8408
8409// GoString returns the string representation
8410func (s CreateDevicePoolInput) GoString() string {
8411	return s.String()
8412}
8413
8414// Validate inspects the fields of the type to determine if they are valid.
8415func (s *CreateDevicePoolInput) Validate() error {
8416	invalidParams := request.ErrInvalidParams{Context: "CreateDevicePoolInput"}
8417	if s.Name == nil {
8418		invalidParams.Add(request.NewErrParamRequired("Name"))
8419	}
8420	if s.ProjectArn == nil {
8421		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
8422	}
8423	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
8424		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
8425	}
8426	if s.Rules == nil {
8427		invalidParams.Add(request.NewErrParamRequired("Rules"))
8428	}
8429
8430	if invalidParams.Len() > 0 {
8431		return invalidParams
8432	}
8433	return nil
8434}
8435
8436// SetDescription sets the Description field's value.
8437func (s *CreateDevicePoolInput) SetDescription(v string) *CreateDevicePoolInput {
8438	s.Description = &v
8439	return s
8440}
8441
8442// SetMaxDevices sets the MaxDevices field's value.
8443func (s *CreateDevicePoolInput) SetMaxDevices(v int64) *CreateDevicePoolInput {
8444	s.MaxDevices = &v
8445	return s
8446}
8447
8448// SetName sets the Name field's value.
8449func (s *CreateDevicePoolInput) SetName(v string) *CreateDevicePoolInput {
8450	s.Name = &v
8451	return s
8452}
8453
8454// SetProjectArn sets the ProjectArn field's value.
8455func (s *CreateDevicePoolInput) SetProjectArn(v string) *CreateDevicePoolInput {
8456	s.ProjectArn = &v
8457	return s
8458}
8459
8460// SetRules sets the Rules field's value.
8461func (s *CreateDevicePoolInput) SetRules(v []*Rule) *CreateDevicePoolInput {
8462	s.Rules = v
8463	return s
8464}
8465
8466// Represents the result of a create device pool request.
8467type CreateDevicePoolOutput struct {
8468	_ struct{} `type:"structure"`
8469
8470	// The newly created device pool.
8471	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
8472}
8473
8474// String returns the string representation
8475func (s CreateDevicePoolOutput) String() string {
8476	return awsutil.Prettify(s)
8477}
8478
8479// GoString returns the string representation
8480func (s CreateDevicePoolOutput) GoString() string {
8481	return s.String()
8482}
8483
8484// SetDevicePool sets the DevicePool field's value.
8485func (s *CreateDevicePoolOutput) SetDevicePool(v *DevicePool) *CreateDevicePoolOutput {
8486	s.DevicePool = v
8487	return s
8488}
8489
8490type CreateInstanceProfileInput struct {
8491	_ struct{} `type:"structure"`
8492
8493	// The description of your instance profile.
8494	Description *string `locationName:"description" type:"string"`
8495
8496	// An array of strings that specifies the list of app packages that should not
8497	// be cleaned up from the device after a test run.
8498	//
8499	// The list of packages is considered only if you set packageCleanup to true.
8500	ExcludeAppPackagesFromCleanup []*string `locationName:"excludeAppPackagesFromCleanup" type:"list"`
8501
8502	// The name of your instance profile.
8503	//
8504	// Name is a required field
8505	Name *string `locationName:"name" type:"string" required:"true"`
8506
8507	// When set to true, Device Farm removes app packages after a test run. The
8508	// default value is false for private devices.
8509	PackageCleanup *bool `locationName:"packageCleanup" type:"boolean"`
8510
8511	// When set to true, Device Farm reboots the instance after a test run. The
8512	// default value is true.
8513	RebootAfterUse *bool `locationName:"rebootAfterUse" type:"boolean"`
8514}
8515
8516// String returns the string representation
8517func (s CreateInstanceProfileInput) String() string {
8518	return awsutil.Prettify(s)
8519}
8520
8521// GoString returns the string representation
8522func (s CreateInstanceProfileInput) GoString() string {
8523	return s.String()
8524}
8525
8526// Validate inspects the fields of the type to determine if they are valid.
8527func (s *CreateInstanceProfileInput) Validate() error {
8528	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceProfileInput"}
8529	if s.Name == nil {
8530		invalidParams.Add(request.NewErrParamRequired("Name"))
8531	}
8532
8533	if invalidParams.Len() > 0 {
8534		return invalidParams
8535	}
8536	return nil
8537}
8538
8539// SetDescription sets the Description field's value.
8540func (s *CreateInstanceProfileInput) SetDescription(v string) *CreateInstanceProfileInput {
8541	s.Description = &v
8542	return s
8543}
8544
8545// SetExcludeAppPackagesFromCleanup sets the ExcludeAppPackagesFromCleanup field's value.
8546func (s *CreateInstanceProfileInput) SetExcludeAppPackagesFromCleanup(v []*string) *CreateInstanceProfileInput {
8547	s.ExcludeAppPackagesFromCleanup = v
8548	return s
8549}
8550
8551// SetName sets the Name field's value.
8552func (s *CreateInstanceProfileInput) SetName(v string) *CreateInstanceProfileInput {
8553	s.Name = &v
8554	return s
8555}
8556
8557// SetPackageCleanup sets the PackageCleanup field's value.
8558func (s *CreateInstanceProfileInput) SetPackageCleanup(v bool) *CreateInstanceProfileInput {
8559	s.PackageCleanup = &v
8560	return s
8561}
8562
8563// SetRebootAfterUse sets the RebootAfterUse field's value.
8564func (s *CreateInstanceProfileInput) SetRebootAfterUse(v bool) *CreateInstanceProfileInput {
8565	s.RebootAfterUse = &v
8566	return s
8567}
8568
8569type CreateInstanceProfileOutput struct {
8570	_ struct{} `type:"structure"`
8571
8572	// An object that contains information about your instance profile.
8573	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
8574}
8575
8576// String returns the string representation
8577func (s CreateInstanceProfileOutput) String() string {
8578	return awsutil.Prettify(s)
8579}
8580
8581// GoString returns the string representation
8582func (s CreateInstanceProfileOutput) GoString() string {
8583	return s.String()
8584}
8585
8586// SetInstanceProfile sets the InstanceProfile field's value.
8587func (s *CreateInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *CreateInstanceProfileOutput {
8588	s.InstanceProfile = v
8589	return s
8590}
8591
8592type CreateNetworkProfileInput struct {
8593	_ struct{} `type:"structure"`
8594
8595	// The description of the network profile.
8596	Description *string `locationName:"description" type:"string"`
8597
8598	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
8599	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
8600
8601	// Delay time for all packets to destination in milliseconds as an integer from
8602	// 0 to 2000.
8603	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
8604
8605	// Time variation in the delay of received packets in milliseconds as an integer
8606	// from 0 to 2000.
8607	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
8608
8609	// Proportion of received packets that fail to arrive from 0 to 100 percent.
8610	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
8611
8612	// The name for the new network profile.
8613	//
8614	// Name is a required field
8615	Name *string `locationName:"name" type:"string" required:"true"`
8616
8617	// The Amazon Resource Name (ARN) of the project for which you want to create
8618	// a network profile.
8619	//
8620	// ProjectArn is a required field
8621	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
8622
8623	// The type of network profile to create. Valid values are listed here.
8624	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
8625
8626	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
8627	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
8628
8629	// Delay time for all packets to destination in milliseconds as an integer from
8630	// 0 to 2000.
8631	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
8632
8633	// Time variation in the delay of received packets in milliseconds as an integer
8634	// from 0 to 2000.
8635	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
8636
8637	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
8638	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
8639}
8640
8641// String returns the string representation
8642func (s CreateNetworkProfileInput) String() string {
8643	return awsutil.Prettify(s)
8644}
8645
8646// GoString returns the string representation
8647func (s CreateNetworkProfileInput) GoString() string {
8648	return s.String()
8649}
8650
8651// Validate inspects the fields of the type to determine if they are valid.
8652func (s *CreateNetworkProfileInput) Validate() error {
8653	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkProfileInput"}
8654	if s.Name == nil {
8655		invalidParams.Add(request.NewErrParamRequired("Name"))
8656	}
8657	if s.ProjectArn == nil {
8658		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
8659	}
8660	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
8661		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
8662	}
8663
8664	if invalidParams.Len() > 0 {
8665		return invalidParams
8666	}
8667	return nil
8668}
8669
8670// SetDescription sets the Description field's value.
8671func (s *CreateNetworkProfileInput) SetDescription(v string) *CreateNetworkProfileInput {
8672	s.Description = &v
8673	return s
8674}
8675
8676// SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
8677func (s *CreateNetworkProfileInput) SetDownlinkBandwidthBits(v int64) *CreateNetworkProfileInput {
8678	s.DownlinkBandwidthBits = &v
8679	return s
8680}
8681
8682// SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
8683func (s *CreateNetworkProfileInput) SetDownlinkDelayMs(v int64) *CreateNetworkProfileInput {
8684	s.DownlinkDelayMs = &v
8685	return s
8686}
8687
8688// SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
8689func (s *CreateNetworkProfileInput) SetDownlinkJitterMs(v int64) *CreateNetworkProfileInput {
8690	s.DownlinkJitterMs = &v
8691	return s
8692}
8693
8694// SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
8695func (s *CreateNetworkProfileInput) SetDownlinkLossPercent(v int64) *CreateNetworkProfileInput {
8696	s.DownlinkLossPercent = &v
8697	return s
8698}
8699
8700// SetName sets the Name field's value.
8701func (s *CreateNetworkProfileInput) SetName(v string) *CreateNetworkProfileInput {
8702	s.Name = &v
8703	return s
8704}
8705
8706// SetProjectArn sets the ProjectArn field's value.
8707func (s *CreateNetworkProfileInput) SetProjectArn(v string) *CreateNetworkProfileInput {
8708	s.ProjectArn = &v
8709	return s
8710}
8711
8712// SetType sets the Type field's value.
8713func (s *CreateNetworkProfileInput) SetType(v string) *CreateNetworkProfileInput {
8714	s.Type = &v
8715	return s
8716}
8717
8718// SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
8719func (s *CreateNetworkProfileInput) SetUplinkBandwidthBits(v int64) *CreateNetworkProfileInput {
8720	s.UplinkBandwidthBits = &v
8721	return s
8722}
8723
8724// SetUplinkDelayMs sets the UplinkDelayMs field's value.
8725func (s *CreateNetworkProfileInput) SetUplinkDelayMs(v int64) *CreateNetworkProfileInput {
8726	s.UplinkDelayMs = &v
8727	return s
8728}
8729
8730// SetUplinkJitterMs sets the UplinkJitterMs field's value.
8731func (s *CreateNetworkProfileInput) SetUplinkJitterMs(v int64) *CreateNetworkProfileInput {
8732	s.UplinkJitterMs = &v
8733	return s
8734}
8735
8736// SetUplinkLossPercent sets the UplinkLossPercent field's value.
8737func (s *CreateNetworkProfileInput) SetUplinkLossPercent(v int64) *CreateNetworkProfileInput {
8738	s.UplinkLossPercent = &v
8739	return s
8740}
8741
8742type CreateNetworkProfileOutput struct {
8743	_ struct{} `type:"structure"`
8744
8745	// The network profile that is returned by the create network profile request.
8746	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
8747}
8748
8749// String returns the string representation
8750func (s CreateNetworkProfileOutput) String() string {
8751	return awsutil.Prettify(s)
8752}
8753
8754// GoString returns the string representation
8755func (s CreateNetworkProfileOutput) GoString() string {
8756	return s.String()
8757}
8758
8759// SetNetworkProfile sets the NetworkProfile field's value.
8760func (s *CreateNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *CreateNetworkProfileOutput {
8761	s.NetworkProfile = v
8762	return s
8763}
8764
8765// Represents a request to the create project operation.
8766type CreateProjectInput struct {
8767	_ struct{} `type:"structure"`
8768
8769	// Sets the execution timeout value (in minutes) for a project. All test runs
8770	// in this project use the specified execution timeout value unless overridden
8771	// when scheduling a run.
8772	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
8773
8774	// The project's name.
8775	//
8776	// Name is a required field
8777	Name *string `locationName:"name" type:"string" required:"true"`
8778}
8779
8780// String returns the string representation
8781func (s CreateProjectInput) String() string {
8782	return awsutil.Prettify(s)
8783}
8784
8785// GoString returns the string representation
8786func (s CreateProjectInput) GoString() string {
8787	return s.String()
8788}
8789
8790// Validate inspects the fields of the type to determine if they are valid.
8791func (s *CreateProjectInput) Validate() error {
8792	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
8793	if s.Name == nil {
8794		invalidParams.Add(request.NewErrParamRequired("Name"))
8795	}
8796
8797	if invalidParams.Len() > 0 {
8798		return invalidParams
8799	}
8800	return nil
8801}
8802
8803// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
8804func (s *CreateProjectInput) SetDefaultJobTimeoutMinutes(v int64) *CreateProjectInput {
8805	s.DefaultJobTimeoutMinutes = &v
8806	return s
8807}
8808
8809// SetName sets the Name field's value.
8810func (s *CreateProjectInput) SetName(v string) *CreateProjectInput {
8811	s.Name = &v
8812	return s
8813}
8814
8815// Represents the result of a create project request.
8816type CreateProjectOutput struct {
8817	_ struct{} `type:"structure"`
8818
8819	// The newly created project.
8820	Project *Project `locationName:"project" type:"structure"`
8821}
8822
8823// String returns the string representation
8824func (s CreateProjectOutput) String() string {
8825	return awsutil.Prettify(s)
8826}
8827
8828// GoString returns the string representation
8829func (s CreateProjectOutput) GoString() string {
8830	return s.String()
8831}
8832
8833// SetProject sets the Project field's value.
8834func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput {
8835	s.Project = v
8836	return s
8837}
8838
8839// Configuration settings for a remote access session, including billing method.
8840type CreateRemoteAccessSessionConfiguration struct {
8841	_ struct{} `type:"structure"`
8842
8843	// The billing method for the remote access session.
8844	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
8845
8846	// An array of ARNs included in the VPC endpoint configuration.
8847	VpceConfigurationArns []*string `locationName:"vpceConfigurationArns" type:"list"`
8848}
8849
8850// String returns the string representation
8851func (s CreateRemoteAccessSessionConfiguration) String() string {
8852	return awsutil.Prettify(s)
8853}
8854
8855// GoString returns the string representation
8856func (s CreateRemoteAccessSessionConfiguration) GoString() string {
8857	return s.String()
8858}
8859
8860// SetBillingMethod sets the BillingMethod field's value.
8861func (s *CreateRemoteAccessSessionConfiguration) SetBillingMethod(v string) *CreateRemoteAccessSessionConfiguration {
8862	s.BillingMethod = &v
8863	return s
8864}
8865
8866// SetVpceConfigurationArns sets the VpceConfigurationArns field's value.
8867func (s *CreateRemoteAccessSessionConfiguration) SetVpceConfigurationArns(v []*string) *CreateRemoteAccessSessionConfiguration {
8868	s.VpceConfigurationArns = v
8869	return s
8870}
8871
8872// Creates and submits a request to start a remote access session.
8873type CreateRemoteAccessSessionInput struct {
8874	_ struct{} `type:"structure"`
8875
8876	// Unique identifier for the client. If you want access to multiple devices
8877	// on the same client, you should pass the same clientId value in each call
8878	// to CreateRemoteAccessSession. This identifier is required only if remoteDebugEnabled
8879	// is set to true.
8880	//
8881	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
8882	ClientId *string `locationName:"clientId" type:"string"`
8883
8884	// The configuration information for the remote access session request.
8885	Configuration *CreateRemoteAccessSessionConfiguration `locationName:"configuration" type:"structure"`
8886
8887	// The ARN of the device for which you want to create a remote access session.
8888	//
8889	// DeviceArn is a required field
8890	DeviceArn *string `locationName:"deviceArn" min:"32" type:"string" required:"true"`
8891
8892	// The Amazon Resource Name (ARN) of the device instance for which you want
8893	// to create a remote access session.
8894	InstanceArn *string `locationName:"instanceArn" min:"32" type:"string"`
8895
8896	// The interaction mode of the remote access session. Valid values are:
8897	//
8898	//    * INTERACTIVE: You can interact with the iOS device by viewing, touching,
8899	//    and rotating the screen. You cannot run XCUITest framework-based tests
8900	//    in this mode.
8901	//
8902	//    * NO_VIDEO: You are connected to the device, but cannot interact with
8903	//    it or view the screen. This mode has the fastest test execution speed.
8904	//    You can run XCUITest framework-based tests in this mode.
8905	//
8906	//    * VIDEO_ONLY: You can view the screen, but cannot touch or rotate it.
8907	//    You can run XCUITest framework-based tests and watch the screen in this
8908	//    mode.
8909	InteractionMode *string `locationName:"interactionMode" type:"string" enum:"InteractionMode"`
8910
8911	// The name of the remote access session to create.
8912	Name *string `locationName:"name" type:"string"`
8913
8914	// The Amazon Resource Name (ARN) of the project for which you want to create
8915	// a remote access session.
8916	//
8917	// ProjectArn is a required field
8918	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
8919
8920	// Set to true if you want to access devices remotely for debugging in your
8921	// remote access session.
8922	//
8923	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
8924	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
8925
8926	// The Amazon Resource Name (ARN) for the app to be recorded in the remote access
8927	// session.
8928	RemoteRecordAppArn *string `locationName:"remoteRecordAppArn" min:"32" type:"string"`
8929
8930	// Set to true to enable remote recording for the remote access session.
8931	RemoteRecordEnabled *bool `locationName:"remoteRecordEnabled" type:"boolean"`
8932
8933	// When set to true, for private devices, Device Farm does not sign your app
8934	// again. For public devices, Device Farm always signs your apps again.
8935	//
8936	// For more information on how Device Farm modifies your uploads during tests,
8937	// see Do you modify my app? (https://aws.amazon.com/device-farm/faq/)
8938	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
8939
8940	// Ignored. The public key of the ssh key pair you want to use for connecting
8941	// to remote devices in your remote debugging session. This key is required
8942	// only if remoteDebugEnabled is set to true.
8943	//
8944	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
8945	SshPublicKey *string `locationName:"sshPublicKey" type:"string"`
8946}
8947
8948// String returns the string representation
8949func (s CreateRemoteAccessSessionInput) String() string {
8950	return awsutil.Prettify(s)
8951}
8952
8953// GoString returns the string representation
8954func (s CreateRemoteAccessSessionInput) GoString() string {
8955	return s.String()
8956}
8957
8958// Validate inspects the fields of the type to determine if they are valid.
8959func (s *CreateRemoteAccessSessionInput) Validate() error {
8960	invalidParams := request.ErrInvalidParams{Context: "CreateRemoteAccessSessionInput"}
8961	if s.DeviceArn == nil {
8962		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
8963	}
8964	if s.DeviceArn != nil && len(*s.DeviceArn) < 32 {
8965		invalidParams.Add(request.NewErrParamMinLen("DeviceArn", 32))
8966	}
8967	if s.InstanceArn != nil && len(*s.InstanceArn) < 32 {
8968		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 32))
8969	}
8970	if s.ProjectArn == nil {
8971		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
8972	}
8973	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
8974		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
8975	}
8976	if s.RemoteRecordAppArn != nil && len(*s.RemoteRecordAppArn) < 32 {
8977		invalidParams.Add(request.NewErrParamMinLen("RemoteRecordAppArn", 32))
8978	}
8979
8980	if invalidParams.Len() > 0 {
8981		return invalidParams
8982	}
8983	return nil
8984}
8985
8986// SetClientId sets the ClientId field's value.
8987func (s *CreateRemoteAccessSessionInput) SetClientId(v string) *CreateRemoteAccessSessionInput {
8988	s.ClientId = &v
8989	return s
8990}
8991
8992// SetConfiguration sets the Configuration field's value.
8993func (s *CreateRemoteAccessSessionInput) SetConfiguration(v *CreateRemoteAccessSessionConfiguration) *CreateRemoteAccessSessionInput {
8994	s.Configuration = v
8995	return s
8996}
8997
8998// SetDeviceArn sets the DeviceArn field's value.
8999func (s *CreateRemoteAccessSessionInput) SetDeviceArn(v string) *CreateRemoteAccessSessionInput {
9000	s.DeviceArn = &v
9001	return s
9002}
9003
9004// SetInstanceArn sets the InstanceArn field's value.
9005func (s *CreateRemoteAccessSessionInput) SetInstanceArn(v string) *CreateRemoteAccessSessionInput {
9006	s.InstanceArn = &v
9007	return s
9008}
9009
9010// SetInteractionMode sets the InteractionMode field's value.
9011func (s *CreateRemoteAccessSessionInput) SetInteractionMode(v string) *CreateRemoteAccessSessionInput {
9012	s.InteractionMode = &v
9013	return s
9014}
9015
9016// SetName sets the Name field's value.
9017func (s *CreateRemoteAccessSessionInput) SetName(v string) *CreateRemoteAccessSessionInput {
9018	s.Name = &v
9019	return s
9020}
9021
9022// SetProjectArn sets the ProjectArn field's value.
9023func (s *CreateRemoteAccessSessionInput) SetProjectArn(v string) *CreateRemoteAccessSessionInput {
9024	s.ProjectArn = &v
9025	return s
9026}
9027
9028// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
9029func (s *CreateRemoteAccessSessionInput) SetRemoteDebugEnabled(v bool) *CreateRemoteAccessSessionInput {
9030	s.RemoteDebugEnabled = &v
9031	return s
9032}
9033
9034// SetRemoteRecordAppArn sets the RemoteRecordAppArn field's value.
9035func (s *CreateRemoteAccessSessionInput) SetRemoteRecordAppArn(v string) *CreateRemoteAccessSessionInput {
9036	s.RemoteRecordAppArn = &v
9037	return s
9038}
9039
9040// SetRemoteRecordEnabled sets the RemoteRecordEnabled field's value.
9041func (s *CreateRemoteAccessSessionInput) SetRemoteRecordEnabled(v bool) *CreateRemoteAccessSessionInput {
9042	s.RemoteRecordEnabled = &v
9043	return s
9044}
9045
9046// SetSkipAppResign sets the SkipAppResign field's value.
9047func (s *CreateRemoteAccessSessionInput) SetSkipAppResign(v bool) *CreateRemoteAccessSessionInput {
9048	s.SkipAppResign = &v
9049	return s
9050}
9051
9052// SetSshPublicKey sets the SshPublicKey field's value.
9053func (s *CreateRemoteAccessSessionInput) SetSshPublicKey(v string) *CreateRemoteAccessSessionInput {
9054	s.SshPublicKey = &v
9055	return s
9056}
9057
9058// Represents the server response from a request to create a remote access session.
9059type CreateRemoteAccessSessionOutput struct {
9060	_ struct{} `type:"structure"`
9061
9062	// A container that describes the remote access session when the request to
9063	// create a remote access session is sent.
9064	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
9065}
9066
9067// String returns the string representation
9068func (s CreateRemoteAccessSessionOutput) String() string {
9069	return awsutil.Prettify(s)
9070}
9071
9072// GoString returns the string representation
9073func (s CreateRemoteAccessSessionOutput) GoString() string {
9074	return s.String()
9075}
9076
9077// SetRemoteAccessSession sets the RemoteAccessSession field's value.
9078func (s *CreateRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *CreateRemoteAccessSessionOutput {
9079	s.RemoteAccessSession = v
9080	return s
9081}
9082
9083type CreateTestGridProjectInput struct {
9084	_ struct{} `type:"structure"`
9085
9086	// Human-readable description of the project.
9087	Description *string `locationName:"description" min:"1" type:"string"`
9088
9089	// Human-readable name of the Selenium testing project.
9090	//
9091	// Name is a required field
9092	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9093
9094	// The VPC security groups and subnets that are attached to a project.
9095	VpcConfig *TestGridVpcConfig `locationName:"vpcConfig" type:"structure"`
9096}
9097
9098// String returns the string representation
9099func (s CreateTestGridProjectInput) String() string {
9100	return awsutil.Prettify(s)
9101}
9102
9103// GoString returns the string representation
9104func (s CreateTestGridProjectInput) GoString() string {
9105	return s.String()
9106}
9107
9108// Validate inspects the fields of the type to determine if they are valid.
9109func (s *CreateTestGridProjectInput) Validate() error {
9110	invalidParams := request.ErrInvalidParams{Context: "CreateTestGridProjectInput"}
9111	if s.Description != nil && len(*s.Description) < 1 {
9112		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9113	}
9114	if s.Name == nil {
9115		invalidParams.Add(request.NewErrParamRequired("Name"))
9116	}
9117	if s.Name != nil && len(*s.Name) < 1 {
9118		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9119	}
9120	if s.VpcConfig != nil {
9121		if err := s.VpcConfig.Validate(); err != nil {
9122			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
9123		}
9124	}
9125
9126	if invalidParams.Len() > 0 {
9127		return invalidParams
9128	}
9129	return nil
9130}
9131
9132// SetDescription sets the Description field's value.
9133func (s *CreateTestGridProjectInput) SetDescription(v string) *CreateTestGridProjectInput {
9134	s.Description = &v
9135	return s
9136}
9137
9138// SetName sets the Name field's value.
9139func (s *CreateTestGridProjectInput) SetName(v string) *CreateTestGridProjectInput {
9140	s.Name = &v
9141	return s
9142}
9143
9144// SetVpcConfig sets the VpcConfig field's value.
9145func (s *CreateTestGridProjectInput) SetVpcConfig(v *TestGridVpcConfig) *CreateTestGridProjectInput {
9146	s.VpcConfig = v
9147	return s
9148}
9149
9150type CreateTestGridProjectOutput struct {
9151	_ struct{} `type:"structure"`
9152
9153	// ARN of the Selenium testing project that was created.
9154	TestGridProject *TestGridProject `locationName:"testGridProject" type:"structure"`
9155}
9156
9157// String returns the string representation
9158func (s CreateTestGridProjectOutput) String() string {
9159	return awsutil.Prettify(s)
9160}
9161
9162// GoString returns the string representation
9163func (s CreateTestGridProjectOutput) GoString() string {
9164	return s.String()
9165}
9166
9167// SetTestGridProject sets the TestGridProject field's value.
9168func (s *CreateTestGridProjectOutput) SetTestGridProject(v *TestGridProject) *CreateTestGridProjectOutput {
9169	s.TestGridProject = v
9170	return s
9171}
9172
9173type CreateTestGridUrlInput struct {
9174	_ struct{} `type:"structure"`
9175
9176	// Lifetime, in seconds, of the URL.
9177	//
9178	// ExpiresInSeconds is a required field
9179	ExpiresInSeconds *int64 `locationName:"expiresInSeconds" min:"60" type:"integer" required:"true"`
9180
9181	// ARN (from CreateTestGridProject or ListTestGridProjects) to associate with
9182	// the short-term URL.
9183	//
9184	// ProjectArn is a required field
9185	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
9186}
9187
9188// String returns the string representation
9189func (s CreateTestGridUrlInput) String() string {
9190	return awsutil.Prettify(s)
9191}
9192
9193// GoString returns the string representation
9194func (s CreateTestGridUrlInput) GoString() string {
9195	return s.String()
9196}
9197
9198// Validate inspects the fields of the type to determine if they are valid.
9199func (s *CreateTestGridUrlInput) Validate() error {
9200	invalidParams := request.ErrInvalidParams{Context: "CreateTestGridUrlInput"}
9201	if s.ExpiresInSeconds == nil {
9202		invalidParams.Add(request.NewErrParamRequired("ExpiresInSeconds"))
9203	}
9204	if s.ExpiresInSeconds != nil && *s.ExpiresInSeconds < 60 {
9205		invalidParams.Add(request.NewErrParamMinValue("ExpiresInSeconds", 60))
9206	}
9207	if s.ProjectArn == nil {
9208		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
9209	}
9210	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
9211		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
9212	}
9213
9214	if invalidParams.Len() > 0 {
9215		return invalidParams
9216	}
9217	return nil
9218}
9219
9220// SetExpiresInSeconds sets the ExpiresInSeconds field's value.
9221func (s *CreateTestGridUrlInput) SetExpiresInSeconds(v int64) *CreateTestGridUrlInput {
9222	s.ExpiresInSeconds = &v
9223	return s
9224}
9225
9226// SetProjectArn sets the ProjectArn field's value.
9227func (s *CreateTestGridUrlInput) SetProjectArn(v string) *CreateTestGridUrlInput {
9228	s.ProjectArn = &v
9229	return s
9230}
9231
9232type CreateTestGridUrlOutput struct {
9233	_ struct{} `type:"structure"`
9234
9235	// The number of seconds the URL from CreateTestGridUrlResult$url stays active.
9236	Expires *time.Time `locationName:"expires" type:"timestamp"`
9237
9238	// A signed URL, expiring in CreateTestGridUrlRequest$expiresInSeconds seconds,
9239	// to be passed to a RemoteWebDriver.
9240	Url *string `locationName:"url" type:"string" sensitive:"true"`
9241}
9242
9243// String returns the string representation
9244func (s CreateTestGridUrlOutput) String() string {
9245	return awsutil.Prettify(s)
9246}
9247
9248// GoString returns the string representation
9249func (s CreateTestGridUrlOutput) GoString() string {
9250	return s.String()
9251}
9252
9253// SetExpires sets the Expires field's value.
9254func (s *CreateTestGridUrlOutput) SetExpires(v time.Time) *CreateTestGridUrlOutput {
9255	s.Expires = &v
9256	return s
9257}
9258
9259// SetUrl sets the Url field's value.
9260func (s *CreateTestGridUrlOutput) SetUrl(v string) *CreateTestGridUrlOutput {
9261	s.Url = &v
9262	return s
9263}
9264
9265// Represents a request to the create upload operation.
9266type CreateUploadInput struct {
9267	_ struct{} `type:"structure"`
9268
9269	// The upload's content type (for example, application/octet-stream).
9270	ContentType *string `locationName:"contentType" type:"string"`
9271
9272	// The upload's file name. The name should not contain any forward slashes (/).
9273	// If you are uploading an iOS app, the file name must end with the .ipa extension.
9274	// If you are uploading an Android app, the file name must end with the .apk
9275	// extension. For all others, the file name must end with the .zip file extension.
9276	//
9277	// Name is a required field
9278	Name *string `locationName:"name" type:"string" required:"true"`
9279
9280	// The ARN of the project for the upload.
9281	//
9282	// ProjectArn is a required field
9283	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
9284
9285	// The upload's upload type.
9286	//
9287	// Must be one of the following values:
9288	//
9289	//    * ANDROID_APP
9290	//
9291	//    * IOS_APP
9292	//
9293	//    * WEB_APP
9294	//
9295	//    * EXTERNAL_DATA
9296	//
9297	//    * APPIUM_JAVA_JUNIT_TEST_PACKAGE
9298	//
9299	//    * APPIUM_JAVA_TESTNG_TEST_PACKAGE
9300	//
9301	//    * APPIUM_PYTHON_TEST_PACKAGE
9302	//
9303	//    * APPIUM_NODE_TEST_PACKAGE
9304	//
9305	//    * APPIUM_RUBY_TEST_PACKAGE
9306	//
9307	//    * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
9308	//
9309	//    * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
9310	//
9311	//    * APPIUM_WEB_PYTHON_TEST_PACKAGE
9312	//
9313	//    * APPIUM_WEB_NODE_TEST_PACKAGE
9314	//
9315	//    * APPIUM_WEB_RUBY_TEST_PACKAGE
9316	//
9317	//    * CALABASH_TEST_PACKAGE
9318	//
9319	//    * INSTRUMENTATION_TEST_PACKAGE
9320	//
9321	//    * UIAUTOMATION_TEST_PACKAGE
9322	//
9323	//    * UIAUTOMATOR_TEST_PACKAGE
9324	//
9325	//    * XCTEST_TEST_PACKAGE
9326	//
9327	//    * XCTEST_UI_TEST_PACKAGE
9328	//
9329	//    * APPIUM_JAVA_JUNIT_TEST_SPEC
9330	//
9331	//    * APPIUM_JAVA_TESTNG_TEST_SPEC
9332	//
9333	//    * APPIUM_PYTHON_TEST_SPEC
9334	//
9335	//    * APPIUM_NODE_TEST_SPEC
9336	//
9337	//    * APPIUM_RUBY_TEST_SPEC
9338	//
9339	//    * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
9340	//
9341	//    * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
9342	//
9343	//    * APPIUM_WEB_PYTHON_TEST_SPEC
9344	//
9345	//    * APPIUM_WEB_NODE_TEST_SPEC
9346	//
9347	//    * APPIUM_WEB_RUBY_TEST_SPEC
9348	//
9349	//    * INSTRUMENTATION_TEST_SPEC
9350	//
9351	//    * XCTEST_UI_TEST_SPEC
9352	//
9353	// If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an
9354	// ArgumentException error.
9355	//
9356	// Type is a required field
9357	Type *string `locationName:"type" type:"string" required:"true" enum:"UploadType"`
9358}
9359
9360// String returns the string representation
9361func (s CreateUploadInput) String() string {
9362	return awsutil.Prettify(s)
9363}
9364
9365// GoString returns the string representation
9366func (s CreateUploadInput) GoString() string {
9367	return s.String()
9368}
9369
9370// Validate inspects the fields of the type to determine if they are valid.
9371func (s *CreateUploadInput) Validate() error {
9372	invalidParams := request.ErrInvalidParams{Context: "CreateUploadInput"}
9373	if s.Name == nil {
9374		invalidParams.Add(request.NewErrParamRequired("Name"))
9375	}
9376	if s.ProjectArn == nil {
9377		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
9378	}
9379	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
9380		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
9381	}
9382	if s.Type == nil {
9383		invalidParams.Add(request.NewErrParamRequired("Type"))
9384	}
9385
9386	if invalidParams.Len() > 0 {
9387		return invalidParams
9388	}
9389	return nil
9390}
9391
9392// SetContentType sets the ContentType field's value.
9393func (s *CreateUploadInput) SetContentType(v string) *CreateUploadInput {
9394	s.ContentType = &v
9395	return s
9396}
9397
9398// SetName sets the Name field's value.
9399func (s *CreateUploadInput) SetName(v string) *CreateUploadInput {
9400	s.Name = &v
9401	return s
9402}
9403
9404// SetProjectArn sets the ProjectArn field's value.
9405func (s *CreateUploadInput) SetProjectArn(v string) *CreateUploadInput {
9406	s.ProjectArn = &v
9407	return s
9408}
9409
9410// SetType sets the Type field's value.
9411func (s *CreateUploadInput) SetType(v string) *CreateUploadInput {
9412	s.Type = &v
9413	return s
9414}
9415
9416// Represents the result of a create upload request.
9417type CreateUploadOutput struct {
9418	_ struct{} `type:"structure"`
9419
9420	// The newly created upload.
9421	Upload *Upload `locationName:"upload" type:"structure"`
9422}
9423
9424// String returns the string representation
9425func (s CreateUploadOutput) String() string {
9426	return awsutil.Prettify(s)
9427}
9428
9429// GoString returns the string representation
9430func (s CreateUploadOutput) GoString() string {
9431	return s.String()
9432}
9433
9434// SetUpload sets the Upload field's value.
9435func (s *CreateUploadOutput) SetUpload(v *Upload) *CreateUploadOutput {
9436	s.Upload = v
9437	return s
9438}
9439
9440type CreateVPCEConfigurationInput struct {
9441	_ struct{} `type:"structure"`
9442
9443	// The DNS name of the service running in your VPC that you want Device Farm
9444	// to test.
9445	//
9446	// ServiceDnsName is a required field
9447	ServiceDnsName *string `locationName:"serviceDnsName" type:"string" required:"true"`
9448
9449	// An optional description that provides details about your VPC endpoint configuration.
9450	VpceConfigurationDescription *string `locationName:"vpceConfigurationDescription" type:"string"`
9451
9452	// The friendly name you give to your VPC endpoint configuration, to manage
9453	// your configurations more easily.
9454	//
9455	// VpceConfigurationName is a required field
9456	VpceConfigurationName *string `locationName:"vpceConfigurationName" type:"string" required:"true"`
9457
9458	// The name of the VPC endpoint service running in your AWS account that you
9459	// want Device Farm to test.
9460	//
9461	// VpceServiceName is a required field
9462	VpceServiceName *string `locationName:"vpceServiceName" type:"string" required:"true"`
9463}
9464
9465// String returns the string representation
9466func (s CreateVPCEConfigurationInput) String() string {
9467	return awsutil.Prettify(s)
9468}
9469
9470// GoString returns the string representation
9471func (s CreateVPCEConfigurationInput) GoString() string {
9472	return s.String()
9473}
9474
9475// Validate inspects the fields of the type to determine if they are valid.
9476func (s *CreateVPCEConfigurationInput) Validate() error {
9477	invalidParams := request.ErrInvalidParams{Context: "CreateVPCEConfigurationInput"}
9478	if s.ServiceDnsName == nil {
9479		invalidParams.Add(request.NewErrParamRequired("ServiceDnsName"))
9480	}
9481	if s.VpceConfigurationName == nil {
9482		invalidParams.Add(request.NewErrParamRequired("VpceConfigurationName"))
9483	}
9484	if s.VpceServiceName == nil {
9485		invalidParams.Add(request.NewErrParamRequired("VpceServiceName"))
9486	}
9487
9488	if invalidParams.Len() > 0 {
9489		return invalidParams
9490	}
9491	return nil
9492}
9493
9494// SetServiceDnsName sets the ServiceDnsName field's value.
9495func (s *CreateVPCEConfigurationInput) SetServiceDnsName(v string) *CreateVPCEConfigurationInput {
9496	s.ServiceDnsName = &v
9497	return s
9498}
9499
9500// SetVpceConfigurationDescription sets the VpceConfigurationDescription field's value.
9501func (s *CreateVPCEConfigurationInput) SetVpceConfigurationDescription(v string) *CreateVPCEConfigurationInput {
9502	s.VpceConfigurationDescription = &v
9503	return s
9504}
9505
9506// SetVpceConfigurationName sets the VpceConfigurationName field's value.
9507func (s *CreateVPCEConfigurationInput) SetVpceConfigurationName(v string) *CreateVPCEConfigurationInput {
9508	s.VpceConfigurationName = &v
9509	return s
9510}
9511
9512// SetVpceServiceName sets the VpceServiceName field's value.
9513func (s *CreateVPCEConfigurationInput) SetVpceServiceName(v string) *CreateVPCEConfigurationInput {
9514	s.VpceServiceName = &v
9515	return s
9516}
9517
9518type CreateVPCEConfigurationOutput struct {
9519	_ struct{} `type:"structure"`
9520
9521	// An object that contains information about your VPC endpoint configuration.
9522	VpceConfiguration *VPCEConfiguration `locationName:"vpceConfiguration" type:"structure"`
9523}
9524
9525// String returns the string representation
9526func (s CreateVPCEConfigurationOutput) String() string {
9527	return awsutil.Prettify(s)
9528}
9529
9530// GoString returns the string representation
9531func (s CreateVPCEConfigurationOutput) GoString() string {
9532	return s.String()
9533}
9534
9535// SetVpceConfiguration sets the VpceConfiguration field's value.
9536func (s *CreateVPCEConfigurationOutput) SetVpceConfiguration(v *VPCEConfiguration) *CreateVPCEConfigurationOutput {
9537	s.VpceConfiguration = v
9538	return s
9539}
9540
9541// A JSON object that specifies the paths where the artifacts generated by the
9542// customer's tests, on the device or in the test environment, are pulled from.
9543//
9544// Specify deviceHostPaths and optionally specify either iosPaths or androidPaths.
9545//
9546// For web app tests, you can specify both iosPaths and androidPaths.
9547type CustomerArtifactPaths struct {
9548	_ struct{} `type:"structure"`
9549
9550	// Comma-separated list of paths on the Android device where the artifacts generated
9551	// by the customer's tests are pulled from.
9552	AndroidPaths []*string `locationName:"androidPaths" type:"list"`
9553
9554	// Comma-separated list of paths in the test execution environment where the
9555	// artifacts generated by the customer's tests are pulled from.
9556	DeviceHostPaths []*string `locationName:"deviceHostPaths" type:"list"`
9557
9558	// Comma-separated list of paths on the iOS device where the artifacts generated
9559	// by the customer's tests are pulled from.
9560	IosPaths []*string `locationName:"iosPaths" type:"list"`
9561}
9562
9563// String returns the string representation
9564func (s CustomerArtifactPaths) String() string {
9565	return awsutil.Prettify(s)
9566}
9567
9568// GoString returns the string representation
9569func (s CustomerArtifactPaths) GoString() string {
9570	return s.String()
9571}
9572
9573// SetAndroidPaths sets the AndroidPaths field's value.
9574func (s *CustomerArtifactPaths) SetAndroidPaths(v []*string) *CustomerArtifactPaths {
9575	s.AndroidPaths = v
9576	return s
9577}
9578
9579// SetDeviceHostPaths sets the DeviceHostPaths field's value.
9580func (s *CustomerArtifactPaths) SetDeviceHostPaths(v []*string) *CustomerArtifactPaths {
9581	s.DeviceHostPaths = v
9582	return s
9583}
9584
9585// SetIosPaths sets the IosPaths field's value.
9586func (s *CustomerArtifactPaths) SetIosPaths(v []*string) *CustomerArtifactPaths {
9587	s.IosPaths = v
9588	return s
9589}
9590
9591// Represents a request to the delete device pool operation.
9592type DeleteDevicePoolInput struct {
9593	_ struct{} `type:"structure"`
9594
9595	// Represents the Amazon Resource Name (ARN) of the Device Farm device pool
9596	// to delete.
9597	//
9598	// Arn is a required field
9599	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9600}
9601
9602// String returns the string representation
9603func (s DeleteDevicePoolInput) String() string {
9604	return awsutil.Prettify(s)
9605}
9606
9607// GoString returns the string representation
9608func (s DeleteDevicePoolInput) GoString() string {
9609	return s.String()
9610}
9611
9612// Validate inspects the fields of the type to determine if they are valid.
9613func (s *DeleteDevicePoolInput) Validate() error {
9614	invalidParams := request.ErrInvalidParams{Context: "DeleteDevicePoolInput"}
9615	if s.Arn == nil {
9616		invalidParams.Add(request.NewErrParamRequired("Arn"))
9617	}
9618	if s.Arn != nil && len(*s.Arn) < 32 {
9619		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9620	}
9621
9622	if invalidParams.Len() > 0 {
9623		return invalidParams
9624	}
9625	return nil
9626}
9627
9628// SetArn sets the Arn field's value.
9629func (s *DeleteDevicePoolInput) SetArn(v string) *DeleteDevicePoolInput {
9630	s.Arn = &v
9631	return s
9632}
9633
9634// Represents the result of a delete device pool request.
9635type DeleteDevicePoolOutput struct {
9636	_ struct{} `type:"structure"`
9637}
9638
9639// String returns the string representation
9640func (s DeleteDevicePoolOutput) String() string {
9641	return awsutil.Prettify(s)
9642}
9643
9644// GoString returns the string representation
9645func (s DeleteDevicePoolOutput) GoString() string {
9646	return s.String()
9647}
9648
9649type DeleteInstanceProfileInput struct {
9650	_ struct{} `type:"structure"`
9651
9652	// The Amazon Resource Name (ARN) of the instance profile you are requesting
9653	// to delete.
9654	//
9655	// Arn is a required field
9656	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9657}
9658
9659// String returns the string representation
9660func (s DeleteInstanceProfileInput) String() string {
9661	return awsutil.Prettify(s)
9662}
9663
9664// GoString returns the string representation
9665func (s DeleteInstanceProfileInput) GoString() string {
9666	return s.String()
9667}
9668
9669// Validate inspects the fields of the type to determine if they are valid.
9670func (s *DeleteInstanceProfileInput) Validate() error {
9671	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceProfileInput"}
9672	if s.Arn == nil {
9673		invalidParams.Add(request.NewErrParamRequired("Arn"))
9674	}
9675	if s.Arn != nil && len(*s.Arn) < 32 {
9676		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9677	}
9678
9679	if invalidParams.Len() > 0 {
9680		return invalidParams
9681	}
9682	return nil
9683}
9684
9685// SetArn sets the Arn field's value.
9686func (s *DeleteInstanceProfileInput) SetArn(v string) *DeleteInstanceProfileInput {
9687	s.Arn = &v
9688	return s
9689}
9690
9691type DeleteInstanceProfileOutput struct {
9692	_ struct{} `type:"structure"`
9693}
9694
9695// String returns the string representation
9696func (s DeleteInstanceProfileOutput) String() string {
9697	return awsutil.Prettify(s)
9698}
9699
9700// GoString returns the string representation
9701func (s DeleteInstanceProfileOutput) GoString() string {
9702	return s.String()
9703}
9704
9705type DeleteNetworkProfileInput struct {
9706	_ struct{} `type:"structure"`
9707
9708	// The ARN of the network profile to delete.
9709	//
9710	// Arn is a required field
9711	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9712}
9713
9714// String returns the string representation
9715func (s DeleteNetworkProfileInput) String() string {
9716	return awsutil.Prettify(s)
9717}
9718
9719// GoString returns the string representation
9720func (s DeleteNetworkProfileInput) GoString() string {
9721	return s.String()
9722}
9723
9724// Validate inspects the fields of the type to determine if they are valid.
9725func (s *DeleteNetworkProfileInput) Validate() error {
9726	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkProfileInput"}
9727	if s.Arn == nil {
9728		invalidParams.Add(request.NewErrParamRequired("Arn"))
9729	}
9730	if s.Arn != nil && len(*s.Arn) < 32 {
9731		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9732	}
9733
9734	if invalidParams.Len() > 0 {
9735		return invalidParams
9736	}
9737	return nil
9738}
9739
9740// SetArn sets the Arn field's value.
9741func (s *DeleteNetworkProfileInput) SetArn(v string) *DeleteNetworkProfileInput {
9742	s.Arn = &v
9743	return s
9744}
9745
9746type DeleteNetworkProfileOutput struct {
9747	_ struct{} `type:"structure"`
9748}
9749
9750// String returns the string representation
9751func (s DeleteNetworkProfileOutput) String() string {
9752	return awsutil.Prettify(s)
9753}
9754
9755// GoString returns the string representation
9756func (s DeleteNetworkProfileOutput) GoString() string {
9757	return s.String()
9758}
9759
9760// Represents a request to the delete project operation.
9761type DeleteProjectInput struct {
9762	_ struct{} `type:"structure"`
9763
9764	// Represents the Amazon Resource Name (ARN) of the Device Farm project to delete.
9765	//
9766	// Arn is a required field
9767	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9768}
9769
9770// String returns the string representation
9771func (s DeleteProjectInput) String() string {
9772	return awsutil.Prettify(s)
9773}
9774
9775// GoString returns the string representation
9776func (s DeleteProjectInput) GoString() string {
9777	return s.String()
9778}
9779
9780// Validate inspects the fields of the type to determine if they are valid.
9781func (s *DeleteProjectInput) Validate() error {
9782	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
9783	if s.Arn == nil {
9784		invalidParams.Add(request.NewErrParamRequired("Arn"))
9785	}
9786	if s.Arn != nil && len(*s.Arn) < 32 {
9787		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9788	}
9789
9790	if invalidParams.Len() > 0 {
9791		return invalidParams
9792	}
9793	return nil
9794}
9795
9796// SetArn sets the Arn field's value.
9797func (s *DeleteProjectInput) SetArn(v string) *DeleteProjectInput {
9798	s.Arn = &v
9799	return s
9800}
9801
9802// Represents the result of a delete project request.
9803type DeleteProjectOutput struct {
9804	_ struct{} `type:"structure"`
9805}
9806
9807// String returns the string representation
9808func (s DeleteProjectOutput) String() string {
9809	return awsutil.Prettify(s)
9810}
9811
9812// GoString returns the string representation
9813func (s DeleteProjectOutput) GoString() string {
9814	return s.String()
9815}
9816
9817// Represents the request to delete the specified remote access session.
9818type DeleteRemoteAccessSessionInput struct {
9819	_ struct{} `type:"structure"`
9820
9821	// The Amazon Resource Name (ARN) of the session for which you want to delete
9822	// remote access.
9823	//
9824	// Arn is a required field
9825	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9826}
9827
9828// String returns the string representation
9829func (s DeleteRemoteAccessSessionInput) String() string {
9830	return awsutil.Prettify(s)
9831}
9832
9833// GoString returns the string representation
9834func (s DeleteRemoteAccessSessionInput) GoString() string {
9835	return s.String()
9836}
9837
9838// Validate inspects the fields of the type to determine if they are valid.
9839func (s *DeleteRemoteAccessSessionInput) Validate() error {
9840	invalidParams := request.ErrInvalidParams{Context: "DeleteRemoteAccessSessionInput"}
9841	if s.Arn == nil {
9842		invalidParams.Add(request.NewErrParamRequired("Arn"))
9843	}
9844	if s.Arn != nil && len(*s.Arn) < 32 {
9845		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9846	}
9847
9848	if invalidParams.Len() > 0 {
9849		return invalidParams
9850	}
9851	return nil
9852}
9853
9854// SetArn sets the Arn field's value.
9855func (s *DeleteRemoteAccessSessionInput) SetArn(v string) *DeleteRemoteAccessSessionInput {
9856	s.Arn = &v
9857	return s
9858}
9859
9860// The response from the server when a request is made to delete the remote
9861// access session.
9862type DeleteRemoteAccessSessionOutput struct {
9863	_ struct{} `type:"structure"`
9864}
9865
9866// String returns the string representation
9867func (s DeleteRemoteAccessSessionOutput) String() string {
9868	return awsutil.Prettify(s)
9869}
9870
9871// GoString returns the string representation
9872func (s DeleteRemoteAccessSessionOutput) GoString() string {
9873	return s.String()
9874}
9875
9876// Represents a request to the delete run operation.
9877type DeleteRunInput struct {
9878	_ struct{} `type:"structure"`
9879
9880	// The Amazon Resource Name (ARN) for the run to delete.
9881	//
9882	// Arn is a required field
9883	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9884}
9885
9886// String returns the string representation
9887func (s DeleteRunInput) String() string {
9888	return awsutil.Prettify(s)
9889}
9890
9891// GoString returns the string representation
9892func (s DeleteRunInput) GoString() string {
9893	return s.String()
9894}
9895
9896// Validate inspects the fields of the type to determine if they are valid.
9897func (s *DeleteRunInput) Validate() error {
9898	invalidParams := request.ErrInvalidParams{Context: "DeleteRunInput"}
9899	if s.Arn == nil {
9900		invalidParams.Add(request.NewErrParamRequired("Arn"))
9901	}
9902	if s.Arn != nil && len(*s.Arn) < 32 {
9903		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9904	}
9905
9906	if invalidParams.Len() > 0 {
9907		return invalidParams
9908	}
9909	return nil
9910}
9911
9912// SetArn sets the Arn field's value.
9913func (s *DeleteRunInput) SetArn(v string) *DeleteRunInput {
9914	s.Arn = &v
9915	return s
9916}
9917
9918// Represents the result of a delete run request.
9919type DeleteRunOutput struct {
9920	_ struct{} `type:"structure"`
9921}
9922
9923// String returns the string representation
9924func (s DeleteRunOutput) String() string {
9925	return awsutil.Prettify(s)
9926}
9927
9928// GoString returns the string representation
9929func (s DeleteRunOutput) GoString() string {
9930	return s.String()
9931}
9932
9933type DeleteTestGridProjectInput struct {
9934	_ struct{} `type:"structure"`
9935
9936	// The ARN of the project to delete, from CreateTestGridProject or ListTestGridProjects.
9937	//
9938	// ProjectArn is a required field
9939	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
9940}
9941
9942// String returns the string representation
9943func (s DeleteTestGridProjectInput) String() string {
9944	return awsutil.Prettify(s)
9945}
9946
9947// GoString returns the string representation
9948func (s DeleteTestGridProjectInput) GoString() string {
9949	return s.String()
9950}
9951
9952// Validate inspects the fields of the type to determine if they are valid.
9953func (s *DeleteTestGridProjectInput) Validate() error {
9954	invalidParams := request.ErrInvalidParams{Context: "DeleteTestGridProjectInput"}
9955	if s.ProjectArn == nil {
9956		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
9957	}
9958	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
9959		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
9960	}
9961
9962	if invalidParams.Len() > 0 {
9963		return invalidParams
9964	}
9965	return nil
9966}
9967
9968// SetProjectArn sets the ProjectArn field's value.
9969func (s *DeleteTestGridProjectInput) SetProjectArn(v string) *DeleteTestGridProjectInput {
9970	s.ProjectArn = &v
9971	return s
9972}
9973
9974type DeleteTestGridProjectOutput struct {
9975	_ struct{} `type:"structure"`
9976}
9977
9978// String returns the string representation
9979func (s DeleteTestGridProjectOutput) String() string {
9980	return awsutil.Prettify(s)
9981}
9982
9983// GoString returns the string representation
9984func (s DeleteTestGridProjectOutput) GoString() string {
9985	return s.String()
9986}
9987
9988// Represents a request to the delete upload operation.
9989type DeleteUploadInput struct {
9990	_ struct{} `type:"structure"`
9991
9992	// Represents the Amazon Resource Name (ARN) of the Device Farm upload to delete.
9993	//
9994	// Arn is a required field
9995	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9996}
9997
9998// String returns the string representation
9999func (s DeleteUploadInput) String() string {
10000	return awsutil.Prettify(s)
10001}
10002
10003// GoString returns the string representation
10004func (s DeleteUploadInput) GoString() string {
10005	return s.String()
10006}
10007
10008// Validate inspects the fields of the type to determine if they are valid.
10009func (s *DeleteUploadInput) Validate() error {
10010	invalidParams := request.ErrInvalidParams{Context: "DeleteUploadInput"}
10011	if s.Arn == nil {
10012		invalidParams.Add(request.NewErrParamRequired("Arn"))
10013	}
10014	if s.Arn != nil && len(*s.Arn) < 32 {
10015		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
10016	}
10017
10018	if invalidParams.Len() > 0 {
10019		return invalidParams
10020	}
10021	return nil
10022}
10023
10024// SetArn sets the Arn field's value.
10025func (s *DeleteUploadInput) SetArn(v string) *DeleteUploadInput {
10026	s.Arn = &v
10027	return s
10028}
10029
10030// Represents the result of a delete upload request.
10031type DeleteUploadOutput struct {
10032	_ struct{} `type:"structure"`
10033}
10034
10035// String returns the string representation
10036func (s DeleteUploadOutput) String() string {
10037	return awsutil.Prettify(s)
10038}
10039
10040// GoString returns the string representation
10041func (s DeleteUploadOutput) GoString() string {
10042	return s.String()
10043}
10044
10045type DeleteVPCEConfigurationInput struct {
10046	_ struct{} `type:"structure"`
10047
10048	// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want
10049	// to delete.
10050	//
10051	// Arn is a required field
10052	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
10053}
10054
10055// String returns the string representation
10056func (s DeleteVPCEConfigurationInput) String() string {
10057	return awsutil.Prettify(s)
10058}
10059
10060// GoString returns the string representation
10061func (s DeleteVPCEConfigurationInput) GoString() string {
10062	return s.String()
10063}
10064
10065// Validate inspects the fields of the type to determine if they are valid.
10066func (s *DeleteVPCEConfigurationInput) Validate() error {
10067	invalidParams := request.ErrInvalidParams{Context: "DeleteVPCEConfigurationInput"}
10068	if s.Arn == nil {
10069		invalidParams.Add(request.NewErrParamRequired("Arn"))
10070	}
10071	if s.Arn != nil && len(*s.Arn) < 32 {
10072		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
10073	}
10074
10075	if invalidParams.Len() > 0 {
10076		return invalidParams
10077	}
10078	return nil
10079}
10080
10081// SetArn sets the Arn field's value.
10082func (s *DeleteVPCEConfigurationInput) SetArn(v string) *DeleteVPCEConfigurationInput {
10083	s.Arn = &v
10084	return s
10085}
10086
10087type DeleteVPCEConfigurationOutput struct {
10088	_ struct{} `type:"structure"`
10089}
10090
10091// String returns the string representation
10092func (s DeleteVPCEConfigurationOutput) String() string {
10093	return awsutil.Prettify(s)
10094}
10095
10096// GoString returns the string representation
10097func (s DeleteVPCEConfigurationOutput) GoString() string {
10098	return s.String()
10099}
10100
10101// Represents a device type that an app is tested against.
10102type Device struct {
10103	_ struct{} `type:"structure"`
10104
10105	// The device's ARN.
10106	Arn *string `locationName:"arn" min:"32" type:"string"`
10107
10108	// Indicates how likely a device is available for a test run. Currently available
10109	// in the ListDevices and GetDevice API methods.
10110	Availability *string `locationName:"availability" type:"string" enum:"DeviceAvailability"`
10111
10112	// The device's carrier.
10113	Carrier *string `locationName:"carrier" type:"string"`
10114
10115	// Information about the device's CPU.
10116	Cpu *CPU `locationName:"cpu" type:"structure"`
10117
10118	// The name of the fleet to which this device belongs.
10119	FleetName *string `locationName:"fleetName" type:"string"`
10120
10121	// The type of fleet to which this device belongs. Possible values are PRIVATE
10122	// and PUBLIC.
10123	FleetType *string `locationName:"fleetType" type:"string"`
10124
10125	// The device's form factor.
10126	//
10127	// Allowed values include:
10128	//
10129	//    * PHONE
10130	//
10131	//    * TABLET
10132	FormFactor *string `locationName:"formFactor" type:"string" enum:"DeviceFormFactor"`
10133
10134	// The device's heap size, expressed in bytes.
10135	HeapSize *int64 `locationName:"heapSize" type:"long"`
10136
10137	// The device's image name.
10138	Image *string `locationName:"image" type:"string"`
10139
10140	// The instances that belong to this device.
10141	Instances []*DeviceInstance `locationName:"instances" type:"list"`
10142
10143	// The device's manufacturer name.
10144	Manufacturer *string `locationName:"manufacturer" type:"string"`
10145
10146	// The device's total memory size, expressed in bytes.
10147	Memory *int64 `locationName:"memory" type:"long"`
10148
10149	// The device's model name.
10150	Model *string `locationName:"model" type:"string"`
10151
10152	// The device's model ID.
10153	ModelId *string `locationName:"modelId" type:"string"`
10154
10155	// The device's display name.
10156	Name *string `locationName:"name" type:"string"`
10157
10158	// The device's operating system type.
10159	Os *string `locationName:"os" type:"string"`
10160
10161	// The device's platform.
10162	//
10163	// Allowed values include:
10164	//
10165	//    * ANDROID
10166	//
10167	//    * IOS
10168	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
10169
10170	// The device's radio.
10171	Radio *string `locationName:"radio" type:"string"`
10172
10173	// Specifies whether remote access has been enabled for the specified device.
10174	RemoteAccessEnabled *bool `locationName:"remoteAccessEnabled" type:"boolean"`
10175
10176	// This flag is set to true if remote debugging is enabled for the device.
10177	//
10178	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
10179	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
10180
10181	// The resolution of the device.
10182	Resolution *Resolution `locationName:"resolution" type:"structure"`
10183}
10184
10185// String returns the string representation
10186func (s Device) String() string {
10187	return awsutil.Prettify(s)
10188}
10189
10190// GoString returns the string representation
10191func (s Device) GoString() string {
10192	return s.String()
10193}
10194
10195// SetArn sets the Arn field's value.
10196func (s *Device) SetArn(v string) *Device {
10197	s.Arn = &v
10198	return s
10199}
10200
10201// SetAvailability sets the Availability field's value.
10202func (s *Device) SetAvailability(v string) *Device {
10203	s.Availability = &v
10204	return s
10205}
10206
10207// SetCarrier sets the Carrier field's value.
10208func (s *Device) SetCarrier(v string) *Device {
10209	s.Carrier = &v
10210	return s
10211}
10212
10213// SetCpu sets the Cpu field's value.
10214func (s *Device) SetCpu(v *CPU) *Device {
10215	s.Cpu = v
10216	return s
10217}
10218
10219// SetFleetName sets the FleetName field's value.
10220func (s *Device) SetFleetName(v string) *Device {
10221	s.FleetName = &v
10222	return s
10223}
10224
10225// SetFleetType sets the FleetType field's value.
10226func (s *Device) SetFleetType(v string) *Device {
10227	s.FleetType = &v
10228	return s
10229}
10230
10231// SetFormFactor sets the FormFactor field's value.
10232func (s *Device) SetFormFactor(v string) *Device {
10233	s.FormFactor = &v
10234	return s
10235}
10236
10237// SetHeapSize sets the HeapSize field's value.
10238func (s *Device) SetHeapSize(v int64) *Device {
10239	s.HeapSize = &v
10240	return s
10241}
10242
10243// SetImage sets the Image field's value.
10244func (s *Device) SetImage(v string) *Device {
10245	s.Image = &v
10246	return s
10247}
10248
10249// SetInstances sets the Instances field's value.
10250func (s *Device) SetInstances(v []*DeviceInstance) *Device {
10251	s.Instances = v
10252	return s
10253}
10254
10255// SetManufacturer sets the Manufacturer field's value.
10256func (s *Device) SetManufacturer(v string) *Device {
10257	s.Manufacturer = &v
10258	return s
10259}
10260
10261// SetMemory sets the Memory field's value.
10262func (s *Device) SetMemory(v int64) *Device {
10263	s.Memory = &v
10264	return s
10265}
10266
10267// SetModel sets the Model field's value.
10268func (s *Device) SetModel(v string) *Device {
10269	s.Model = &v
10270	return s
10271}
10272
10273// SetModelId sets the ModelId field's value.
10274func (s *Device) SetModelId(v string) *Device {
10275	s.ModelId = &v
10276	return s
10277}
10278
10279// SetName sets the Name field's value.
10280func (s *Device) SetName(v string) *Device {
10281	s.Name = &v
10282	return s
10283}
10284
10285// SetOs sets the Os field's value.
10286func (s *Device) SetOs(v string) *Device {
10287	s.Os = &v
10288	return s
10289}
10290
10291// SetPlatform sets the Platform field's value.
10292func (s *Device) SetPlatform(v string) *Device {
10293	s.Platform = &v
10294	return s
10295}
10296
10297// SetRadio sets the Radio field's value.
10298func (s *Device) SetRadio(v string) *Device {
10299	s.Radio = &v
10300	return s
10301}
10302
10303// SetRemoteAccessEnabled sets the RemoteAccessEnabled field's value.
10304func (s *Device) SetRemoteAccessEnabled(v bool) *Device {
10305	s.RemoteAccessEnabled = &v
10306	return s
10307}
10308
10309// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
10310func (s *Device) SetRemoteDebugEnabled(v bool) *Device {
10311	s.RemoteDebugEnabled = &v
10312	return s
10313}
10314
10315// SetResolution sets the Resolution field's value.
10316func (s *Device) SetResolution(v *Resolution) *Device {
10317	s.Resolution = v
10318	return s
10319}
10320
10321// Represents a device filter used to select a set of devices to be included
10322// in a test run. This data structure is passed in as the deviceSelectionConfiguration
10323// parameter to ScheduleRun. For an example of the JSON request syntax, see
10324// ScheduleRun.
10325//
10326// It is also passed in as the filters parameter to ListDevices. For an example
10327// of the JSON request syntax, see ListDevices.
10328type DeviceFilter struct {
10329	_ struct{} `type:"structure"`
10330
10331	// The aspect of a device such as platform or model used as the selection criteria
10332	// in a device filter.
10333	//
10334	// The supported operators for each attribute are provided in the following
10335	// list.
10336	//
10337	// ARN
10338	//
10339	// The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).
10340	//
10341	// Supported operators: EQUALS, IN, NOT_IN
10342	//
10343	// PLATFORM
10344	//
10345	// The device platform. Valid values are ANDROID or IOS.
10346	//
10347	// Supported operators: EQUALS
10348	//
10349	// OS_VERSION
10350	//
10351	// The operating system version (for example, 10.3.2).
10352	//
10353	// Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN,
10354	// LESS_THAN_OR_EQUALS, NOT_IN
10355	//
10356	// MODEL
10357	//
10358	// The device model (for example, iPad 5th Gen).
10359	//
10360	// Supported operators: CONTAINS, EQUALS, IN, NOT_IN
10361	//
10362	// AVAILABILITY
10363	//
10364	// The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE,
10365	// BUSY, or TEMPORARY_NOT_AVAILABLE.
10366	//
10367	// Supported operators: EQUALS
10368	//
10369	// FORM_FACTOR
10370	//
10371	// The device form factor. Valid values are PHONE or TABLET.
10372	//
10373	// Supported operators: EQUALS
10374	//
10375	// MANUFACTURER
10376	//
10377	// The device manufacturer (for example, Apple).
10378	//
10379	// Supported operators: EQUALS, IN, NOT_IN
10380	//
10381	// REMOTE_ACCESS_ENABLED
10382	//
10383	// Whether the device is enabled for remote access. Valid values are TRUE or
10384	// FALSE.
10385	//
10386	// Supported operators: EQUALS
10387	//
10388	// REMOTE_DEBUG_ENABLED
10389	//
10390	// Whether the device is enabled for remote debugging. Valid values are TRUE
10391	// or FALSE.
10392	//
10393	// Supported operators: EQUALS
10394	//
10395	// Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
10396	// this filter is ignored.
10397	//
10398	// INSTANCE_ARN
10399	//
10400	// The Amazon Resource Name (ARN) of the device instance.
10401	//
10402	// Supported operators: EQUALS, IN, NOT_IN
10403	//
10404	// INSTANCE_LABELS
10405	//
10406	// The label of the device instance.
10407	//
10408	// Supported operators: CONTAINS
10409	//
10410	// FLEET_TYPE
10411	//
10412	// The fleet type. Valid values are PUBLIC or PRIVATE.
10413	//
10414	// Supported operators: EQUALS
10415	//
10416	// Attribute is a required field
10417	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"DeviceFilterAttribute"`
10418
10419	// Specifies how Device Farm compares the filter's attribute to the value. See
10420	// the attribute descriptions.
10421	//
10422	// Operator is a required field
10423	Operator *string `locationName:"operator" type:"string" required:"true" enum:"RuleOperator"`
10424
10425	// An array of one or more filter values used in a device filter.
10426	//
10427	// Operator Values
10428	//
10429	//    * The IN and NOT_IN operators can take a values array that has more than
10430	//    one element.
10431	//
10432	//    * The other operators require an array with a single element.
10433	//
10434	// Attribute Values
10435	//
10436	//    * The PLATFORM attribute can be set to ANDROID or IOS.
10437	//
10438	//    * The AVAILABILITY attribute can be set to AVAILABLE, HIGHLY_AVAILABLE,
10439	//    BUSY, or TEMPORARY_NOT_AVAILABLE.
10440	//
10441	//    * The FORM_FACTOR attribute can be set to PHONE or TABLET.
10442	//
10443	//    * The FLEET_TYPE attribute can be set to PUBLIC or PRIVATE.
10444	//
10445	// Values is a required field
10446	Values []*string `locationName:"values" type:"list" required:"true"`
10447}
10448
10449// String returns the string representation
10450func (s DeviceFilter) String() string {
10451	return awsutil.Prettify(s)
10452}
10453
10454// GoString returns the string representation
10455func (s DeviceFilter) GoString() string {
10456	return s.String()
10457}
10458
10459// Validate inspects the fields of the type to determine if they are valid.
10460func (s *DeviceFilter) Validate() error {
10461	invalidParams := request.ErrInvalidParams{Context: "DeviceFilter"}
10462	if s.Attribute == nil {
10463		invalidParams.Add(request.NewErrParamRequired("Attribute"))
10464	}
10465	if s.Operator == nil {
10466		invalidParams.Add(request.NewErrParamRequired("Operator"))
10467	}
10468	if s.Values == nil {
10469		invalidParams.Add(request.NewErrParamRequired("Values"))
10470	}
10471
10472	if invalidParams.Len() > 0 {
10473		return invalidParams
10474	}
10475	return nil
10476}
10477
10478// SetAttribute sets the Attribute field's value.
10479func (s *DeviceFilter) SetAttribute(v string) *DeviceFilter {
10480	s.Attribute = &v
10481	return s
10482}
10483
10484// SetOperator sets the Operator field's value.
10485func (s *DeviceFilter) SetOperator(v string) *DeviceFilter {
10486	s.Operator = &v
10487	return s
10488}
10489
10490// SetValues sets the Values field's value.
10491func (s *DeviceFilter) SetValues(v []*string) *DeviceFilter {
10492	s.Values = v
10493	return s
10494}
10495
10496// Represents the device instance.
10497type DeviceInstance struct {
10498	_ struct{} `type:"structure"`
10499
10500	// The Amazon Resource Name (ARN) of the device instance.
10501	Arn *string `locationName:"arn" min:"32" type:"string"`
10502
10503	// The ARN of the device.
10504	DeviceArn *string `locationName:"deviceArn" min:"32" type:"string"`
10505
10506	// A object that contains information about the instance profile.
10507	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
10508
10509	// An array of strings that describe the device instance.
10510	Labels []*string `locationName:"labels" type:"list"`
10511
10512	// The status of the device instance. Valid values are listed here.
10513	Status *string `locationName:"status" type:"string" enum:"InstanceStatus"`
10514
10515	// Unique device identifier for the device instance.
10516	Udid *string `locationName:"udid" type:"string"`
10517}
10518
10519// String returns the string representation
10520func (s DeviceInstance) String() string {
10521	return awsutil.Prettify(s)
10522}
10523
10524// GoString returns the string representation
10525func (s DeviceInstance) GoString() string {
10526	return s.String()
10527}
10528
10529// SetArn sets the Arn field's value.
10530func (s *DeviceInstance) SetArn(v string) *DeviceInstance {
10531	s.Arn = &v
10532	return s
10533}
10534
10535// SetDeviceArn sets the DeviceArn field's value.
10536func (s *DeviceInstance) SetDeviceArn(v string) *DeviceInstance {
10537	s.DeviceArn = &v
10538	return s
10539}
10540
10541// SetInstanceProfile sets the InstanceProfile field's value.
10542func (s *DeviceInstance) SetInstanceProfile(v *InstanceProfile) *DeviceInstance {
10543	s.InstanceProfile = v
10544	return s
10545}
10546
10547// SetLabels sets the Labels field's value.
10548func (s *DeviceInstance) SetLabels(v []*string) *DeviceInstance {
10549	s.Labels = v
10550	return s
10551}
10552
10553// SetStatus sets the Status field's value.
10554func (s *DeviceInstance) SetStatus(v string) *DeviceInstance {
10555	s.Status = &v
10556	return s
10557}
10558
10559// SetUdid sets the Udid field's value.
10560func (s *DeviceInstance) SetUdid(v string) *DeviceInstance {
10561	s.Udid = &v
10562	return s
10563}
10564
10565// Represents the total (metered or unmetered) minutes used by the resource
10566// to run tests. Contains the sum of minutes consumed by all children.
10567type DeviceMinutes struct {
10568	_ struct{} `type:"structure"`
10569
10570	// When specified, represents only the sum of metered minutes used by the resource
10571	// to run tests.
10572	Metered *float64 `locationName:"metered" type:"double"`
10573
10574	// When specified, represents the total minutes used by the resource to run
10575	// tests.
10576	Total *float64 `locationName:"total" type:"double"`
10577
10578	// When specified, represents only the sum of unmetered minutes used by the
10579	// resource to run tests.
10580	Unmetered *float64 `locationName:"unmetered" type:"double"`
10581}
10582
10583// String returns the string representation
10584func (s DeviceMinutes) String() string {
10585	return awsutil.Prettify(s)
10586}
10587
10588// GoString returns the string representation
10589func (s DeviceMinutes) GoString() string {
10590	return s.String()
10591}
10592
10593// SetMetered sets the Metered field's value.
10594func (s *DeviceMinutes) SetMetered(v float64) *DeviceMinutes {
10595	s.Metered = &v
10596	return s
10597}
10598
10599// SetTotal sets the Total field's value.
10600func (s *DeviceMinutes) SetTotal(v float64) *DeviceMinutes {
10601	s.Total = &v
10602	return s
10603}
10604
10605// SetUnmetered sets the Unmetered field's value.
10606func (s *DeviceMinutes) SetUnmetered(v float64) *DeviceMinutes {
10607	s.Unmetered = &v
10608	return s
10609}
10610
10611// Represents a collection of device types.
10612type DevicePool struct {
10613	_ struct{} `type:"structure"`
10614
10615	// The device pool's ARN.
10616	Arn *string `locationName:"arn" min:"32" type:"string"`
10617
10618	// The device pool's description.
10619	Description *string `locationName:"description" type:"string"`
10620
10621	// The number of devices that Device Farm can add to your device pool. Device
10622	// Farm adds devices that are available and meet the criteria that you assign
10623	// for the rules parameter. Depending on how many devices meet these constraints,
10624	// your device pool might contain fewer devices than the value for this parameter.
10625	//
10626	// By specifying the maximum number of devices, you can control the costs that
10627	// you incur by running tests.
10628	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
10629
10630	// The device pool's name.
10631	Name *string `locationName:"name" type:"string"`
10632
10633	// Information about the device pool's rules.
10634	Rules []*Rule `locationName:"rules" type:"list"`
10635
10636	// The device pool's type.
10637	//
10638	// Allowed values include:
10639	//
10640	//    * CURATED: A device pool that is created and managed by AWS Device Farm.
10641	//
10642	//    * PRIVATE: A device pool that is created and managed by the device pool
10643	//    developer.
10644	Type *string `locationName:"type" type:"string" enum:"DevicePoolType"`
10645}
10646
10647// String returns the string representation
10648func (s DevicePool) String() string {
10649	return awsutil.Prettify(s)
10650}
10651
10652// GoString returns the string representation
10653func (s DevicePool) GoString() string {
10654	return s.String()
10655}
10656
10657// SetArn sets the Arn field's value.
10658func (s *DevicePool) SetArn(v string) *DevicePool {
10659	s.Arn = &v
10660	return s
10661}
10662
10663// SetDescription sets the Description field's value.
10664func (s *DevicePool) SetDescription(v string) *DevicePool {
10665	s.Description = &v
10666	return s
10667}
10668
10669// SetMaxDevices sets the MaxDevices field's value.
10670func (s *DevicePool) SetMaxDevices(v int64) *DevicePool {
10671	s.MaxDevices = &v
10672	return s
10673}
10674
10675// SetName sets the Name field's value.
10676func (s *DevicePool) SetName(v string) *DevicePool {
10677	s.Name = &v
10678	return s
10679}
10680
10681// SetRules sets the Rules field's value.
10682func (s *DevicePool) SetRules(v []*Rule) *DevicePool {
10683	s.Rules = v
10684	return s
10685}
10686
10687// SetType sets the Type field's value.
10688func (s *DevicePool) SetType(v string) *DevicePool {
10689	s.Type = &v
10690	return s
10691}
10692
10693// Represents a device pool compatibility result.
10694type DevicePoolCompatibilityResult struct {
10695	_ struct{} `type:"structure"`
10696
10697	// Whether the result was compatible with the device pool.
10698	Compatible *bool `locationName:"compatible" type:"boolean"`
10699
10700	// The device (phone or tablet) to return information about.
10701	Device *Device `locationName:"device" type:"structure"`
10702
10703	// Information about the compatibility.
10704	IncompatibilityMessages []*IncompatibilityMessage `locationName:"incompatibilityMessages" type:"list"`
10705}
10706
10707// String returns the string representation
10708func (s DevicePoolCompatibilityResult) String() string {
10709	return awsutil.Prettify(s)
10710}
10711
10712// GoString returns the string representation
10713func (s DevicePoolCompatibilityResult) GoString() string {
10714	return s.String()
10715}
10716
10717// SetCompatible sets the Compatible field's value.
10718func (s *DevicePoolCompatibilityResult) SetCompatible(v bool) *DevicePoolCompatibilityResult {
10719	s.Compatible = &v
10720	return s
10721}
10722
10723// SetDevice sets the Device field's value.
10724func (s *DevicePoolCompatibilityResult) SetDevice(v *Device) *DevicePoolCompatibilityResult {
10725	s.Device = v
10726	return s
10727}
10728
10729// SetIncompatibilityMessages sets the IncompatibilityMessages field's value.
10730func (s *DevicePoolCompatibilityResult) SetIncompatibilityMessages(v []*IncompatibilityMessage) *DevicePoolCompatibilityResult {
10731	s.IncompatibilityMessages = v
10732	return s
10733}
10734
10735// Represents the device filters used in a test run and the maximum number of
10736// devices to be included in the run. It is passed in as the deviceSelectionConfiguration
10737// request parameter in ScheduleRun.
10738type DeviceSelectionConfiguration struct {
10739	_ struct{} `type:"structure"`
10740
10741	// Used to dynamically select a set of devices for a test run. A filter is made
10742	// up of an attribute, an operator, and one or more values.
10743	//
10744	//    * Attribute The aspect of a device such as platform or model used as the
10745	//    selection criteria in a device filter. Allowed values include: ARN: The
10746	//    Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).
10747	//    PLATFORM: The device platform. Valid values are ANDROID or IOS. OS_VERSION:
10748	//    The operating system version (for example, 10.3.2). MODEL: The device
10749	//    model (for example, iPad 5th Gen). AVAILABILITY: The current availability
10750	//    of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or
10751	//    TEMPORARY_NOT_AVAILABLE. FORM_FACTOR: The device form factor. Valid values
10752	//    are PHONE or TABLET. MANUFACTURER: The device manufacturer (for example,
10753	//    Apple). REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote
10754	//    access. Valid values are TRUE or FALSE. REMOTE_DEBUG_ENABLED: Whether
10755	//    the device is enabled for remote debugging. Valid values are TRUE or FALSE.
10756	//    Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
10757	//    this filter is ignored. INSTANCE_ARN: The Amazon Resource Name (ARN) of
10758	//    the device instance. INSTANCE_LABELS: The label of the device instance.
10759	//    FLEET_TYPE: The fleet type. Valid values are PUBLIC or PRIVATE.
10760	//
10761	//    * Operator The filter operator. The EQUALS operator is available for every
10762	//    attribute except INSTANCE_LABELS. The CONTAINS operator is available for
10763	//    the INSTANCE_LABELS and MODEL attributes. The IN and NOT_IN operators
10764	//    are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN
10765	//    attributes. The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS
10766	//    operators are also available for the OS_VERSION attribute.
10767	//
10768	//    * Values An array of one or more filter values. Operator Values The IN
10769	//    and NOT_IN operators can take a values array that has more than one element.
10770	//    The other operators require an array with a single element. Attribute
10771	//    Values The PLATFORM attribute can be set to ANDROID or IOS. The AVAILABILITY
10772	//    attribute can be set to AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.
10773	//    The FORM_FACTOR attribute can be set to PHONE or TABLET. The FLEET_TYPE
10774	//    attribute can be set to PUBLIC or PRIVATE.
10775	//
10776	// Filters is a required field
10777	Filters []*DeviceFilter `locationName:"filters" type:"list" required:"true"`
10778
10779	// The maximum number of devices to be included in a test run.
10780	//
10781	// MaxDevices is a required field
10782	MaxDevices *int64 `locationName:"maxDevices" type:"integer" required:"true"`
10783}
10784
10785// String returns the string representation
10786func (s DeviceSelectionConfiguration) String() string {
10787	return awsutil.Prettify(s)
10788}
10789
10790// GoString returns the string representation
10791func (s DeviceSelectionConfiguration) GoString() string {
10792	return s.String()
10793}
10794
10795// Validate inspects the fields of the type to determine if they are valid.
10796func (s *DeviceSelectionConfiguration) Validate() error {
10797	invalidParams := request.ErrInvalidParams{Context: "DeviceSelectionConfiguration"}
10798	if s.Filters == nil {
10799		invalidParams.Add(request.NewErrParamRequired("Filters"))
10800	}
10801	if s.MaxDevices == nil {
10802		invalidParams.Add(request.NewErrParamRequired("MaxDevices"))
10803	}
10804	if s.Filters != nil {
10805		for i, v := range s.Filters {
10806			if v == nil {
10807				continue
10808			}
10809			if err := v.Validate(); err != nil {
10810				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10811			}
10812		}
10813	}
10814
10815	if invalidParams.Len() > 0 {
10816		return invalidParams
10817	}
10818	return nil
10819}
10820
10821// SetFilters sets the Filters field's value.
10822func (s *DeviceSelectionConfiguration) SetFilters(v []*DeviceFilter) *DeviceSelectionConfiguration {
10823	s.Filters = v
10824	return s
10825}
10826
10827// SetMaxDevices sets the MaxDevices field's value.
10828func (s *DeviceSelectionConfiguration) SetMaxDevices(v int64) *DeviceSelectionConfiguration {
10829	s.MaxDevices = &v
10830	return s
10831}
10832
10833// Contains the run results requested by the device selection configuration
10834// and how many devices were returned. For an example of the JSON response syntax,
10835// see ScheduleRun.
10836type DeviceSelectionResult struct {
10837	_ struct{} `type:"structure"`
10838
10839	// The filters in a device selection result.
10840	Filters []*DeviceFilter `locationName:"filters" type:"list"`
10841
10842	// The number of devices that matched the device filter selection criteria.
10843	MatchedDevicesCount *int64 `locationName:"matchedDevicesCount" type:"integer"`
10844
10845	// The maximum number of devices to be selected by a device filter and included
10846	// in a test run.
10847	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
10848}
10849
10850// String returns the string representation
10851func (s DeviceSelectionResult) String() string {
10852	return awsutil.Prettify(s)
10853}
10854
10855// GoString returns the string representation
10856func (s DeviceSelectionResult) GoString() string {
10857	return s.String()
10858}
10859
10860// SetFilters sets the Filters field's value.
10861func (s *DeviceSelectionResult) SetFilters(v []*DeviceFilter) *DeviceSelectionResult {
10862	s.Filters = v
10863	return s
10864}
10865
10866// SetMatchedDevicesCount sets the MatchedDevicesCount field's value.
10867func (s *DeviceSelectionResult) SetMatchedDevicesCount(v int64) *DeviceSelectionResult {
10868	s.MatchedDevicesCount = &v
10869	return s
10870}
10871
10872// SetMaxDevices sets the MaxDevices field's value.
10873func (s *DeviceSelectionResult) SetMaxDevices(v int64) *DeviceSelectionResult {
10874	s.MaxDevices = &v
10875	return s
10876}
10877
10878// Represents configuration information about a test run, such as the execution
10879// timeout (in minutes).
10880type ExecutionConfiguration struct {
10881	_ struct{} `type:"structure"`
10882
10883	// True if account cleanup is enabled at the beginning of the test. Otherwise,
10884	// false.
10885	AccountsCleanup *bool `locationName:"accountsCleanup" type:"boolean"`
10886
10887	// True if app package cleanup is enabled at the beginning of the test. Otherwise,
10888	// false.
10889	AppPackagesCleanup *bool `locationName:"appPackagesCleanup" type:"boolean"`
10890
10891	// The number of minutes a test run executes before it times out.
10892	JobTimeoutMinutes *int64 `locationName:"jobTimeoutMinutes" type:"integer"`
10893
10894	// When set to true, for private devices, Device Farm does not sign your app
10895	// again. For public devices, Device Farm always signs your apps again.
10896	//
10897	// For more information about how Device Farm re-signs your apps, see Do you
10898	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
10899	// Farm FAQs.
10900	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
10901
10902	// Set to true to enable video capture. Otherwise, set to false. The default
10903	// is true.
10904	VideoCapture *bool `locationName:"videoCapture" type:"boolean"`
10905}
10906
10907// String returns the string representation
10908func (s ExecutionConfiguration) String() string {
10909	return awsutil.Prettify(s)
10910}
10911
10912// GoString returns the string representation
10913func (s ExecutionConfiguration) GoString() string {
10914	return s.String()
10915}
10916
10917// SetAccountsCleanup sets the AccountsCleanup field's value.
10918func (s *ExecutionConfiguration) SetAccountsCleanup(v bool) *ExecutionConfiguration {
10919	s.AccountsCleanup = &v
10920	return s
10921}
10922
10923// SetAppPackagesCleanup sets the AppPackagesCleanup field's value.
10924func (s *ExecutionConfiguration) SetAppPackagesCleanup(v bool) *ExecutionConfiguration {
10925	s.AppPackagesCleanup = &v
10926	return s
10927}
10928
10929// SetJobTimeoutMinutes sets the JobTimeoutMinutes field's value.
10930func (s *ExecutionConfiguration) SetJobTimeoutMinutes(v int64) *ExecutionConfiguration {
10931	s.JobTimeoutMinutes = &v
10932	return s
10933}
10934
10935// SetSkipAppResign sets the SkipAppResign field's value.
10936func (s *ExecutionConfiguration) SetSkipAppResign(v bool) *ExecutionConfiguration {
10937	s.SkipAppResign = &v
10938	return s
10939}
10940
10941// SetVideoCapture sets the VideoCapture field's value.
10942func (s *ExecutionConfiguration) SetVideoCapture(v bool) *ExecutionConfiguration {
10943	s.VideoCapture = &v
10944	return s
10945}
10946
10947// Represents the request sent to retrieve the account settings.
10948type GetAccountSettingsInput struct {
10949	_ struct{} `type:"structure"`
10950}
10951
10952// String returns the string representation
10953func (s GetAccountSettingsInput) String() string {
10954	return awsutil.Prettify(s)
10955}
10956
10957// GoString returns the string representation
10958func (s GetAccountSettingsInput) GoString() string {
10959	return s.String()
10960}
10961
10962// Represents the account settings return values from the GetAccountSettings
10963// request.
10964type GetAccountSettingsOutput struct {
10965	_ struct{} `type:"structure"`
10966
10967	// The account settings.
10968	AccountSettings *AccountSettings `locationName:"accountSettings" type:"structure"`
10969}
10970
10971// String returns the string representation
10972func (s GetAccountSettingsOutput) String() string {
10973	return awsutil.Prettify(s)
10974}
10975
10976// GoString returns the string representation
10977func (s GetAccountSettingsOutput) GoString() string {
10978	return s.String()
10979}
10980
10981// SetAccountSettings sets the AccountSettings field's value.
10982func (s *GetAccountSettingsOutput) SetAccountSettings(v *AccountSettings) *GetAccountSettingsOutput {
10983	s.AccountSettings = v
10984	return s
10985}
10986
10987// Represents a request to the get device request.
10988type GetDeviceInput struct {
10989	_ struct{} `type:"structure"`
10990
10991	// The device type's ARN.
10992	//
10993	// Arn is a required field
10994	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
10995}
10996
10997// String returns the string representation
10998func (s GetDeviceInput) String() string {
10999	return awsutil.Prettify(s)
11000}
11001
11002// GoString returns the string representation
11003func (s GetDeviceInput) GoString() string {
11004	return s.String()
11005}
11006
11007// Validate inspects the fields of the type to determine if they are valid.
11008func (s *GetDeviceInput) Validate() error {
11009	invalidParams := request.ErrInvalidParams{Context: "GetDeviceInput"}
11010	if s.Arn == nil {
11011		invalidParams.Add(request.NewErrParamRequired("Arn"))
11012	}
11013	if s.Arn != nil && len(*s.Arn) < 32 {
11014		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11015	}
11016
11017	if invalidParams.Len() > 0 {
11018		return invalidParams
11019	}
11020	return nil
11021}
11022
11023// SetArn sets the Arn field's value.
11024func (s *GetDeviceInput) SetArn(v string) *GetDeviceInput {
11025	s.Arn = &v
11026	return s
11027}
11028
11029type GetDeviceInstanceInput struct {
11030	_ struct{} `type:"structure"`
11031
11032	// The Amazon Resource Name (ARN) of the instance you're requesting information
11033	// about.
11034	//
11035	// Arn is a required field
11036	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11037}
11038
11039// String returns the string representation
11040func (s GetDeviceInstanceInput) String() string {
11041	return awsutil.Prettify(s)
11042}
11043
11044// GoString returns the string representation
11045func (s GetDeviceInstanceInput) GoString() string {
11046	return s.String()
11047}
11048
11049// Validate inspects the fields of the type to determine if they are valid.
11050func (s *GetDeviceInstanceInput) Validate() error {
11051	invalidParams := request.ErrInvalidParams{Context: "GetDeviceInstanceInput"}
11052	if s.Arn == nil {
11053		invalidParams.Add(request.NewErrParamRequired("Arn"))
11054	}
11055	if s.Arn != nil && len(*s.Arn) < 32 {
11056		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11057	}
11058
11059	if invalidParams.Len() > 0 {
11060		return invalidParams
11061	}
11062	return nil
11063}
11064
11065// SetArn sets the Arn field's value.
11066func (s *GetDeviceInstanceInput) SetArn(v string) *GetDeviceInstanceInput {
11067	s.Arn = &v
11068	return s
11069}
11070
11071type GetDeviceInstanceOutput struct {
11072	_ struct{} `type:"structure"`
11073
11074	// An object that contains information about your device instance.
11075	DeviceInstance *DeviceInstance `locationName:"deviceInstance" type:"structure"`
11076}
11077
11078// String returns the string representation
11079func (s GetDeviceInstanceOutput) String() string {
11080	return awsutil.Prettify(s)
11081}
11082
11083// GoString returns the string representation
11084func (s GetDeviceInstanceOutput) GoString() string {
11085	return s.String()
11086}
11087
11088// SetDeviceInstance sets the DeviceInstance field's value.
11089func (s *GetDeviceInstanceOutput) SetDeviceInstance(v *DeviceInstance) *GetDeviceInstanceOutput {
11090	s.DeviceInstance = v
11091	return s
11092}
11093
11094// Represents the result of a get device request.
11095type GetDeviceOutput struct {
11096	_ struct{} `type:"structure"`
11097
11098	// An object that contains information about the requested device.
11099	Device *Device `locationName:"device" type:"structure"`
11100}
11101
11102// String returns the string representation
11103func (s GetDeviceOutput) String() string {
11104	return awsutil.Prettify(s)
11105}
11106
11107// GoString returns the string representation
11108func (s GetDeviceOutput) GoString() string {
11109	return s.String()
11110}
11111
11112// SetDevice sets the Device field's value.
11113func (s *GetDeviceOutput) SetDevice(v *Device) *GetDeviceOutput {
11114	s.Device = v
11115	return s
11116}
11117
11118// Represents a request to the get device pool compatibility operation.
11119type GetDevicePoolCompatibilityInput struct {
11120	_ struct{} `type:"structure"`
11121
11122	// The ARN of the app that is associated with the specified device pool.
11123	AppArn *string `locationName:"appArn" min:"32" type:"string"`
11124
11125	// An object that contains information about the settings for a run.
11126	Configuration *ScheduleRunConfiguration `locationName:"configuration" type:"structure"`
11127
11128	// The device pool's ARN.
11129	//
11130	// DevicePoolArn is a required field
11131	DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string" required:"true"`
11132
11133	// Information about the uploaded test to be run against the device pool.
11134	Test *ScheduleRunTest `locationName:"test" type:"structure"`
11135
11136	// The test type for the specified device pool.
11137	//
11138	// Allowed values include the following:
11139	//
11140	//    * BUILTIN_FUZZ.
11141	//
11142	//    * BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android
11143	//    app, interacting with it and capturing screenshots at the same time.
11144	//
11145	//    * APPIUM_JAVA_JUNIT.
11146	//
11147	//    * APPIUM_JAVA_TESTNG.
11148	//
11149	//    * APPIUM_PYTHON.
11150	//
11151	//    * APPIUM_NODE.
11152	//
11153	//    * APPIUM_RUBY.
11154	//
11155	//    * APPIUM_WEB_JAVA_JUNIT.
11156	//
11157	//    * APPIUM_WEB_JAVA_TESTNG.
11158	//
11159	//    * APPIUM_WEB_PYTHON.
11160	//
11161	//    * APPIUM_WEB_NODE.
11162	//
11163	//    * APPIUM_WEB_RUBY.
11164	//
11165	//    * CALABASH.
11166	//
11167	//    * INSTRUMENTATION.
11168	//
11169	//    * UIAUTOMATION.
11170	//
11171	//    * UIAUTOMATOR.
11172	//
11173	//    * XCTEST.
11174	//
11175	//    * XCTEST_UI.
11176	TestType *string `locationName:"testType" type:"string" enum:"TestType"`
11177}
11178
11179// String returns the string representation
11180func (s GetDevicePoolCompatibilityInput) String() string {
11181	return awsutil.Prettify(s)
11182}
11183
11184// GoString returns the string representation
11185func (s GetDevicePoolCompatibilityInput) GoString() string {
11186	return s.String()
11187}
11188
11189// Validate inspects the fields of the type to determine if they are valid.
11190func (s *GetDevicePoolCompatibilityInput) Validate() error {
11191	invalidParams := request.ErrInvalidParams{Context: "GetDevicePoolCompatibilityInput"}
11192	if s.AppArn != nil && len(*s.AppArn) < 32 {
11193		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
11194	}
11195	if s.DevicePoolArn == nil {
11196		invalidParams.Add(request.NewErrParamRequired("DevicePoolArn"))
11197	}
11198	if s.DevicePoolArn != nil && len(*s.DevicePoolArn) < 32 {
11199		invalidParams.Add(request.NewErrParamMinLen("DevicePoolArn", 32))
11200	}
11201	if s.Configuration != nil {
11202		if err := s.Configuration.Validate(); err != nil {
11203			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
11204		}
11205	}
11206	if s.Test != nil {
11207		if err := s.Test.Validate(); err != nil {
11208			invalidParams.AddNested("Test", err.(request.ErrInvalidParams))
11209		}
11210	}
11211
11212	if invalidParams.Len() > 0 {
11213		return invalidParams
11214	}
11215	return nil
11216}
11217
11218// SetAppArn sets the AppArn field's value.
11219func (s *GetDevicePoolCompatibilityInput) SetAppArn(v string) *GetDevicePoolCompatibilityInput {
11220	s.AppArn = &v
11221	return s
11222}
11223
11224// SetConfiguration sets the Configuration field's value.
11225func (s *GetDevicePoolCompatibilityInput) SetConfiguration(v *ScheduleRunConfiguration) *GetDevicePoolCompatibilityInput {
11226	s.Configuration = v
11227	return s
11228}
11229
11230// SetDevicePoolArn sets the DevicePoolArn field's value.
11231func (s *GetDevicePoolCompatibilityInput) SetDevicePoolArn(v string) *GetDevicePoolCompatibilityInput {
11232	s.DevicePoolArn = &v
11233	return s
11234}
11235
11236// SetTest sets the Test field's value.
11237func (s *GetDevicePoolCompatibilityInput) SetTest(v *ScheduleRunTest) *GetDevicePoolCompatibilityInput {
11238	s.Test = v
11239	return s
11240}
11241
11242// SetTestType sets the TestType field's value.
11243func (s *GetDevicePoolCompatibilityInput) SetTestType(v string) *GetDevicePoolCompatibilityInput {
11244	s.TestType = &v
11245	return s
11246}
11247
11248// Represents the result of describe device pool compatibility request.
11249type GetDevicePoolCompatibilityOutput struct {
11250	_ struct{} `type:"structure"`
11251
11252	// Information about compatible devices.
11253	CompatibleDevices []*DevicePoolCompatibilityResult `locationName:"compatibleDevices" type:"list"`
11254
11255	// Information about incompatible devices.
11256	IncompatibleDevices []*DevicePoolCompatibilityResult `locationName:"incompatibleDevices" type:"list"`
11257}
11258
11259// String returns the string representation
11260func (s GetDevicePoolCompatibilityOutput) String() string {
11261	return awsutil.Prettify(s)
11262}
11263
11264// GoString returns the string representation
11265func (s GetDevicePoolCompatibilityOutput) GoString() string {
11266	return s.String()
11267}
11268
11269// SetCompatibleDevices sets the CompatibleDevices field's value.
11270func (s *GetDevicePoolCompatibilityOutput) SetCompatibleDevices(v []*DevicePoolCompatibilityResult) *GetDevicePoolCompatibilityOutput {
11271	s.CompatibleDevices = v
11272	return s
11273}
11274
11275// SetIncompatibleDevices sets the IncompatibleDevices field's value.
11276func (s *GetDevicePoolCompatibilityOutput) SetIncompatibleDevices(v []*DevicePoolCompatibilityResult) *GetDevicePoolCompatibilityOutput {
11277	s.IncompatibleDevices = v
11278	return s
11279}
11280
11281// Represents a request to the get device pool operation.
11282type GetDevicePoolInput struct {
11283	_ struct{} `type:"structure"`
11284
11285	// The device pool's ARN.
11286	//
11287	// Arn is a required field
11288	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11289}
11290
11291// String returns the string representation
11292func (s GetDevicePoolInput) String() string {
11293	return awsutil.Prettify(s)
11294}
11295
11296// GoString returns the string representation
11297func (s GetDevicePoolInput) GoString() string {
11298	return s.String()
11299}
11300
11301// Validate inspects the fields of the type to determine if they are valid.
11302func (s *GetDevicePoolInput) Validate() error {
11303	invalidParams := request.ErrInvalidParams{Context: "GetDevicePoolInput"}
11304	if s.Arn == nil {
11305		invalidParams.Add(request.NewErrParamRequired("Arn"))
11306	}
11307	if s.Arn != nil && len(*s.Arn) < 32 {
11308		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11309	}
11310
11311	if invalidParams.Len() > 0 {
11312		return invalidParams
11313	}
11314	return nil
11315}
11316
11317// SetArn sets the Arn field's value.
11318func (s *GetDevicePoolInput) SetArn(v string) *GetDevicePoolInput {
11319	s.Arn = &v
11320	return s
11321}
11322
11323// Represents the result of a get device pool request.
11324type GetDevicePoolOutput struct {
11325	_ struct{} `type:"structure"`
11326
11327	// An object that contains information about the requested device pool.
11328	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
11329}
11330
11331// String returns the string representation
11332func (s GetDevicePoolOutput) String() string {
11333	return awsutil.Prettify(s)
11334}
11335
11336// GoString returns the string representation
11337func (s GetDevicePoolOutput) GoString() string {
11338	return s.String()
11339}
11340
11341// SetDevicePool sets the DevicePool field's value.
11342func (s *GetDevicePoolOutput) SetDevicePool(v *DevicePool) *GetDevicePoolOutput {
11343	s.DevicePool = v
11344	return s
11345}
11346
11347type GetInstanceProfileInput struct {
11348	_ struct{} `type:"structure"`
11349
11350	// The Amazon Resource Name (ARN) of an instance profile.
11351	//
11352	// Arn is a required field
11353	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11354}
11355
11356// String returns the string representation
11357func (s GetInstanceProfileInput) String() string {
11358	return awsutil.Prettify(s)
11359}
11360
11361// GoString returns the string representation
11362func (s GetInstanceProfileInput) GoString() string {
11363	return s.String()
11364}
11365
11366// Validate inspects the fields of the type to determine if they are valid.
11367func (s *GetInstanceProfileInput) Validate() error {
11368	invalidParams := request.ErrInvalidParams{Context: "GetInstanceProfileInput"}
11369	if s.Arn == nil {
11370		invalidParams.Add(request.NewErrParamRequired("Arn"))
11371	}
11372	if s.Arn != nil && len(*s.Arn) < 32 {
11373		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11374	}
11375
11376	if invalidParams.Len() > 0 {
11377		return invalidParams
11378	}
11379	return nil
11380}
11381
11382// SetArn sets the Arn field's value.
11383func (s *GetInstanceProfileInput) SetArn(v string) *GetInstanceProfileInput {
11384	s.Arn = &v
11385	return s
11386}
11387
11388type GetInstanceProfileOutput struct {
11389	_ struct{} `type:"structure"`
11390
11391	// An object that contains information about an instance profile.
11392	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
11393}
11394
11395// String returns the string representation
11396func (s GetInstanceProfileOutput) String() string {
11397	return awsutil.Prettify(s)
11398}
11399
11400// GoString returns the string representation
11401func (s GetInstanceProfileOutput) GoString() string {
11402	return s.String()
11403}
11404
11405// SetInstanceProfile sets the InstanceProfile field's value.
11406func (s *GetInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *GetInstanceProfileOutput {
11407	s.InstanceProfile = v
11408	return s
11409}
11410
11411// Represents a request to the get job operation.
11412type GetJobInput struct {
11413	_ struct{} `type:"structure"`
11414
11415	// The job's ARN.
11416	//
11417	// Arn is a required field
11418	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11419}
11420
11421// String returns the string representation
11422func (s GetJobInput) String() string {
11423	return awsutil.Prettify(s)
11424}
11425
11426// GoString returns the string representation
11427func (s GetJobInput) GoString() string {
11428	return s.String()
11429}
11430
11431// Validate inspects the fields of the type to determine if they are valid.
11432func (s *GetJobInput) Validate() error {
11433	invalidParams := request.ErrInvalidParams{Context: "GetJobInput"}
11434	if s.Arn == nil {
11435		invalidParams.Add(request.NewErrParamRequired("Arn"))
11436	}
11437	if s.Arn != nil && len(*s.Arn) < 32 {
11438		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11439	}
11440
11441	if invalidParams.Len() > 0 {
11442		return invalidParams
11443	}
11444	return nil
11445}
11446
11447// SetArn sets the Arn field's value.
11448func (s *GetJobInput) SetArn(v string) *GetJobInput {
11449	s.Arn = &v
11450	return s
11451}
11452
11453// Represents the result of a get job request.
11454type GetJobOutput struct {
11455	_ struct{} `type:"structure"`
11456
11457	// An object that contains information about the requested job.
11458	Job *Job `locationName:"job" type:"structure"`
11459}
11460
11461// String returns the string representation
11462func (s GetJobOutput) String() string {
11463	return awsutil.Prettify(s)
11464}
11465
11466// GoString returns the string representation
11467func (s GetJobOutput) GoString() string {
11468	return s.String()
11469}
11470
11471// SetJob sets the Job field's value.
11472func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput {
11473	s.Job = v
11474	return s
11475}
11476
11477type GetNetworkProfileInput struct {
11478	_ struct{} `type:"structure"`
11479
11480	// The ARN of the network profile to return information about.
11481	//
11482	// Arn is a required field
11483	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11484}
11485
11486// String returns the string representation
11487func (s GetNetworkProfileInput) String() string {
11488	return awsutil.Prettify(s)
11489}
11490
11491// GoString returns the string representation
11492func (s GetNetworkProfileInput) GoString() string {
11493	return s.String()
11494}
11495
11496// Validate inspects the fields of the type to determine if they are valid.
11497func (s *GetNetworkProfileInput) Validate() error {
11498	invalidParams := request.ErrInvalidParams{Context: "GetNetworkProfileInput"}
11499	if s.Arn == nil {
11500		invalidParams.Add(request.NewErrParamRequired("Arn"))
11501	}
11502	if s.Arn != nil && len(*s.Arn) < 32 {
11503		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11504	}
11505
11506	if invalidParams.Len() > 0 {
11507		return invalidParams
11508	}
11509	return nil
11510}
11511
11512// SetArn sets the Arn field's value.
11513func (s *GetNetworkProfileInput) SetArn(v string) *GetNetworkProfileInput {
11514	s.Arn = &v
11515	return s
11516}
11517
11518type GetNetworkProfileOutput struct {
11519	_ struct{} `type:"structure"`
11520
11521	// The network profile.
11522	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
11523}
11524
11525// String returns the string representation
11526func (s GetNetworkProfileOutput) String() string {
11527	return awsutil.Prettify(s)
11528}
11529
11530// GoString returns the string representation
11531func (s GetNetworkProfileOutput) GoString() string {
11532	return s.String()
11533}
11534
11535// SetNetworkProfile sets the NetworkProfile field's value.
11536func (s *GetNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *GetNetworkProfileOutput {
11537	s.NetworkProfile = v
11538	return s
11539}
11540
11541// Represents the request to retrieve the offering status for the specified
11542// customer or account.
11543type GetOfferingStatusInput struct {
11544	_ struct{} `type:"structure"`
11545
11546	// An identifier that was returned from the previous call to this operation,
11547	// which can be used to return the next set of items in the list.
11548	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
11549}
11550
11551// String returns the string representation
11552func (s GetOfferingStatusInput) String() string {
11553	return awsutil.Prettify(s)
11554}
11555
11556// GoString returns the string representation
11557func (s GetOfferingStatusInput) GoString() string {
11558	return s.String()
11559}
11560
11561// Validate inspects the fields of the type to determine if they are valid.
11562func (s *GetOfferingStatusInput) Validate() error {
11563	invalidParams := request.ErrInvalidParams{Context: "GetOfferingStatusInput"}
11564	if s.NextToken != nil && len(*s.NextToken) < 4 {
11565		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
11566	}
11567
11568	if invalidParams.Len() > 0 {
11569		return invalidParams
11570	}
11571	return nil
11572}
11573
11574// SetNextToken sets the NextToken field's value.
11575func (s *GetOfferingStatusInput) SetNextToken(v string) *GetOfferingStatusInput {
11576	s.NextToken = &v
11577	return s
11578}
11579
11580// Returns the status result for a device offering.
11581type GetOfferingStatusOutput struct {
11582	_ struct{} `type:"structure"`
11583
11584	// When specified, gets the offering status for the current period.
11585	Current map[string]*OfferingStatus `locationName:"current" type:"map"`
11586
11587	// When specified, gets the offering status for the next period.
11588	NextPeriod map[string]*OfferingStatus `locationName:"nextPeriod" type:"map"`
11589
11590	// An identifier that was returned from the previous call to this operation,
11591	// which can be used to return the next set of items in the list.
11592	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
11593}
11594
11595// String returns the string representation
11596func (s GetOfferingStatusOutput) String() string {
11597	return awsutil.Prettify(s)
11598}
11599
11600// GoString returns the string representation
11601func (s GetOfferingStatusOutput) GoString() string {
11602	return s.String()
11603}
11604
11605// SetCurrent sets the Current field's value.
11606func (s *GetOfferingStatusOutput) SetCurrent(v map[string]*OfferingStatus) *GetOfferingStatusOutput {
11607	s.Current = v
11608	return s
11609}
11610
11611// SetNextPeriod sets the NextPeriod field's value.
11612func (s *GetOfferingStatusOutput) SetNextPeriod(v map[string]*OfferingStatus) *GetOfferingStatusOutput {
11613	s.NextPeriod = v
11614	return s
11615}
11616
11617// SetNextToken sets the NextToken field's value.
11618func (s *GetOfferingStatusOutput) SetNextToken(v string) *GetOfferingStatusOutput {
11619	s.NextToken = &v
11620	return s
11621}
11622
11623// Represents a request to the get project operation.
11624type GetProjectInput struct {
11625	_ struct{} `type:"structure"`
11626
11627	// The project's ARN.
11628	//
11629	// Arn is a required field
11630	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11631}
11632
11633// String returns the string representation
11634func (s GetProjectInput) String() string {
11635	return awsutil.Prettify(s)
11636}
11637
11638// GoString returns the string representation
11639func (s GetProjectInput) GoString() string {
11640	return s.String()
11641}
11642
11643// Validate inspects the fields of the type to determine if they are valid.
11644func (s *GetProjectInput) Validate() error {
11645	invalidParams := request.ErrInvalidParams{Context: "GetProjectInput"}
11646	if s.Arn == nil {
11647		invalidParams.Add(request.NewErrParamRequired("Arn"))
11648	}
11649	if s.Arn != nil && len(*s.Arn) < 32 {
11650		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11651	}
11652
11653	if invalidParams.Len() > 0 {
11654		return invalidParams
11655	}
11656	return nil
11657}
11658
11659// SetArn sets the Arn field's value.
11660func (s *GetProjectInput) SetArn(v string) *GetProjectInput {
11661	s.Arn = &v
11662	return s
11663}
11664
11665// Represents the result of a get project request.
11666type GetProjectOutput struct {
11667	_ struct{} `type:"structure"`
11668
11669	// The project to get information about.
11670	Project *Project `locationName:"project" type:"structure"`
11671}
11672
11673// String returns the string representation
11674func (s GetProjectOutput) String() string {
11675	return awsutil.Prettify(s)
11676}
11677
11678// GoString returns the string representation
11679func (s GetProjectOutput) GoString() string {
11680	return s.String()
11681}
11682
11683// SetProject sets the Project field's value.
11684func (s *GetProjectOutput) SetProject(v *Project) *GetProjectOutput {
11685	s.Project = v
11686	return s
11687}
11688
11689// Represents the request to get information about the specified remote access
11690// session.
11691type GetRemoteAccessSessionInput struct {
11692	_ struct{} `type:"structure"`
11693
11694	// The Amazon Resource Name (ARN) of the remote access session about which you
11695	// want to get session information.
11696	//
11697	// Arn is a required field
11698	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11699}
11700
11701// String returns the string representation
11702func (s GetRemoteAccessSessionInput) String() string {
11703	return awsutil.Prettify(s)
11704}
11705
11706// GoString returns the string representation
11707func (s GetRemoteAccessSessionInput) GoString() string {
11708	return s.String()
11709}
11710
11711// Validate inspects the fields of the type to determine if they are valid.
11712func (s *GetRemoteAccessSessionInput) Validate() error {
11713	invalidParams := request.ErrInvalidParams{Context: "GetRemoteAccessSessionInput"}
11714	if s.Arn == nil {
11715		invalidParams.Add(request.NewErrParamRequired("Arn"))
11716	}
11717	if s.Arn != nil && len(*s.Arn) < 32 {
11718		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11719	}
11720
11721	if invalidParams.Len() > 0 {
11722		return invalidParams
11723	}
11724	return nil
11725}
11726
11727// SetArn sets the Arn field's value.
11728func (s *GetRemoteAccessSessionInput) SetArn(v string) *GetRemoteAccessSessionInput {
11729	s.Arn = &v
11730	return s
11731}
11732
11733// Represents the response from the server that lists detailed information about
11734// the remote access session.
11735type GetRemoteAccessSessionOutput struct {
11736	_ struct{} `type:"structure"`
11737
11738	// A container that lists detailed information about the remote access session.
11739	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
11740}
11741
11742// String returns the string representation
11743func (s GetRemoteAccessSessionOutput) String() string {
11744	return awsutil.Prettify(s)
11745}
11746
11747// GoString returns the string representation
11748func (s GetRemoteAccessSessionOutput) GoString() string {
11749	return s.String()
11750}
11751
11752// SetRemoteAccessSession sets the RemoteAccessSession field's value.
11753func (s *GetRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *GetRemoteAccessSessionOutput {
11754	s.RemoteAccessSession = v
11755	return s
11756}
11757
11758// Represents a request to the get run operation.
11759type GetRunInput struct {
11760	_ struct{} `type:"structure"`
11761
11762	// The run's ARN.
11763	//
11764	// Arn is a required field
11765	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11766}
11767
11768// String returns the string representation
11769func (s GetRunInput) String() string {
11770	return awsutil.Prettify(s)
11771}
11772
11773// GoString returns the string representation
11774func (s GetRunInput) GoString() string {
11775	return s.String()
11776}
11777
11778// Validate inspects the fields of the type to determine if they are valid.
11779func (s *GetRunInput) Validate() error {
11780	invalidParams := request.ErrInvalidParams{Context: "GetRunInput"}
11781	if s.Arn == nil {
11782		invalidParams.Add(request.NewErrParamRequired("Arn"))
11783	}
11784	if s.Arn != nil && len(*s.Arn) < 32 {
11785		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11786	}
11787
11788	if invalidParams.Len() > 0 {
11789		return invalidParams
11790	}
11791	return nil
11792}
11793
11794// SetArn sets the Arn field's value.
11795func (s *GetRunInput) SetArn(v string) *GetRunInput {
11796	s.Arn = &v
11797	return s
11798}
11799
11800// Represents the result of a get run request.
11801type GetRunOutput struct {
11802	_ struct{} `type:"structure"`
11803
11804	// The run to get results from.
11805	Run *Run `locationName:"run" type:"structure"`
11806}
11807
11808// String returns the string representation
11809func (s GetRunOutput) String() string {
11810	return awsutil.Prettify(s)
11811}
11812
11813// GoString returns the string representation
11814func (s GetRunOutput) GoString() string {
11815	return s.String()
11816}
11817
11818// SetRun sets the Run field's value.
11819func (s *GetRunOutput) SetRun(v *Run) *GetRunOutput {
11820	s.Run = v
11821	return s
11822}
11823
11824// Represents a request to the get suite operation.
11825type GetSuiteInput struct {
11826	_ struct{} `type:"structure"`
11827
11828	// The suite's ARN.
11829	//
11830	// Arn is a required field
11831	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11832}
11833
11834// String returns the string representation
11835func (s GetSuiteInput) String() string {
11836	return awsutil.Prettify(s)
11837}
11838
11839// GoString returns the string representation
11840func (s GetSuiteInput) GoString() string {
11841	return s.String()
11842}
11843
11844// Validate inspects the fields of the type to determine if they are valid.
11845func (s *GetSuiteInput) Validate() error {
11846	invalidParams := request.ErrInvalidParams{Context: "GetSuiteInput"}
11847	if s.Arn == nil {
11848		invalidParams.Add(request.NewErrParamRequired("Arn"))
11849	}
11850	if s.Arn != nil && len(*s.Arn) < 32 {
11851		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11852	}
11853
11854	if invalidParams.Len() > 0 {
11855		return invalidParams
11856	}
11857	return nil
11858}
11859
11860// SetArn sets the Arn field's value.
11861func (s *GetSuiteInput) SetArn(v string) *GetSuiteInput {
11862	s.Arn = &v
11863	return s
11864}
11865
11866// Represents the result of a get suite request.
11867type GetSuiteOutput struct {
11868	_ struct{} `type:"structure"`
11869
11870	// A collection of one or more tests.
11871	Suite *Suite `locationName:"suite" type:"structure"`
11872}
11873
11874// String returns the string representation
11875func (s GetSuiteOutput) String() string {
11876	return awsutil.Prettify(s)
11877}
11878
11879// GoString returns the string representation
11880func (s GetSuiteOutput) GoString() string {
11881	return s.String()
11882}
11883
11884// SetSuite sets the Suite field's value.
11885func (s *GetSuiteOutput) SetSuite(v *Suite) *GetSuiteOutput {
11886	s.Suite = v
11887	return s
11888}
11889
11890type GetTestGridProjectInput struct {
11891	_ struct{} `type:"structure"`
11892
11893	// The ARN of the Selenium testing project, from either CreateTestGridProject
11894	// or ListTestGridProjects.
11895	//
11896	// ProjectArn is a required field
11897	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
11898}
11899
11900// String returns the string representation
11901func (s GetTestGridProjectInput) String() string {
11902	return awsutil.Prettify(s)
11903}
11904
11905// GoString returns the string representation
11906func (s GetTestGridProjectInput) GoString() string {
11907	return s.String()
11908}
11909
11910// Validate inspects the fields of the type to determine if they are valid.
11911func (s *GetTestGridProjectInput) Validate() error {
11912	invalidParams := request.ErrInvalidParams{Context: "GetTestGridProjectInput"}
11913	if s.ProjectArn == nil {
11914		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
11915	}
11916	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
11917		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
11918	}
11919
11920	if invalidParams.Len() > 0 {
11921		return invalidParams
11922	}
11923	return nil
11924}
11925
11926// SetProjectArn sets the ProjectArn field's value.
11927func (s *GetTestGridProjectInput) SetProjectArn(v string) *GetTestGridProjectInput {
11928	s.ProjectArn = &v
11929	return s
11930}
11931
11932type GetTestGridProjectOutput struct {
11933	_ struct{} `type:"structure"`
11934
11935	// A TestGridProject.
11936	TestGridProject *TestGridProject `locationName:"testGridProject" type:"structure"`
11937}
11938
11939// String returns the string representation
11940func (s GetTestGridProjectOutput) String() string {
11941	return awsutil.Prettify(s)
11942}
11943
11944// GoString returns the string representation
11945func (s GetTestGridProjectOutput) GoString() string {
11946	return s.String()
11947}
11948
11949// SetTestGridProject sets the TestGridProject field's value.
11950func (s *GetTestGridProjectOutput) SetTestGridProject(v *TestGridProject) *GetTestGridProjectOutput {
11951	s.TestGridProject = v
11952	return s
11953}
11954
11955type GetTestGridSessionInput struct {
11956	_ struct{} `type:"structure"`
11957
11958	// The ARN for the project that this session belongs to. See CreateTestGridProject
11959	// and ListTestGridProjects.
11960	ProjectArn *string `locationName:"projectArn" min:"32" type:"string"`
11961
11962	// An ARN that uniquely identifies a TestGridSession.
11963	SessionArn *string `locationName:"sessionArn" min:"32" type:"string"`
11964
11965	// An ID associated with this session.
11966	SessionId *string `locationName:"sessionId" min:"1" type:"string"`
11967}
11968
11969// String returns the string representation
11970func (s GetTestGridSessionInput) String() string {
11971	return awsutil.Prettify(s)
11972}
11973
11974// GoString returns the string representation
11975func (s GetTestGridSessionInput) GoString() string {
11976	return s.String()
11977}
11978
11979// Validate inspects the fields of the type to determine if they are valid.
11980func (s *GetTestGridSessionInput) Validate() error {
11981	invalidParams := request.ErrInvalidParams{Context: "GetTestGridSessionInput"}
11982	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
11983		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
11984	}
11985	if s.SessionArn != nil && len(*s.SessionArn) < 32 {
11986		invalidParams.Add(request.NewErrParamMinLen("SessionArn", 32))
11987	}
11988	if s.SessionId != nil && len(*s.SessionId) < 1 {
11989		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
11990	}
11991
11992	if invalidParams.Len() > 0 {
11993		return invalidParams
11994	}
11995	return nil
11996}
11997
11998// SetProjectArn sets the ProjectArn field's value.
11999func (s *GetTestGridSessionInput) SetProjectArn(v string) *GetTestGridSessionInput {
12000	s.ProjectArn = &v
12001	return s
12002}
12003
12004// SetSessionArn sets the SessionArn field's value.
12005func (s *GetTestGridSessionInput) SetSessionArn(v string) *GetTestGridSessionInput {
12006	s.SessionArn = &v
12007	return s
12008}
12009
12010// SetSessionId sets the SessionId field's value.
12011func (s *GetTestGridSessionInput) SetSessionId(v string) *GetTestGridSessionInput {
12012	s.SessionId = &v
12013	return s
12014}
12015
12016type GetTestGridSessionOutput struct {
12017	_ struct{} `type:"structure"`
12018
12019	// The TestGridSession that was requested.
12020	TestGridSession *TestGridSession `locationName:"testGridSession" type:"structure"`
12021}
12022
12023// String returns the string representation
12024func (s GetTestGridSessionOutput) String() string {
12025	return awsutil.Prettify(s)
12026}
12027
12028// GoString returns the string representation
12029func (s GetTestGridSessionOutput) GoString() string {
12030	return s.String()
12031}
12032
12033// SetTestGridSession sets the TestGridSession field's value.
12034func (s *GetTestGridSessionOutput) SetTestGridSession(v *TestGridSession) *GetTestGridSessionOutput {
12035	s.TestGridSession = v
12036	return s
12037}
12038
12039// Represents a request to the get test operation.
12040type GetTestInput struct {
12041	_ struct{} `type:"structure"`
12042
12043	// The test's ARN.
12044	//
12045	// Arn is a required field
12046	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
12047}
12048
12049// String returns the string representation
12050func (s GetTestInput) String() string {
12051	return awsutil.Prettify(s)
12052}
12053
12054// GoString returns the string representation
12055func (s GetTestInput) GoString() string {
12056	return s.String()
12057}
12058
12059// Validate inspects the fields of the type to determine if they are valid.
12060func (s *GetTestInput) Validate() error {
12061	invalidParams := request.ErrInvalidParams{Context: "GetTestInput"}
12062	if s.Arn == nil {
12063		invalidParams.Add(request.NewErrParamRequired("Arn"))
12064	}
12065	if s.Arn != nil && len(*s.Arn) < 32 {
12066		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
12067	}
12068
12069	if invalidParams.Len() > 0 {
12070		return invalidParams
12071	}
12072	return nil
12073}
12074
12075// SetArn sets the Arn field's value.
12076func (s *GetTestInput) SetArn(v string) *GetTestInput {
12077	s.Arn = &v
12078	return s
12079}
12080
12081// Represents the result of a get test request.
12082type GetTestOutput struct {
12083	_ struct{} `type:"structure"`
12084
12085	// A test condition that is evaluated.
12086	Test *Test `locationName:"test" type:"structure"`
12087}
12088
12089// String returns the string representation
12090func (s GetTestOutput) String() string {
12091	return awsutil.Prettify(s)
12092}
12093
12094// GoString returns the string representation
12095func (s GetTestOutput) GoString() string {
12096	return s.String()
12097}
12098
12099// SetTest sets the Test field's value.
12100func (s *GetTestOutput) SetTest(v *Test) *GetTestOutput {
12101	s.Test = v
12102	return s
12103}
12104
12105// Represents a request to the get upload operation.
12106type GetUploadInput struct {
12107	_ struct{} `type:"structure"`
12108
12109	// The upload's ARN.
12110	//
12111	// Arn is a required field
12112	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
12113}
12114
12115// String returns the string representation
12116func (s GetUploadInput) String() string {
12117	return awsutil.Prettify(s)
12118}
12119
12120// GoString returns the string representation
12121func (s GetUploadInput) GoString() string {
12122	return s.String()
12123}
12124
12125// Validate inspects the fields of the type to determine if they are valid.
12126func (s *GetUploadInput) Validate() error {
12127	invalidParams := request.ErrInvalidParams{Context: "GetUploadInput"}
12128	if s.Arn == nil {
12129		invalidParams.Add(request.NewErrParamRequired("Arn"))
12130	}
12131	if s.Arn != nil && len(*s.Arn) < 32 {
12132		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
12133	}
12134
12135	if invalidParams.Len() > 0 {
12136		return invalidParams
12137	}
12138	return nil
12139}
12140
12141// SetArn sets the Arn field's value.
12142func (s *GetUploadInput) SetArn(v string) *GetUploadInput {
12143	s.Arn = &v
12144	return s
12145}
12146
12147// Represents the result of a get upload request.
12148type GetUploadOutput struct {
12149	_ struct{} `type:"structure"`
12150
12151	// An app or a set of one or more tests to upload or that have been uploaded.
12152	Upload *Upload `locationName:"upload" type:"structure"`
12153}
12154
12155// String returns the string representation
12156func (s GetUploadOutput) String() string {
12157	return awsutil.Prettify(s)
12158}
12159
12160// GoString returns the string representation
12161func (s GetUploadOutput) GoString() string {
12162	return s.String()
12163}
12164
12165// SetUpload sets the Upload field's value.
12166func (s *GetUploadOutput) SetUpload(v *Upload) *GetUploadOutput {
12167	s.Upload = v
12168	return s
12169}
12170
12171type GetVPCEConfigurationInput struct {
12172	_ struct{} `type:"structure"`
12173
12174	// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want
12175	// to describe.
12176	//
12177	// Arn is a required field
12178	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
12179}
12180
12181// String returns the string representation
12182func (s GetVPCEConfigurationInput) String() string {
12183	return awsutil.Prettify(s)
12184}
12185
12186// GoString returns the string representation
12187func (s GetVPCEConfigurationInput) GoString() string {
12188	return s.String()
12189}
12190
12191// Validate inspects the fields of the type to determine if they are valid.
12192func (s *GetVPCEConfigurationInput) Validate() error {
12193	invalidParams := request.ErrInvalidParams{Context: "GetVPCEConfigurationInput"}
12194	if s.Arn == nil {
12195		invalidParams.Add(request.NewErrParamRequired("Arn"))
12196	}
12197	if s.Arn != nil && len(*s.Arn) < 32 {
12198		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
12199	}
12200
12201	if invalidParams.Len() > 0 {
12202		return invalidParams
12203	}
12204	return nil
12205}
12206
12207// SetArn sets the Arn field's value.
12208func (s *GetVPCEConfigurationInput) SetArn(v string) *GetVPCEConfigurationInput {
12209	s.Arn = &v
12210	return s
12211}
12212
12213type GetVPCEConfigurationOutput struct {
12214	_ struct{} `type:"structure"`
12215
12216	// An object that contains information about your VPC endpoint configuration.
12217	VpceConfiguration *VPCEConfiguration `locationName:"vpceConfiguration" type:"structure"`
12218}
12219
12220// String returns the string representation
12221func (s GetVPCEConfigurationOutput) String() string {
12222	return awsutil.Prettify(s)
12223}
12224
12225// GoString returns the string representation
12226func (s GetVPCEConfigurationOutput) GoString() string {
12227	return s.String()
12228}
12229
12230// SetVpceConfiguration sets the VpceConfiguration field's value.
12231func (s *GetVPCEConfigurationOutput) SetVpceConfiguration(v *VPCEConfiguration) *GetVPCEConfigurationOutput {
12232	s.VpceConfiguration = v
12233	return s
12234}
12235
12236// An entity with the same name already exists.
12237type IdempotencyException struct {
12238	_            struct{}                  `type:"structure"`
12239	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12240
12241	// Any additional information about the exception.
12242	Message_ *string `locationName:"message" type:"string"`
12243}
12244
12245// String returns the string representation
12246func (s IdempotencyException) String() string {
12247	return awsutil.Prettify(s)
12248}
12249
12250// GoString returns the string representation
12251func (s IdempotencyException) GoString() string {
12252	return s.String()
12253}
12254
12255func newErrorIdempotencyException(v protocol.ResponseMetadata) error {
12256	return &IdempotencyException{
12257		RespMetadata: v,
12258	}
12259}
12260
12261// Code returns the exception type name.
12262func (s *IdempotencyException) Code() string {
12263	return "IdempotencyException"
12264}
12265
12266// Message returns the exception's message.
12267func (s *IdempotencyException) Message() string {
12268	if s.Message_ != nil {
12269		return *s.Message_
12270	}
12271	return ""
12272}
12273
12274// OrigErr always returns nil, satisfies awserr.Error interface.
12275func (s *IdempotencyException) OrigErr() error {
12276	return nil
12277}
12278
12279func (s *IdempotencyException) Error() string {
12280	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12281}
12282
12283// Status code returns the HTTP status code for the request's response error.
12284func (s *IdempotencyException) StatusCode() int {
12285	return s.RespMetadata.StatusCode
12286}
12287
12288// RequestID returns the service's response RequestID for request.
12289func (s *IdempotencyException) RequestID() string {
12290	return s.RespMetadata.RequestID
12291}
12292
12293// Represents information about incompatibility.
12294type IncompatibilityMessage struct {
12295	_ struct{} `type:"structure"`
12296
12297	// A message about the incompatibility.
12298	Message *string `locationName:"message" type:"string"`
12299
12300	// The type of incompatibility.
12301	//
12302	// Allowed values include:
12303	//
12304	//    * ARN
12305	//
12306	//    * FORM_FACTOR (for example, phone or tablet)
12307	//
12308	//    * MANUFACTURER
12309	//
12310	//    * PLATFORM (for example, Android or iOS)
12311	//
12312	//    * REMOTE_ACCESS_ENABLED
12313	//
12314	//    * APPIUM_VERSION
12315	Type *string `locationName:"type" type:"string" enum:"DeviceAttribute"`
12316}
12317
12318// String returns the string representation
12319func (s IncompatibilityMessage) String() string {
12320	return awsutil.Prettify(s)
12321}
12322
12323// GoString returns the string representation
12324func (s IncompatibilityMessage) GoString() string {
12325	return s.String()
12326}
12327
12328// SetMessage sets the Message field's value.
12329func (s *IncompatibilityMessage) SetMessage(v string) *IncompatibilityMessage {
12330	s.Message = &v
12331	return s
12332}
12333
12334// SetType sets the Type field's value.
12335func (s *IncompatibilityMessage) SetType(v string) *IncompatibilityMessage {
12336	s.Type = &v
12337	return s
12338}
12339
12340// Represents the request to install an Android application (in .apk format)
12341// or an iOS application (in .ipa format) as part of a remote access session.
12342type InstallToRemoteAccessSessionInput struct {
12343	_ struct{} `type:"structure"`
12344
12345	// The ARN of the app about which you are requesting information.
12346	//
12347	// AppArn is a required field
12348	AppArn *string `locationName:"appArn" min:"32" type:"string" required:"true"`
12349
12350	// The Amazon Resource Name (ARN) of the remote access session about which you
12351	// are requesting information.
12352	//
12353	// RemoteAccessSessionArn is a required field
12354	RemoteAccessSessionArn *string `locationName:"remoteAccessSessionArn" min:"32" type:"string" required:"true"`
12355}
12356
12357// String returns the string representation
12358func (s InstallToRemoteAccessSessionInput) String() string {
12359	return awsutil.Prettify(s)
12360}
12361
12362// GoString returns the string representation
12363func (s InstallToRemoteAccessSessionInput) GoString() string {
12364	return s.String()
12365}
12366
12367// Validate inspects the fields of the type to determine if they are valid.
12368func (s *InstallToRemoteAccessSessionInput) Validate() error {
12369	invalidParams := request.ErrInvalidParams{Context: "InstallToRemoteAccessSessionInput"}
12370	if s.AppArn == nil {
12371		invalidParams.Add(request.NewErrParamRequired("AppArn"))
12372	}
12373	if s.AppArn != nil && len(*s.AppArn) < 32 {
12374		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
12375	}
12376	if s.RemoteAccessSessionArn == nil {
12377		invalidParams.Add(request.NewErrParamRequired("RemoteAccessSessionArn"))
12378	}
12379	if s.RemoteAccessSessionArn != nil && len(*s.RemoteAccessSessionArn) < 32 {
12380		invalidParams.Add(request.NewErrParamMinLen("RemoteAccessSessionArn", 32))
12381	}
12382
12383	if invalidParams.Len() > 0 {
12384		return invalidParams
12385	}
12386	return nil
12387}
12388
12389// SetAppArn sets the AppArn field's value.
12390func (s *InstallToRemoteAccessSessionInput) SetAppArn(v string) *InstallToRemoteAccessSessionInput {
12391	s.AppArn = &v
12392	return s
12393}
12394
12395// SetRemoteAccessSessionArn sets the RemoteAccessSessionArn field's value.
12396func (s *InstallToRemoteAccessSessionInput) SetRemoteAccessSessionArn(v string) *InstallToRemoteAccessSessionInput {
12397	s.RemoteAccessSessionArn = &v
12398	return s
12399}
12400
12401// Represents the response from the server after AWS Device Farm makes a request
12402// to install to a remote access session.
12403type InstallToRemoteAccessSessionOutput struct {
12404	_ struct{} `type:"structure"`
12405
12406	// An app to upload or that has been uploaded.
12407	AppUpload *Upload `locationName:"appUpload" type:"structure"`
12408}
12409
12410// String returns the string representation
12411func (s InstallToRemoteAccessSessionOutput) String() string {
12412	return awsutil.Prettify(s)
12413}
12414
12415// GoString returns the string representation
12416func (s InstallToRemoteAccessSessionOutput) GoString() string {
12417	return s.String()
12418}
12419
12420// SetAppUpload sets the AppUpload field's value.
12421func (s *InstallToRemoteAccessSessionOutput) SetAppUpload(v *Upload) *InstallToRemoteAccessSessionOutput {
12422	s.AppUpload = v
12423	return s
12424}
12425
12426// Represents the instance profile.
12427type InstanceProfile struct {
12428	_ struct{} `type:"structure"`
12429
12430	// The Amazon Resource Name (ARN) of the instance profile.
12431	Arn *string `locationName:"arn" min:"32" type:"string"`
12432
12433	// The description of the instance profile.
12434	Description *string `locationName:"description" type:"string"`
12435
12436	// An array of strings containing the list of app packages that should not be
12437	// cleaned up from the device after a test run completes.
12438	//
12439	// The list of packages is considered only if you set packageCleanup to true.
12440	ExcludeAppPackagesFromCleanup []*string `locationName:"excludeAppPackagesFromCleanup" type:"list"`
12441
12442	// The name of the instance profile.
12443	Name *string `locationName:"name" type:"string"`
12444
12445	// When set to true, Device Farm removes app packages after a test run. The
12446	// default value is false for private devices.
12447	PackageCleanup *bool `locationName:"packageCleanup" type:"boolean"`
12448
12449	// When set to true, Device Farm reboots the instance after a test run. The
12450	// default value is true.
12451	RebootAfterUse *bool `locationName:"rebootAfterUse" type:"boolean"`
12452}
12453
12454// String returns the string representation
12455func (s InstanceProfile) String() string {
12456	return awsutil.Prettify(s)
12457}
12458
12459// GoString returns the string representation
12460func (s InstanceProfile) GoString() string {
12461	return s.String()
12462}
12463
12464// SetArn sets the Arn field's value.
12465func (s *InstanceProfile) SetArn(v string) *InstanceProfile {
12466	s.Arn = &v
12467	return s
12468}
12469
12470// SetDescription sets the Description field's value.
12471func (s *InstanceProfile) SetDescription(v string) *InstanceProfile {
12472	s.Description = &v
12473	return s
12474}
12475
12476// SetExcludeAppPackagesFromCleanup sets the ExcludeAppPackagesFromCleanup field's value.
12477func (s *InstanceProfile) SetExcludeAppPackagesFromCleanup(v []*string) *InstanceProfile {
12478	s.ExcludeAppPackagesFromCleanup = v
12479	return s
12480}
12481
12482// SetName sets the Name field's value.
12483func (s *InstanceProfile) SetName(v string) *InstanceProfile {
12484	s.Name = &v
12485	return s
12486}
12487
12488// SetPackageCleanup sets the PackageCleanup field's value.
12489func (s *InstanceProfile) SetPackageCleanup(v bool) *InstanceProfile {
12490	s.PackageCleanup = &v
12491	return s
12492}
12493
12494// SetRebootAfterUse sets the RebootAfterUse field's value.
12495func (s *InstanceProfile) SetRebootAfterUse(v bool) *InstanceProfile {
12496	s.RebootAfterUse = &v
12497	return s
12498}
12499
12500// An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
12501// (mailto:aws-devicefarm-support@amazon.com) if you see this error.
12502type InternalServiceException struct {
12503	_            struct{}                  `type:"structure"`
12504	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12505
12506	Message_ *string `locationName:"message" type:"string"`
12507}
12508
12509// String returns the string representation
12510func (s InternalServiceException) String() string {
12511	return awsutil.Prettify(s)
12512}
12513
12514// GoString returns the string representation
12515func (s InternalServiceException) GoString() string {
12516	return s.String()
12517}
12518
12519func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
12520	return &InternalServiceException{
12521		RespMetadata: v,
12522	}
12523}
12524
12525// Code returns the exception type name.
12526func (s *InternalServiceException) Code() string {
12527	return "InternalServiceException"
12528}
12529
12530// Message returns the exception's message.
12531func (s *InternalServiceException) Message() string {
12532	if s.Message_ != nil {
12533		return *s.Message_
12534	}
12535	return ""
12536}
12537
12538// OrigErr always returns nil, satisfies awserr.Error interface.
12539func (s *InternalServiceException) OrigErr() error {
12540	return nil
12541}
12542
12543func (s *InternalServiceException) Error() string {
12544	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12545}
12546
12547// Status code returns the HTTP status code for the request's response error.
12548func (s *InternalServiceException) StatusCode() int {
12549	return s.RespMetadata.StatusCode
12550}
12551
12552// RequestID returns the service's response RequestID for request.
12553func (s *InternalServiceException) RequestID() string {
12554	return s.RespMetadata.RequestID
12555}
12556
12557// There was an error with the update request, or you do not have sufficient
12558// permissions to update this VPC endpoint configuration.
12559type InvalidOperationException struct {
12560	_            struct{}                  `type:"structure"`
12561	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12562
12563	Message_ *string `locationName:"message" type:"string"`
12564}
12565
12566// String returns the string representation
12567func (s InvalidOperationException) String() string {
12568	return awsutil.Prettify(s)
12569}
12570
12571// GoString returns the string representation
12572func (s InvalidOperationException) GoString() string {
12573	return s.String()
12574}
12575
12576func newErrorInvalidOperationException(v protocol.ResponseMetadata) error {
12577	return &InvalidOperationException{
12578		RespMetadata: v,
12579	}
12580}
12581
12582// Code returns the exception type name.
12583func (s *InvalidOperationException) Code() string {
12584	return "InvalidOperationException"
12585}
12586
12587// Message returns the exception's message.
12588func (s *InvalidOperationException) Message() string {
12589	if s.Message_ != nil {
12590		return *s.Message_
12591	}
12592	return ""
12593}
12594
12595// OrigErr always returns nil, satisfies awserr.Error interface.
12596func (s *InvalidOperationException) OrigErr() error {
12597	return nil
12598}
12599
12600func (s *InvalidOperationException) Error() string {
12601	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12602}
12603
12604// Status code returns the HTTP status code for the request's response error.
12605func (s *InvalidOperationException) StatusCode() int {
12606	return s.RespMetadata.StatusCode
12607}
12608
12609// RequestID returns the service's response RequestID for request.
12610func (s *InvalidOperationException) RequestID() string {
12611	return s.RespMetadata.RequestID
12612}
12613
12614// Represents a device.
12615type Job struct {
12616	_ struct{} `type:"structure"`
12617
12618	// The job's ARN.
12619	Arn *string `locationName:"arn" min:"32" type:"string"`
12620
12621	// The job's result counters.
12622	Counters *Counters `locationName:"counters" type:"structure"`
12623
12624	// When the job was created.
12625	Created *time.Time `locationName:"created" type:"timestamp"`
12626
12627	// The device (phone or tablet).
12628	Device *Device `locationName:"device" type:"structure"`
12629
12630	// Represents the total (metered or unmetered) minutes used by the job.
12631	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
12632
12633	// The ARN of the instance.
12634	InstanceArn *string `locationName:"instanceArn" min:"32" type:"string"`
12635
12636	// A message about the job's result.
12637	Message *string `locationName:"message" type:"string"`
12638
12639	// The job's name.
12640	Name *string `locationName:"name" type:"string"`
12641
12642	// The job's result.
12643	//
12644	// Allowed values include:
12645	//
12646	//    * PENDING
12647	//
12648	//    * PASSED
12649	//
12650	//    * WARNED
12651	//
12652	//    * FAILED
12653	//
12654	//    * SKIPPED
12655	//
12656	//    * ERRORED
12657	//
12658	//    * STOPPED
12659	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
12660
12661	// The job's start time.
12662	Started *time.Time `locationName:"started" type:"timestamp"`
12663
12664	// The job's status.
12665	//
12666	// Allowed values include:
12667	//
12668	//    * PENDING
12669	//
12670	//    * PENDING_CONCURRENCY
12671	//
12672	//    * PENDING_DEVICE
12673	//
12674	//    * PROCESSING
12675	//
12676	//    * SCHEDULING
12677	//
12678	//    * PREPARING
12679	//
12680	//    * RUNNING
12681	//
12682	//    * COMPLETED
12683	//
12684	//    * STOPPING
12685	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
12686
12687	// The job's stop time.
12688	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
12689
12690	// The job's type.
12691	//
12692	// Allowed values include the following:
12693	//
12694	//    * BUILTIN_FUZZ
12695	//
12696	//    * BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android
12697	//    app, interacting with it and capturing screenshots at the same time.
12698	//
12699	//    * APPIUM_JAVA_JUNIT
12700	//
12701	//    * APPIUM_JAVA_TESTNG
12702	//
12703	//    * APPIUM_PYTHON
12704	//
12705	//    * APPIUM_NODE
12706	//
12707	//    * APPIUM_RUBY
12708	//
12709	//    * APPIUM_WEB_JAVA_JUNIT
12710	//
12711	//    * APPIUM_WEB_JAVA_TESTNG
12712	//
12713	//    * APPIUM_WEB_PYTHON
12714	//
12715	//    * APPIUM_WEB_NODE
12716	//
12717	//    * APPIUM_WEB_RUBY
12718	//
12719	//    * CALABASH
12720	//
12721	//    * INSTRUMENTATION
12722	//
12723	//    * UIAUTOMATION
12724	//
12725	//    * UIAUTOMATOR
12726	//
12727	//    * XCTEST
12728	//
12729	//    * XCTEST_UI
12730	Type *string `locationName:"type" type:"string" enum:"TestType"`
12731
12732	// This value is set to true if video capture is enabled. Otherwise, it is set
12733	// to false.
12734	VideoCapture *bool `locationName:"videoCapture" type:"boolean"`
12735
12736	// The endpoint for streaming device video.
12737	VideoEndpoint *string `locationName:"videoEndpoint" type:"string"`
12738}
12739
12740// String returns the string representation
12741func (s Job) String() string {
12742	return awsutil.Prettify(s)
12743}
12744
12745// GoString returns the string representation
12746func (s Job) GoString() string {
12747	return s.String()
12748}
12749
12750// SetArn sets the Arn field's value.
12751func (s *Job) SetArn(v string) *Job {
12752	s.Arn = &v
12753	return s
12754}
12755
12756// SetCounters sets the Counters field's value.
12757func (s *Job) SetCounters(v *Counters) *Job {
12758	s.Counters = v
12759	return s
12760}
12761
12762// SetCreated sets the Created field's value.
12763func (s *Job) SetCreated(v time.Time) *Job {
12764	s.Created = &v
12765	return s
12766}
12767
12768// SetDevice sets the Device field's value.
12769func (s *Job) SetDevice(v *Device) *Job {
12770	s.Device = v
12771	return s
12772}
12773
12774// SetDeviceMinutes sets the DeviceMinutes field's value.
12775func (s *Job) SetDeviceMinutes(v *DeviceMinutes) *Job {
12776	s.DeviceMinutes = v
12777	return s
12778}
12779
12780// SetInstanceArn sets the InstanceArn field's value.
12781func (s *Job) SetInstanceArn(v string) *Job {
12782	s.InstanceArn = &v
12783	return s
12784}
12785
12786// SetMessage sets the Message field's value.
12787func (s *Job) SetMessage(v string) *Job {
12788	s.Message = &v
12789	return s
12790}
12791
12792// SetName sets the Name field's value.
12793func (s *Job) SetName(v string) *Job {
12794	s.Name = &v
12795	return s
12796}
12797
12798// SetResult sets the Result field's value.
12799func (s *Job) SetResult(v string) *Job {
12800	s.Result = &v
12801	return s
12802}
12803
12804// SetStarted sets the Started field's value.
12805func (s *Job) SetStarted(v time.Time) *Job {
12806	s.Started = &v
12807	return s
12808}
12809
12810// SetStatus sets the Status field's value.
12811func (s *Job) SetStatus(v string) *Job {
12812	s.Status = &v
12813	return s
12814}
12815
12816// SetStopped sets the Stopped field's value.
12817func (s *Job) SetStopped(v time.Time) *Job {
12818	s.Stopped = &v
12819	return s
12820}
12821
12822// SetType sets the Type field's value.
12823func (s *Job) SetType(v string) *Job {
12824	s.Type = &v
12825	return s
12826}
12827
12828// SetVideoCapture sets the VideoCapture field's value.
12829func (s *Job) SetVideoCapture(v bool) *Job {
12830	s.VideoCapture = &v
12831	return s
12832}
12833
12834// SetVideoEndpoint sets the VideoEndpoint field's value.
12835func (s *Job) SetVideoEndpoint(v string) *Job {
12836	s.VideoEndpoint = &v
12837	return s
12838}
12839
12840// A limit was exceeded.
12841type LimitExceededException struct {
12842	_            struct{}                  `type:"structure"`
12843	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12844
12845	// Any additional information about the exception.
12846	Message_ *string `locationName:"message" type:"string"`
12847}
12848
12849// String returns the string representation
12850func (s LimitExceededException) String() string {
12851	return awsutil.Prettify(s)
12852}
12853
12854// GoString returns the string representation
12855func (s LimitExceededException) GoString() string {
12856	return s.String()
12857}
12858
12859func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
12860	return &LimitExceededException{
12861		RespMetadata: v,
12862	}
12863}
12864
12865// Code returns the exception type name.
12866func (s *LimitExceededException) Code() string {
12867	return "LimitExceededException"
12868}
12869
12870// Message returns the exception's message.
12871func (s *LimitExceededException) Message() string {
12872	if s.Message_ != nil {
12873		return *s.Message_
12874	}
12875	return ""
12876}
12877
12878// OrigErr always returns nil, satisfies awserr.Error interface.
12879func (s *LimitExceededException) OrigErr() error {
12880	return nil
12881}
12882
12883func (s *LimitExceededException) Error() string {
12884	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12885}
12886
12887// Status code returns the HTTP status code for the request's response error.
12888func (s *LimitExceededException) StatusCode() int {
12889	return s.RespMetadata.StatusCode
12890}
12891
12892// RequestID returns the service's response RequestID for request.
12893func (s *LimitExceededException) RequestID() string {
12894	return s.RespMetadata.RequestID
12895}
12896
12897// Represents a request to the list artifacts operation.
12898type ListArtifactsInput struct {
12899	_ struct{} `type:"structure"`
12900
12901	// The run, job, suite, or test ARN.
12902	//
12903	// Arn is a required field
12904	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
12905
12906	// An identifier that was returned from the previous call to this operation,
12907	// which can be used to return the next set of items in the list.
12908	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
12909
12910	// The artifacts' type.
12911	//
12912	// Allowed values include:
12913	//
12914	//    * FILE
12915	//
12916	//    * LOG
12917	//
12918	//    * SCREENSHOT
12919	//
12920	// Type is a required field
12921	Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactCategory"`
12922}
12923
12924// String returns the string representation
12925func (s ListArtifactsInput) String() string {
12926	return awsutil.Prettify(s)
12927}
12928
12929// GoString returns the string representation
12930func (s ListArtifactsInput) GoString() string {
12931	return s.String()
12932}
12933
12934// Validate inspects the fields of the type to determine if they are valid.
12935func (s *ListArtifactsInput) Validate() error {
12936	invalidParams := request.ErrInvalidParams{Context: "ListArtifactsInput"}
12937	if s.Arn == nil {
12938		invalidParams.Add(request.NewErrParamRequired("Arn"))
12939	}
12940	if s.Arn != nil && len(*s.Arn) < 32 {
12941		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
12942	}
12943	if s.NextToken != nil && len(*s.NextToken) < 4 {
12944		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
12945	}
12946	if s.Type == nil {
12947		invalidParams.Add(request.NewErrParamRequired("Type"))
12948	}
12949
12950	if invalidParams.Len() > 0 {
12951		return invalidParams
12952	}
12953	return nil
12954}
12955
12956// SetArn sets the Arn field's value.
12957func (s *ListArtifactsInput) SetArn(v string) *ListArtifactsInput {
12958	s.Arn = &v
12959	return s
12960}
12961
12962// SetNextToken sets the NextToken field's value.
12963func (s *ListArtifactsInput) SetNextToken(v string) *ListArtifactsInput {
12964	s.NextToken = &v
12965	return s
12966}
12967
12968// SetType sets the Type field's value.
12969func (s *ListArtifactsInput) SetType(v string) *ListArtifactsInput {
12970	s.Type = &v
12971	return s
12972}
12973
12974// Represents the result of a list artifacts operation.
12975type ListArtifactsOutput struct {
12976	_ struct{} `type:"structure"`
12977
12978	// Information about the artifacts.
12979	Artifacts []*Artifact `locationName:"artifacts" type:"list"`
12980
12981	// If the number of items that are returned is significantly large, this is
12982	// an identifier that is also returned. It can be used in a subsequent call
12983	// to this operation to return the next set of items in the list.
12984	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
12985}
12986
12987// String returns the string representation
12988func (s ListArtifactsOutput) String() string {
12989	return awsutil.Prettify(s)
12990}
12991
12992// GoString returns the string representation
12993func (s ListArtifactsOutput) GoString() string {
12994	return s.String()
12995}
12996
12997// SetArtifacts sets the Artifacts field's value.
12998func (s *ListArtifactsOutput) SetArtifacts(v []*Artifact) *ListArtifactsOutput {
12999	s.Artifacts = v
13000	return s
13001}
13002
13003// SetNextToken sets the NextToken field's value.
13004func (s *ListArtifactsOutput) SetNextToken(v string) *ListArtifactsOutput {
13005	s.NextToken = &v
13006	return s
13007}
13008
13009type ListDeviceInstancesInput struct {
13010	_ struct{} `type:"structure"`
13011
13012	// An integer that specifies the maximum number of items you want to return
13013	// in the API response.
13014	MaxResults *int64 `locationName:"maxResults" type:"integer"`
13015
13016	// An identifier that was returned from the previous call to this operation,
13017	// which can be used to return the next set of items in the list.
13018	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13019}
13020
13021// String returns the string representation
13022func (s ListDeviceInstancesInput) String() string {
13023	return awsutil.Prettify(s)
13024}
13025
13026// GoString returns the string representation
13027func (s ListDeviceInstancesInput) GoString() string {
13028	return s.String()
13029}
13030
13031// Validate inspects the fields of the type to determine if they are valid.
13032func (s *ListDeviceInstancesInput) Validate() error {
13033	invalidParams := request.ErrInvalidParams{Context: "ListDeviceInstancesInput"}
13034	if s.NextToken != nil && len(*s.NextToken) < 4 {
13035		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13036	}
13037
13038	if invalidParams.Len() > 0 {
13039		return invalidParams
13040	}
13041	return nil
13042}
13043
13044// SetMaxResults sets the MaxResults field's value.
13045func (s *ListDeviceInstancesInput) SetMaxResults(v int64) *ListDeviceInstancesInput {
13046	s.MaxResults = &v
13047	return s
13048}
13049
13050// SetNextToken sets the NextToken field's value.
13051func (s *ListDeviceInstancesInput) SetNextToken(v string) *ListDeviceInstancesInput {
13052	s.NextToken = &v
13053	return s
13054}
13055
13056type ListDeviceInstancesOutput struct {
13057	_ struct{} `type:"structure"`
13058
13059	// An object that contains information about your device instances.
13060	DeviceInstances []*DeviceInstance `locationName:"deviceInstances" type:"list"`
13061
13062	// An identifier that can be used in the next call to this operation to return
13063	// the next set of items in the list.
13064	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13065}
13066
13067// String returns the string representation
13068func (s ListDeviceInstancesOutput) String() string {
13069	return awsutil.Prettify(s)
13070}
13071
13072// GoString returns the string representation
13073func (s ListDeviceInstancesOutput) GoString() string {
13074	return s.String()
13075}
13076
13077// SetDeviceInstances sets the DeviceInstances field's value.
13078func (s *ListDeviceInstancesOutput) SetDeviceInstances(v []*DeviceInstance) *ListDeviceInstancesOutput {
13079	s.DeviceInstances = v
13080	return s
13081}
13082
13083// SetNextToken sets the NextToken field's value.
13084func (s *ListDeviceInstancesOutput) SetNextToken(v string) *ListDeviceInstancesOutput {
13085	s.NextToken = &v
13086	return s
13087}
13088
13089// Represents the result of a list device pools request.
13090type ListDevicePoolsInput struct {
13091	_ struct{} `type:"structure"`
13092
13093	// The project ARN.
13094	//
13095	// Arn is a required field
13096	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
13097
13098	// An identifier that was returned from the previous call to this operation,
13099	// which can be used to return the next set of items in the list.
13100	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13101
13102	// The device pools' type.
13103	//
13104	// Allowed values include:
13105	//
13106	//    * CURATED: A device pool that is created and managed by AWS Device Farm.
13107	//
13108	//    * PRIVATE: A device pool that is created and managed by the device pool
13109	//    developer.
13110	Type *string `locationName:"type" type:"string" enum:"DevicePoolType"`
13111}
13112
13113// String returns the string representation
13114func (s ListDevicePoolsInput) String() string {
13115	return awsutil.Prettify(s)
13116}
13117
13118// GoString returns the string representation
13119func (s ListDevicePoolsInput) GoString() string {
13120	return s.String()
13121}
13122
13123// Validate inspects the fields of the type to determine if they are valid.
13124func (s *ListDevicePoolsInput) Validate() error {
13125	invalidParams := request.ErrInvalidParams{Context: "ListDevicePoolsInput"}
13126	if s.Arn == nil {
13127		invalidParams.Add(request.NewErrParamRequired("Arn"))
13128	}
13129	if s.Arn != nil && len(*s.Arn) < 32 {
13130		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13131	}
13132	if s.NextToken != nil && len(*s.NextToken) < 4 {
13133		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13134	}
13135
13136	if invalidParams.Len() > 0 {
13137		return invalidParams
13138	}
13139	return nil
13140}
13141
13142// SetArn sets the Arn field's value.
13143func (s *ListDevicePoolsInput) SetArn(v string) *ListDevicePoolsInput {
13144	s.Arn = &v
13145	return s
13146}
13147
13148// SetNextToken sets the NextToken field's value.
13149func (s *ListDevicePoolsInput) SetNextToken(v string) *ListDevicePoolsInput {
13150	s.NextToken = &v
13151	return s
13152}
13153
13154// SetType sets the Type field's value.
13155func (s *ListDevicePoolsInput) SetType(v string) *ListDevicePoolsInput {
13156	s.Type = &v
13157	return s
13158}
13159
13160// Represents the result of a list device pools request.
13161type ListDevicePoolsOutput struct {
13162	_ struct{} `type:"structure"`
13163
13164	// Information about the device pools.
13165	DevicePools []*DevicePool `locationName:"devicePools" type:"list"`
13166
13167	// If the number of items that are returned is significantly large, this is
13168	// an identifier that is also returned. It can be used in a subsequent call
13169	// to this operation to return the next set of items in the list.
13170	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13171}
13172
13173// String returns the string representation
13174func (s ListDevicePoolsOutput) String() string {
13175	return awsutil.Prettify(s)
13176}
13177
13178// GoString returns the string representation
13179func (s ListDevicePoolsOutput) GoString() string {
13180	return s.String()
13181}
13182
13183// SetDevicePools sets the DevicePools field's value.
13184func (s *ListDevicePoolsOutput) SetDevicePools(v []*DevicePool) *ListDevicePoolsOutput {
13185	s.DevicePools = v
13186	return s
13187}
13188
13189// SetNextToken sets the NextToken field's value.
13190func (s *ListDevicePoolsOutput) SetNextToken(v string) *ListDevicePoolsOutput {
13191	s.NextToken = &v
13192	return s
13193}
13194
13195// Represents the result of a list devices request.
13196type ListDevicesInput struct {
13197	_ struct{} `type:"structure"`
13198
13199	// The Amazon Resource Name (ARN) of the project.
13200	Arn *string `locationName:"arn" min:"32" type:"string"`
13201
13202	// Used to select a set of devices. A filter is made up of an attribute, an
13203	// operator, and one or more values.
13204	//
13205	//    * Attribute: The aspect of a device such as platform or model used as
13206	//    the selection criteria in a device filter. Allowed values include: ARN:
13207	//    The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).
13208	//    PLATFORM: The device platform. Valid values are ANDROID or IOS. OS_VERSION:
13209	//    The operating system version (for example, 10.3.2). MODEL: The device
13210	//    model (for example, iPad 5th Gen). AVAILABILITY: The current availability
13211	//    of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or
13212	//    TEMPORARY_NOT_AVAILABLE. FORM_FACTOR: The device form factor. Valid values
13213	//    are PHONE or TABLET. MANUFACTURER: The device manufacturer (for example,
13214	//    Apple). REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote
13215	//    access. Valid values are TRUE or FALSE. REMOTE_DEBUG_ENABLED: Whether
13216	//    the device is enabled for remote debugging. Valid values are TRUE or FALSE.
13217	//    Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
13218	//    this attribute is ignored. INSTANCE_ARN: The Amazon Resource Name (ARN)
13219	//    of the device instance. INSTANCE_LABELS: The label of the device instance.
13220	//    FLEET_TYPE: The fleet type. Valid values are PUBLIC or PRIVATE.
13221	//
13222	//    * Operator: The filter operator. The EQUALS operator is available for
13223	//    every attribute except INSTANCE_LABELS. The CONTAINS operator is available
13224	//    for the INSTANCE_LABELS and MODEL attributes. The IN and NOT_IN operators
13225	//    are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN
13226	//    attributes. The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS
13227	//    operators are also available for the OS_VERSION attribute.
13228	//
13229	//    * Values: An array of one or more filter values. The IN and NOT_IN operators
13230	//    take a values array that has one or more elements. The other operators
13231	//    require an array with a single element. In a request, the AVAILABILITY
13232	//    attribute takes the following values: AVAILABLE, HIGHLY_AVAILABLE, BUSY,
13233	//    or TEMPORARY_NOT_AVAILABLE.
13234	Filters []*DeviceFilter `locationName:"filters" type:"list"`
13235
13236	// An identifier that was returned from the previous call to this operation,
13237	// which can be used to return the next set of items in the list.
13238	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13239}
13240
13241// String returns the string representation
13242func (s ListDevicesInput) String() string {
13243	return awsutil.Prettify(s)
13244}
13245
13246// GoString returns the string representation
13247func (s ListDevicesInput) GoString() string {
13248	return s.String()
13249}
13250
13251// Validate inspects the fields of the type to determine if they are valid.
13252func (s *ListDevicesInput) Validate() error {
13253	invalidParams := request.ErrInvalidParams{Context: "ListDevicesInput"}
13254	if s.Arn != nil && len(*s.Arn) < 32 {
13255		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13256	}
13257	if s.NextToken != nil && len(*s.NextToken) < 4 {
13258		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13259	}
13260	if s.Filters != nil {
13261		for i, v := range s.Filters {
13262			if v == nil {
13263				continue
13264			}
13265			if err := v.Validate(); err != nil {
13266				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13267			}
13268		}
13269	}
13270
13271	if invalidParams.Len() > 0 {
13272		return invalidParams
13273	}
13274	return nil
13275}
13276
13277// SetArn sets the Arn field's value.
13278func (s *ListDevicesInput) SetArn(v string) *ListDevicesInput {
13279	s.Arn = &v
13280	return s
13281}
13282
13283// SetFilters sets the Filters field's value.
13284func (s *ListDevicesInput) SetFilters(v []*DeviceFilter) *ListDevicesInput {
13285	s.Filters = v
13286	return s
13287}
13288
13289// SetNextToken sets the NextToken field's value.
13290func (s *ListDevicesInput) SetNextToken(v string) *ListDevicesInput {
13291	s.NextToken = &v
13292	return s
13293}
13294
13295// Represents the result of a list devices operation.
13296type ListDevicesOutput struct {
13297	_ struct{} `type:"structure"`
13298
13299	// Information about the devices.
13300	Devices []*Device `locationName:"devices" type:"list"`
13301
13302	// If the number of items that are returned is significantly large, this is
13303	// an identifier that is also returned. It can be used in a subsequent call
13304	// to this operation to return the next set of items in the list.
13305	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13306}
13307
13308// String returns the string representation
13309func (s ListDevicesOutput) String() string {
13310	return awsutil.Prettify(s)
13311}
13312
13313// GoString returns the string representation
13314func (s ListDevicesOutput) GoString() string {
13315	return s.String()
13316}
13317
13318// SetDevices sets the Devices field's value.
13319func (s *ListDevicesOutput) SetDevices(v []*Device) *ListDevicesOutput {
13320	s.Devices = v
13321	return s
13322}
13323
13324// SetNextToken sets the NextToken field's value.
13325func (s *ListDevicesOutput) SetNextToken(v string) *ListDevicesOutput {
13326	s.NextToken = &v
13327	return s
13328}
13329
13330type ListInstanceProfilesInput struct {
13331	_ struct{} `type:"structure"`
13332
13333	// An integer that specifies the maximum number of items you want to return
13334	// in the API response.
13335	MaxResults *int64 `locationName:"maxResults" type:"integer"`
13336
13337	// An identifier that was returned from the previous call to this operation,
13338	// which can be used to return the next set of items in the list.
13339	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13340}
13341
13342// String returns the string representation
13343func (s ListInstanceProfilesInput) String() string {
13344	return awsutil.Prettify(s)
13345}
13346
13347// GoString returns the string representation
13348func (s ListInstanceProfilesInput) GoString() string {
13349	return s.String()
13350}
13351
13352// Validate inspects the fields of the type to determine if they are valid.
13353func (s *ListInstanceProfilesInput) Validate() error {
13354	invalidParams := request.ErrInvalidParams{Context: "ListInstanceProfilesInput"}
13355	if s.NextToken != nil && len(*s.NextToken) < 4 {
13356		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13357	}
13358
13359	if invalidParams.Len() > 0 {
13360		return invalidParams
13361	}
13362	return nil
13363}
13364
13365// SetMaxResults sets the MaxResults field's value.
13366func (s *ListInstanceProfilesInput) SetMaxResults(v int64) *ListInstanceProfilesInput {
13367	s.MaxResults = &v
13368	return s
13369}
13370
13371// SetNextToken sets the NextToken field's value.
13372func (s *ListInstanceProfilesInput) SetNextToken(v string) *ListInstanceProfilesInput {
13373	s.NextToken = &v
13374	return s
13375}
13376
13377type ListInstanceProfilesOutput struct {
13378	_ struct{} `type:"structure"`
13379
13380	// An object that contains information about your instance profiles.
13381	InstanceProfiles []*InstanceProfile `locationName:"instanceProfiles" type:"list"`
13382
13383	// An identifier that can be used in the next call to this operation to return
13384	// the next set of items in the list.
13385	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13386}
13387
13388// String returns the string representation
13389func (s ListInstanceProfilesOutput) String() string {
13390	return awsutil.Prettify(s)
13391}
13392
13393// GoString returns the string representation
13394func (s ListInstanceProfilesOutput) GoString() string {
13395	return s.String()
13396}
13397
13398// SetInstanceProfiles sets the InstanceProfiles field's value.
13399func (s *ListInstanceProfilesOutput) SetInstanceProfiles(v []*InstanceProfile) *ListInstanceProfilesOutput {
13400	s.InstanceProfiles = v
13401	return s
13402}
13403
13404// SetNextToken sets the NextToken field's value.
13405func (s *ListInstanceProfilesOutput) SetNextToken(v string) *ListInstanceProfilesOutput {
13406	s.NextToken = &v
13407	return s
13408}
13409
13410// Represents a request to the list jobs operation.
13411type ListJobsInput struct {
13412	_ struct{} `type:"structure"`
13413
13414	// The run's Amazon Resource Name (ARN).
13415	//
13416	// Arn is a required field
13417	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
13418
13419	// An identifier that was returned from the previous call to this operation,
13420	// which can be used to return the next set of items in the list.
13421	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13422}
13423
13424// String returns the string representation
13425func (s ListJobsInput) String() string {
13426	return awsutil.Prettify(s)
13427}
13428
13429// GoString returns the string representation
13430func (s ListJobsInput) GoString() string {
13431	return s.String()
13432}
13433
13434// Validate inspects the fields of the type to determine if they are valid.
13435func (s *ListJobsInput) Validate() error {
13436	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
13437	if s.Arn == nil {
13438		invalidParams.Add(request.NewErrParamRequired("Arn"))
13439	}
13440	if s.Arn != nil && len(*s.Arn) < 32 {
13441		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13442	}
13443	if s.NextToken != nil && len(*s.NextToken) < 4 {
13444		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13445	}
13446
13447	if invalidParams.Len() > 0 {
13448		return invalidParams
13449	}
13450	return nil
13451}
13452
13453// SetArn sets the Arn field's value.
13454func (s *ListJobsInput) SetArn(v string) *ListJobsInput {
13455	s.Arn = &v
13456	return s
13457}
13458
13459// SetNextToken sets the NextToken field's value.
13460func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
13461	s.NextToken = &v
13462	return s
13463}
13464
13465// Represents the result of a list jobs request.
13466type ListJobsOutput struct {
13467	_ struct{} `type:"structure"`
13468
13469	// Information about the jobs.
13470	Jobs []*Job `locationName:"jobs" type:"list"`
13471
13472	// If the number of items that are returned is significantly large, this is
13473	// an identifier that is also returned. It can be used in a subsequent call
13474	// to this operation to return the next set of items in the list.
13475	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13476}
13477
13478// String returns the string representation
13479func (s ListJobsOutput) String() string {
13480	return awsutil.Prettify(s)
13481}
13482
13483// GoString returns the string representation
13484func (s ListJobsOutput) GoString() string {
13485	return s.String()
13486}
13487
13488// SetJobs sets the Jobs field's value.
13489func (s *ListJobsOutput) SetJobs(v []*Job) *ListJobsOutput {
13490	s.Jobs = v
13491	return s
13492}
13493
13494// SetNextToken sets the NextToken field's value.
13495func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
13496	s.NextToken = &v
13497	return s
13498}
13499
13500type ListNetworkProfilesInput struct {
13501	_ struct{} `type:"structure"`
13502
13503	// The Amazon Resource Name (ARN) of the project for which you want to list
13504	// network profiles.
13505	//
13506	// Arn is a required field
13507	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
13508
13509	// An identifier that was returned from the previous call to this operation,
13510	// which can be used to return the next set of items in the list.
13511	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13512
13513	// The type of network profile to return information about. Valid values are
13514	// listed here.
13515	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
13516}
13517
13518// String returns the string representation
13519func (s ListNetworkProfilesInput) String() string {
13520	return awsutil.Prettify(s)
13521}
13522
13523// GoString returns the string representation
13524func (s ListNetworkProfilesInput) GoString() string {
13525	return s.String()
13526}
13527
13528// Validate inspects the fields of the type to determine if they are valid.
13529func (s *ListNetworkProfilesInput) Validate() error {
13530	invalidParams := request.ErrInvalidParams{Context: "ListNetworkProfilesInput"}
13531	if s.Arn == nil {
13532		invalidParams.Add(request.NewErrParamRequired("Arn"))
13533	}
13534	if s.Arn != nil && len(*s.Arn) < 32 {
13535		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13536	}
13537	if s.NextToken != nil && len(*s.NextToken) < 4 {
13538		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13539	}
13540
13541	if invalidParams.Len() > 0 {
13542		return invalidParams
13543	}
13544	return nil
13545}
13546
13547// SetArn sets the Arn field's value.
13548func (s *ListNetworkProfilesInput) SetArn(v string) *ListNetworkProfilesInput {
13549	s.Arn = &v
13550	return s
13551}
13552
13553// SetNextToken sets the NextToken field's value.
13554func (s *ListNetworkProfilesInput) SetNextToken(v string) *ListNetworkProfilesInput {
13555	s.NextToken = &v
13556	return s
13557}
13558
13559// SetType sets the Type field's value.
13560func (s *ListNetworkProfilesInput) SetType(v string) *ListNetworkProfilesInput {
13561	s.Type = &v
13562	return s
13563}
13564
13565type ListNetworkProfilesOutput struct {
13566	_ struct{} `type:"structure"`
13567
13568	// A list of the available network profiles.
13569	NetworkProfiles []*NetworkProfile `locationName:"networkProfiles" type:"list"`
13570
13571	// An identifier that was returned from the previous call to this operation,
13572	// which can be used to return the next set of items in the list.
13573	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13574}
13575
13576// String returns the string representation
13577func (s ListNetworkProfilesOutput) String() string {
13578	return awsutil.Prettify(s)
13579}
13580
13581// GoString returns the string representation
13582func (s ListNetworkProfilesOutput) GoString() string {
13583	return s.String()
13584}
13585
13586// SetNetworkProfiles sets the NetworkProfiles field's value.
13587func (s *ListNetworkProfilesOutput) SetNetworkProfiles(v []*NetworkProfile) *ListNetworkProfilesOutput {
13588	s.NetworkProfiles = v
13589	return s
13590}
13591
13592// SetNextToken sets the NextToken field's value.
13593func (s *ListNetworkProfilesOutput) SetNextToken(v string) *ListNetworkProfilesOutput {
13594	s.NextToken = &v
13595	return s
13596}
13597
13598type ListOfferingPromotionsInput struct {
13599	_ struct{} `type:"structure"`
13600
13601	// An identifier that was returned from the previous call to this operation,
13602	// which can be used to return the next set of items in the list.
13603	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13604}
13605
13606// String returns the string representation
13607func (s ListOfferingPromotionsInput) String() string {
13608	return awsutil.Prettify(s)
13609}
13610
13611// GoString returns the string representation
13612func (s ListOfferingPromotionsInput) GoString() string {
13613	return s.String()
13614}
13615
13616// Validate inspects the fields of the type to determine if they are valid.
13617func (s *ListOfferingPromotionsInput) Validate() error {
13618	invalidParams := request.ErrInvalidParams{Context: "ListOfferingPromotionsInput"}
13619	if s.NextToken != nil && len(*s.NextToken) < 4 {
13620		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13621	}
13622
13623	if invalidParams.Len() > 0 {
13624		return invalidParams
13625	}
13626	return nil
13627}
13628
13629// SetNextToken sets the NextToken field's value.
13630func (s *ListOfferingPromotionsInput) SetNextToken(v string) *ListOfferingPromotionsInput {
13631	s.NextToken = &v
13632	return s
13633}
13634
13635type ListOfferingPromotionsOutput struct {
13636	_ struct{} `type:"structure"`
13637
13638	// An identifier to be used in the next call to this operation, to return the
13639	// next set of items in the list.
13640	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13641
13642	// Information about the offering promotions.
13643	OfferingPromotions []*OfferingPromotion `locationName:"offeringPromotions" type:"list"`
13644}
13645
13646// String returns the string representation
13647func (s ListOfferingPromotionsOutput) String() string {
13648	return awsutil.Prettify(s)
13649}
13650
13651// GoString returns the string representation
13652func (s ListOfferingPromotionsOutput) GoString() string {
13653	return s.String()
13654}
13655
13656// SetNextToken sets the NextToken field's value.
13657func (s *ListOfferingPromotionsOutput) SetNextToken(v string) *ListOfferingPromotionsOutput {
13658	s.NextToken = &v
13659	return s
13660}
13661
13662// SetOfferingPromotions sets the OfferingPromotions field's value.
13663func (s *ListOfferingPromotionsOutput) SetOfferingPromotions(v []*OfferingPromotion) *ListOfferingPromotionsOutput {
13664	s.OfferingPromotions = v
13665	return s
13666}
13667
13668// Represents the request to list the offering transaction history.
13669type ListOfferingTransactionsInput struct {
13670	_ struct{} `type:"structure"`
13671
13672	// An identifier that was returned from the previous call to this operation,
13673	// which can be used to return the next set of items in the list.
13674	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13675}
13676
13677// String returns the string representation
13678func (s ListOfferingTransactionsInput) String() string {
13679	return awsutil.Prettify(s)
13680}
13681
13682// GoString returns the string representation
13683func (s ListOfferingTransactionsInput) GoString() string {
13684	return s.String()
13685}
13686
13687// Validate inspects the fields of the type to determine if they are valid.
13688func (s *ListOfferingTransactionsInput) Validate() error {
13689	invalidParams := request.ErrInvalidParams{Context: "ListOfferingTransactionsInput"}
13690	if s.NextToken != nil && len(*s.NextToken) < 4 {
13691		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13692	}
13693
13694	if invalidParams.Len() > 0 {
13695		return invalidParams
13696	}
13697	return nil
13698}
13699
13700// SetNextToken sets the NextToken field's value.
13701func (s *ListOfferingTransactionsInput) SetNextToken(v string) *ListOfferingTransactionsInput {
13702	s.NextToken = &v
13703	return s
13704}
13705
13706// Returns the transaction log of the specified offerings.
13707type ListOfferingTransactionsOutput struct {
13708	_ struct{} `type:"structure"`
13709
13710	// An identifier that was returned from the previous call to this operation,
13711	// which can be used to return the next set of items in the list.
13712	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13713
13714	// The audit log of subscriptions you have purchased and modified through AWS
13715	// Device Farm.
13716	OfferingTransactions []*OfferingTransaction `locationName:"offeringTransactions" type:"list"`
13717}
13718
13719// String returns the string representation
13720func (s ListOfferingTransactionsOutput) String() string {
13721	return awsutil.Prettify(s)
13722}
13723
13724// GoString returns the string representation
13725func (s ListOfferingTransactionsOutput) GoString() string {
13726	return s.String()
13727}
13728
13729// SetNextToken sets the NextToken field's value.
13730func (s *ListOfferingTransactionsOutput) SetNextToken(v string) *ListOfferingTransactionsOutput {
13731	s.NextToken = &v
13732	return s
13733}
13734
13735// SetOfferingTransactions sets the OfferingTransactions field's value.
13736func (s *ListOfferingTransactionsOutput) SetOfferingTransactions(v []*OfferingTransaction) *ListOfferingTransactionsOutput {
13737	s.OfferingTransactions = v
13738	return s
13739}
13740
13741// Represents the request to list all offerings.
13742type ListOfferingsInput struct {
13743	_ struct{} `type:"structure"`
13744
13745	// An identifier that was returned from the previous call to this operation,
13746	// which can be used to return the next set of items in the list.
13747	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13748}
13749
13750// String returns the string representation
13751func (s ListOfferingsInput) String() string {
13752	return awsutil.Prettify(s)
13753}
13754
13755// GoString returns the string representation
13756func (s ListOfferingsInput) GoString() string {
13757	return s.String()
13758}
13759
13760// Validate inspects the fields of the type to determine if they are valid.
13761func (s *ListOfferingsInput) Validate() error {
13762	invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"}
13763	if s.NextToken != nil && len(*s.NextToken) < 4 {
13764		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13765	}
13766
13767	if invalidParams.Len() > 0 {
13768		return invalidParams
13769	}
13770	return nil
13771}
13772
13773// SetNextToken sets the NextToken field's value.
13774func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput {
13775	s.NextToken = &v
13776	return s
13777}
13778
13779// Represents the return values of the list of offerings.
13780type ListOfferingsOutput struct {
13781	_ struct{} `type:"structure"`
13782
13783	// An identifier that was returned from the previous call to this operation,
13784	// which can be used to return the next set of items in the list.
13785	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13786
13787	// A value that represents the list offering results.
13788	Offerings []*Offering `locationName:"offerings" type:"list"`
13789}
13790
13791// String returns the string representation
13792func (s ListOfferingsOutput) String() string {
13793	return awsutil.Prettify(s)
13794}
13795
13796// GoString returns the string representation
13797func (s ListOfferingsOutput) GoString() string {
13798	return s.String()
13799}
13800
13801// SetNextToken sets the NextToken field's value.
13802func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput {
13803	s.NextToken = &v
13804	return s
13805}
13806
13807// SetOfferings sets the Offerings field's value.
13808func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput {
13809	s.Offerings = v
13810	return s
13811}
13812
13813// Represents a request to the list projects operation.
13814type ListProjectsInput struct {
13815	_ struct{} `type:"structure"`
13816
13817	// Optional. If no Amazon Resource Name (ARN) is specified, then AWS Device
13818	// Farm returns a list of all projects for the AWS account. You can also specify
13819	// a project ARN.
13820	Arn *string `locationName:"arn" min:"32" type:"string"`
13821
13822	// An identifier that was returned from the previous call to this operation,
13823	// which can be used to return the next set of items in the list.
13824	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13825}
13826
13827// String returns the string representation
13828func (s ListProjectsInput) String() string {
13829	return awsutil.Prettify(s)
13830}
13831
13832// GoString returns the string representation
13833func (s ListProjectsInput) GoString() string {
13834	return s.String()
13835}
13836
13837// Validate inspects the fields of the type to determine if they are valid.
13838func (s *ListProjectsInput) Validate() error {
13839	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
13840	if s.Arn != nil && len(*s.Arn) < 32 {
13841		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13842	}
13843	if s.NextToken != nil && len(*s.NextToken) < 4 {
13844		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13845	}
13846
13847	if invalidParams.Len() > 0 {
13848		return invalidParams
13849	}
13850	return nil
13851}
13852
13853// SetArn sets the Arn field's value.
13854func (s *ListProjectsInput) SetArn(v string) *ListProjectsInput {
13855	s.Arn = &v
13856	return s
13857}
13858
13859// SetNextToken sets the NextToken field's value.
13860func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
13861	s.NextToken = &v
13862	return s
13863}
13864
13865// Represents the result of a list projects request.
13866type ListProjectsOutput struct {
13867	_ struct{} `type:"structure"`
13868
13869	// If the number of items that are returned is significantly large, this is
13870	// an identifier that is also returned. It can be used in a subsequent call
13871	// to this operation to return the next set of items in the list.
13872	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13873
13874	// Information about the projects.
13875	Projects []*Project `locationName:"projects" type:"list"`
13876}
13877
13878// String returns the string representation
13879func (s ListProjectsOutput) String() string {
13880	return awsutil.Prettify(s)
13881}
13882
13883// GoString returns the string representation
13884func (s ListProjectsOutput) GoString() string {
13885	return s.String()
13886}
13887
13888// SetNextToken sets the NextToken field's value.
13889func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
13890	s.NextToken = &v
13891	return s
13892}
13893
13894// SetProjects sets the Projects field's value.
13895func (s *ListProjectsOutput) SetProjects(v []*Project) *ListProjectsOutput {
13896	s.Projects = v
13897	return s
13898}
13899
13900// Represents the request to return information about the remote access session.
13901type ListRemoteAccessSessionsInput struct {
13902	_ struct{} `type:"structure"`
13903
13904	// The Amazon Resource Name (ARN) of the project about which you are requesting
13905	// information.
13906	//
13907	// Arn is a required field
13908	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
13909
13910	// An identifier that was returned from the previous call to this operation,
13911	// which can be used to return the next set of items in the list.
13912	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13913}
13914
13915// String returns the string representation
13916func (s ListRemoteAccessSessionsInput) String() string {
13917	return awsutil.Prettify(s)
13918}
13919
13920// GoString returns the string representation
13921func (s ListRemoteAccessSessionsInput) GoString() string {
13922	return s.String()
13923}
13924
13925// Validate inspects the fields of the type to determine if they are valid.
13926func (s *ListRemoteAccessSessionsInput) Validate() error {
13927	invalidParams := request.ErrInvalidParams{Context: "ListRemoteAccessSessionsInput"}
13928	if s.Arn == nil {
13929		invalidParams.Add(request.NewErrParamRequired("Arn"))
13930	}
13931	if s.Arn != nil && len(*s.Arn) < 32 {
13932		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13933	}
13934	if s.NextToken != nil && len(*s.NextToken) < 4 {
13935		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13936	}
13937
13938	if invalidParams.Len() > 0 {
13939		return invalidParams
13940	}
13941	return nil
13942}
13943
13944// SetArn sets the Arn field's value.
13945func (s *ListRemoteAccessSessionsInput) SetArn(v string) *ListRemoteAccessSessionsInput {
13946	s.Arn = &v
13947	return s
13948}
13949
13950// SetNextToken sets the NextToken field's value.
13951func (s *ListRemoteAccessSessionsInput) SetNextToken(v string) *ListRemoteAccessSessionsInput {
13952	s.NextToken = &v
13953	return s
13954}
13955
13956// Represents the response from the server after AWS Device Farm makes a request
13957// to return information about the remote access session.
13958type ListRemoteAccessSessionsOutput struct {
13959	_ struct{} `type:"structure"`
13960
13961	// An identifier that was returned from the previous call to this operation,
13962	// which can be used to return the next set of items in the list.
13963	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13964
13965	// A container that represents the metadata from the service about each remote
13966	// access session you are requesting.
13967	RemoteAccessSessions []*RemoteAccessSession `locationName:"remoteAccessSessions" type:"list"`
13968}
13969
13970// String returns the string representation
13971func (s ListRemoteAccessSessionsOutput) String() string {
13972	return awsutil.Prettify(s)
13973}
13974
13975// GoString returns the string representation
13976func (s ListRemoteAccessSessionsOutput) GoString() string {
13977	return s.String()
13978}
13979
13980// SetNextToken sets the NextToken field's value.
13981func (s *ListRemoteAccessSessionsOutput) SetNextToken(v string) *ListRemoteAccessSessionsOutput {
13982	s.NextToken = &v
13983	return s
13984}
13985
13986// SetRemoteAccessSessions sets the RemoteAccessSessions field's value.
13987func (s *ListRemoteAccessSessionsOutput) SetRemoteAccessSessions(v []*RemoteAccessSession) *ListRemoteAccessSessionsOutput {
13988	s.RemoteAccessSessions = v
13989	return s
13990}
13991
13992// Represents a request to the list runs operation.
13993type ListRunsInput struct {
13994	_ struct{} `type:"structure"`
13995
13996	// The Amazon Resource Name (ARN) of the project for which you want to list
13997	// runs.
13998	//
13999	// Arn is a required field
14000	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
14001
14002	// An identifier that was returned from the previous call to this operation,
14003	// which can be used to return the next set of items in the list.
14004	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14005}
14006
14007// String returns the string representation
14008func (s ListRunsInput) String() string {
14009	return awsutil.Prettify(s)
14010}
14011
14012// GoString returns the string representation
14013func (s ListRunsInput) GoString() string {
14014	return s.String()
14015}
14016
14017// Validate inspects the fields of the type to determine if they are valid.
14018func (s *ListRunsInput) Validate() error {
14019	invalidParams := request.ErrInvalidParams{Context: "ListRunsInput"}
14020	if s.Arn == nil {
14021		invalidParams.Add(request.NewErrParamRequired("Arn"))
14022	}
14023	if s.Arn != nil && len(*s.Arn) < 32 {
14024		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
14025	}
14026	if s.NextToken != nil && len(*s.NextToken) < 4 {
14027		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14028	}
14029
14030	if invalidParams.Len() > 0 {
14031		return invalidParams
14032	}
14033	return nil
14034}
14035
14036// SetArn sets the Arn field's value.
14037func (s *ListRunsInput) SetArn(v string) *ListRunsInput {
14038	s.Arn = &v
14039	return s
14040}
14041
14042// SetNextToken sets the NextToken field's value.
14043func (s *ListRunsInput) SetNextToken(v string) *ListRunsInput {
14044	s.NextToken = &v
14045	return s
14046}
14047
14048// Represents the result of a list runs request.
14049type ListRunsOutput struct {
14050	_ struct{} `type:"structure"`
14051
14052	// If the number of items that are returned is significantly large, this is
14053	// an identifier that is also returned. It can be used in a subsequent call
14054	// to this operation to return the next set of items in the list.
14055	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14056
14057	// Information about the runs.
14058	Runs []*Run `locationName:"runs" type:"list"`
14059}
14060
14061// String returns the string representation
14062func (s ListRunsOutput) String() string {
14063	return awsutil.Prettify(s)
14064}
14065
14066// GoString returns the string representation
14067func (s ListRunsOutput) GoString() string {
14068	return s.String()
14069}
14070
14071// SetNextToken sets the NextToken field's value.
14072func (s *ListRunsOutput) SetNextToken(v string) *ListRunsOutput {
14073	s.NextToken = &v
14074	return s
14075}
14076
14077// SetRuns sets the Runs field's value.
14078func (s *ListRunsOutput) SetRuns(v []*Run) *ListRunsOutput {
14079	s.Runs = v
14080	return s
14081}
14082
14083// Represents a request to the list samples operation.
14084type ListSamplesInput struct {
14085	_ struct{} `type:"structure"`
14086
14087	// The Amazon Resource Name (ARN) of the job used to list samples.
14088	//
14089	// Arn is a required field
14090	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
14091
14092	// An identifier that was returned from the previous call to this operation,
14093	// which can be used to return the next set of items in the list.
14094	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14095}
14096
14097// String returns the string representation
14098func (s ListSamplesInput) String() string {
14099	return awsutil.Prettify(s)
14100}
14101
14102// GoString returns the string representation
14103func (s ListSamplesInput) GoString() string {
14104	return s.String()
14105}
14106
14107// Validate inspects the fields of the type to determine if they are valid.
14108func (s *ListSamplesInput) Validate() error {
14109	invalidParams := request.ErrInvalidParams{Context: "ListSamplesInput"}
14110	if s.Arn == nil {
14111		invalidParams.Add(request.NewErrParamRequired("Arn"))
14112	}
14113	if s.Arn != nil && len(*s.Arn) < 32 {
14114		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
14115	}
14116	if s.NextToken != nil && len(*s.NextToken) < 4 {
14117		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14118	}
14119
14120	if invalidParams.Len() > 0 {
14121		return invalidParams
14122	}
14123	return nil
14124}
14125
14126// SetArn sets the Arn field's value.
14127func (s *ListSamplesInput) SetArn(v string) *ListSamplesInput {
14128	s.Arn = &v
14129	return s
14130}
14131
14132// SetNextToken sets the NextToken field's value.
14133func (s *ListSamplesInput) SetNextToken(v string) *ListSamplesInput {
14134	s.NextToken = &v
14135	return s
14136}
14137
14138// Represents the result of a list samples request.
14139type ListSamplesOutput struct {
14140	_ struct{} `type:"structure"`
14141
14142	// If the number of items that are returned is significantly large, this is
14143	// an identifier that is also returned. It can be used in a subsequent call
14144	// to this operation to return the next set of items in the list.
14145	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14146
14147	// Information about the samples.
14148	Samples []*Sample `locationName:"samples" type:"list"`
14149}
14150
14151// String returns the string representation
14152func (s ListSamplesOutput) String() string {
14153	return awsutil.Prettify(s)
14154}
14155
14156// GoString returns the string representation
14157func (s ListSamplesOutput) GoString() string {
14158	return s.String()
14159}
14160
14161// SetNextToken sets the NextToken field's value.
14162func (s *ListSamplesOutput) SetNextToken(v string) *ListSamplesOutput {
14163	s.NextToken = &v
14164	return s
14165}
14166
14167// SetSamples sets the Samples field's value.
14168func (s *ListSamplesOutput) SetSamples(v []*Sample) *ListSamplesOutput {
14169	s.Samples = v
14170	return s
14171}
14172
14173// Represents a request to the list suites operation.
14174type ListSuitesInput struct {
14175	_ struct{} `type:"structure"`
14176
14177	// The job's Amazon Resource Name (ARN).
14178	//
14179	// Arn is a required field
14180	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
14181
14182	// An identifier that was returned from the previous call to this operation,
14183	// which can be used to return the next set of items in the list.
14184	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14185}
14186
14187// String returns the string representation
14188func (s ListSuitesInput) String() string {
14189	return awsutil.Prettify(s)
14190}
14191
14192// GoString returns the string representation
14193func (s ListSuitesInput) GoString() string {
14194	return s.String()
14195}
14196
14197// Validate inspects the fields of the type to determine if they are valid.
14198func (s *ListSuitesInput) Validate() error {
14199	invalidParams := request.ErrInvalidParams{Context: "ListSuitesInput"}
14200	if s.Arn == nil {
14201		invalidParams.Add(request.NewErrParamRequired("Arn"))
14202	}
14203	if s.Arn != nil && len(*s.Arn) < 32 {
14204		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
14205	}
14206	if s.NextToken != nil && len(*s.NextToken) < 4 {
14207		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14208	}
14209
14210	if invalidParams.Len() > 0 {
14211		return invalidParams
14212	}
14213	return nil
14214}
14215
14216// SetArn sets the Arn field's value.
14217func (s *ListSuitesInput) SetArn(v string) *ListSuitesInput {
14218	s.Arn = &v
14219	return s
14220}
14221
14222// SetNextToken sets the NextToken field's value.
14223func (s *ListSuitesInput) SetNextToken(v string) *ListSuitesInput {
14224	s.NextToken = &v
14225	return s
14226}
14227
14228// Represents the result of a list suites request.
14229type ListSuitesOutput struct {
14230	_ struct{} `type:"structure"`
14231
14232	// If the number of items that are returned is significantly large, this is
14233	// an identifier that is also returned. It can be used in a subsequent call
14234	// to this operation to return the next set of items in the list.
14235	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14236
14237	// Information about the suites.
14238	Suites []*Suite `locationName:"suites" type:"list"`
14239}
14240
14241// String returns the string representation
14242func (s ListSuitesOutput) String() string {
14243	return awsutil.Prettify(s)
14244}
14245
14246// GoString returns the string representation
14247func (s ListSuitesOutput) GoString() string {
14248	return s.String()
14249}
14250
14251// SetNextToken sets the NextToken field's value.
14252func (s *ListSuitesOutput) SetNextToken(v string) *ListSuitesOutput {
14253	s.NextToken = &v
14254	return s
14255}
14256
14257// SetSuites sets the Suites field's value.
14258func (s *ListSuitesOutput) SetSuites(v []*Suite) *ListSuitesOutput {
14259	s.Suites = v
14260	return s
14261}
14262
14263type ListTagsForResourceInput struct {
14264	_ struct{} `type:"structure"`
14265
14266	// The Amazon Resource Name (ARN) of the resource or resources for which to
14267	// list tags. You can associate tags with the following Device Farm resources:
14268	// PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION,
14269	// DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.
14270	//
14271	// ResourceARN is a required field
14272	ResourceARN *string `min:"32" type:"string" required:"true"`
14273}
14274
14275// String returns the string representation
14276func (s ListTagsForResourceInput) String() string {
14277	return awsutil.Prettify(s)
14278}
14279
14280// GoString returns the string representation
14281func (s ListTagsForResourceInput) GoString() string {
14282	return s.String()
14283}
14284
14285// Validate inspects the fields of the type to determine if they are valid.
14286func (s *ListTagsForResourceInput) Validate() error {
14287	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
14288	if s.ResourceARN == nil {
14289		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
14290	}
14291	if s.ResourceARN != nil && len(*s.ResourceARN) < 32 {
14292		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 32))
14293	}
14294
14295	if invalidParams.Len() > 0 {
14296		return invalidParams
14297	}
14298	return nil
14299}
14300
14301// SetResourceARN sets the ResourceARN field's value.
14302func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
14303	s.ResourceARN = &v
14304	return s
14305}
14306
14307type ListTagsForResourceOutput struct {
14308	_ struct{} `type:"structure"`
14309
14310	// The tags to add to the resource. A tag is an array of key-value pairs. Tag
14311	// keys can have a maximum character length of 128 characters. Tag values can
14312	// have a maximum length of 256 characters.
14313	Tags []*Tag `type:"list"`
14314}
14315
14316// String returns the string representation
14317func (s ListTagsForResourceOutput) String() string {
14318	return awsutil.Prettify(s)
14319}
14320
14321// GoString returns the string representation
14322func (s ListTagsForResourceOutput) GoString() string {
14323	return s.String()
14324}
14325
14326// SetTags sets the Tags field's value.
14327func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
14328	s.Tags = v
14329	return s
14330}
14331
14332type ListTestGridProjectsInput struct {
14333	_ struct{} `type:"structure"`
14334
14335	// Return no more than this number of results.
14336	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
14337
14338	// From a response, used to continue a paginated listing.
14339	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14340}
14341
14342// String returns the string representation
14343func (s ListTestGridProjectsInput) String() string {
14344	return awsutil.Prettify(s)
14345}
14346
14347// GoString returns the string representation
14348func (s ListTestGridProjectsInput) GoString() string {
14349	return s.String()
14350}
14351
14352// Validate inspects the fields of the type to determine if they are valid.
14353func (s *ListTestGridProjectsInput) Validate() error {
14354	invalidParams := request.ErrInvalidParams{Context: "ListTestGridProjectsInput"}
14355	if s.MaxResult != nil && *s.MaxResult < 1 {
14356		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
14357	}
14358	if s.NextToken != nil && len(*s.NextToken) < 4 {
14359		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14360	}
14361
14362	if invalidParams.Len() > 0 {
14363		return invalidParams
14364	}
14365	return nil
14366}
14367
14368// SetMaxResult sets the MaxResult field's value.
14369func (s *ListTestGridProjectsInput) SetMaxResult(v int64) *ListTestGridProjectsInput {
14370	s.MaxResult = &v
14371	return s
14372}
14373
14374// SetNextToken sets the NextToken field's value.
14375func (s *ListTestGridProjectsInput) SetNextToken(v string) *ListTestGridProjectsInput {
14376	s.NextToken = &v
14377	return s
14378}
14379
14380type ListTestGridProjectsOutput struct {
14381	_ struct{} `type:"structure"`
14382
14383	// Used for pagination. Pass into ListTestGridProjects to get more results in
14384	// a paginated request.
14385	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14386
14387	// The list of TestGridProjects, based on a ListTestGridProjectsRequest.
14388	TestGridProjects []*TestGridProject `locationName:"testGridProjects" type:"list"`
14389}
14390
14391// String returns the string representation
14392func (s ListTestGridProjectsOutput) String() string {
14393	return awsutil.Prettify(s)
14394}
14395
14396// GoString returns the string representation
14397func (s ListTestGridProjectsOutput) GoString() string {
14398	return s.String()
14399}
14400
14401// SetNextToken sets the NextToken field's value.
14402func (s *ListTestGridProjectsOutput) SetNextToken(v string) *ListTestGridProjectsOutput {
14403	s.NextToken = &v
14404	return s
14405}
14406
14407// SetTestGridProjects sets the TestGridProjects field's value.
14408func (s *ListTestGridProjectsOutput) SetTestGridProjects(v []*TestGridProject) *ListTestGridProjectsOutput {
14409	s.TestGridProjects = v
14410	return s
14411}
14412
14413type ListTestGridSessionActionsInput struct {
14414	_ struct{} `type:"structure"`
14415
14416	// The maximum number of sessions to return per response.
14417	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
14418
14419	// Pagination token.
14420	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14421
14422	// The ARN of the session to retrieve.
14423	//
14424	// SessionArn is a required field
14425	SessionArn *string `locationName:"sessionArn" min:"32" type:"string" required:"true"`
14426}
14427
14428// String returns the string representation
14429func (s ListTestGridSessionActionsInput) String() string {
14430	return awsutil.Prettify(s)
14431}
14432
14433// GoString returns the string representation
14434func (s ListTestGridSessionActionsInput) GoString() string {
14435	return s.String()
14436}
14437
14438// Validate inspects the fields of the type to determine if they are valid.
14439func (s *ListTestGridSessionActionsInput) Validate() error {
14440	invalidParams := request.ErrInvalidParams{Context: "ListTestGridSessionActionsInput"}
14441	if s.MaxResult != nil && *s.MaxResult < 1 {
14442		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
14443	}
14444	if s.NextToken != nil && len(*s.NextToken) < 4 {
14445		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14446	}
14447	if s.SessionArn == nil {
14448		invalidParams.Add(request.NewErrParamRequired("SessionArn"))
14449	}
14450	if s.SessionArn != nil && len(*s.SessionArn) < 32 {
14451		invalidParams.Add(request.NewErrParamMinLen("SessionArn", 32))
14452	}
14453
14454	if invalidParams.Len() > 0 {
14455		return invalidParams
14456	}
14457	return nil
14458}
14459
14460// SetMaxResult sets the MaxResult field's value.
14461func (s *ListTestGridSessionActionsInput) SetMaxResult(v int64) *ListTestGridSessionActionsInput {
14462	s.MaxResult = &v
14463	return s
14464}
14465
14466// SetNextToken sets the NextToken field's value.
14467func (s *ListTestGridSessionActionsInput) SetNextToken(v string) *ListTestGridSessionActionsInput {
14468	s.NextToken = &v
14469	return s
14470}
14471
14472// SetSessionArn sets the SessionArn field's value.
14473func (s *ListTestGridSessionActionsInput) SetSessionArn(v string) *ListTestGridSessionActionsInput {
14474	s.SessionArn = &v
14475	return s
14476}
14477
14478type ListTestGridSessionActionsOutput struct {
14479	_ struct{} `type:"structure"`
14480
14481	// The action taken by the session.
14482	Actions []*TestGridSessionAction `locationName:"actions" type:"list"`
14483
14484	// Pagination token.
14485	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14486}
14487
14488// String returns the string representation
14489func (s ListTestGridSessionActionsOutput) String() string {
14490	return awsutil.Prettify(s)
14491}
14492
14493// GoString returns the string representation
14494func (s ListTestGridSessionActionsOutput) GoString() string {
14495	return s.String()
14496}
14497
14498// SetActions sets the Actions field's value.
14499func (s *ListTestGridSessionActionsOutput) SetActions(v []*TestGridSessionAction) *ListTestGridSessionActionsOutput {
14500	s.Actions = v
14501	return s
14502}
14503
14504// SetNextToken sets the NextToken field's value.
14505func (s *ListTestGridSessionActionsOutput) SetNextToken(v string) *ListTestGridSessionActionsOutput {
14506	s.NextToken = &v
14507	return s
14508}
14509
14510type ListTestGridSessionArtifactsInput struct {
14511	_ struct{} `type:"structure"`
14512
14513	// The maximum number of results to be returned by a request.
14514	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
14515
14516	// Pagination token.
14517	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14518
14519	// The ARN of a TestGridSession.
14520	//
14521	// SessionArn is a required field
14522	SessionArn *string `locationName:"sessionArn" min:"32" type:"string" required:"true"`
14523
14524	// Limit results to a specified type of artifact.
14525	Type *string `locationName:"type" type:"string" enum:"TestGridSessionArtifactCategory"`
14526}
14527
14528// String returns the string representation
14529func (s ListTestGridSessionArtifactsInput) String() string {
14530	return awsutil.Prettify(s)
14531}
14532
14533// GoString returns the string representation
14534func (s ListTestGridSessionArtifactsInput) GoString() string {
14535	return s.String()
14536}
14537
14538// Validate inspects the fields of the type to determine if they are valid.
14539func (s *ListTestGridSessionArtifactsInput) Validate() error {
14540	invalidParams := request.ErrInvalidParams{Context: "ListTestGridSessionArtifactsInput"}
14541	if s.MaxResult != nil && *s.MaxResult < 1 {
14542		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
14543	}
14544	if s.NextToken != nil && len(*s.NextToken) < 4 {
14545		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14546	}
14547	if s.SessionArn == nil {
14548		invalidParams.Add(request.NewErrParamRequired("SessionArn"))
14549	}
14550	if s.SessionArn != nil && len(*s.SessionArn) < 32 {
14551		invalidParams.Add(request.NewErrParamMinLen("SessionArn", 32))
14552	}
14553
14554	if invalidParams.Len() > 0 {
14555		return invalidParams
14556	}
14557	return nil
14558}
14559
14560// SetMaxResult sets the MaxResult field's value.
14561func (s *ListTestGridSessionArtifactsInput) SetMaxResult(v int64) *ListTestGridSessionArtifactsInput {
14562	s.MaxResult = &v
14563	return s
14564}
14565
14566// SetNextToken sets the NextToken field's value.
14567func (s *ListTestGridSessionArtifactsInput) SetNextToken(v string) *ListTestGridSessionArtifactsInput {
14568	s.NextToken = &v
14569	return s
14570}
14571
14572// SetSessionArn sets the SessionArn field's value.
14573func (s *ListTestGridSessionArtifactsInput) SetSessionArn(v string) *ListTestGridSessionArtifactsInput {
14574	s.SessionArn = &v
14575	return s
14576}
14577
14578// SetType sets the Type field's value.
14579func (s *ListTestGridSessionArtifactsInput) SetType(v string) *ListTestGridSessionArtifactsInput {
14580	s.Type = &v
14581	return s
14582}
14583
14584type ListTestGridSessionArtifactsOutput struct {
14585	_ struct{} `type:"structure"`
14586
14587	// A list of test grid session artifacts for a TestGridSession.
14588	Artifacts []*TestGridSessionArtifact `locationName:"artifacts" type:"list"`
14589
14590	// Pagination token.
14591	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14592}
14593
14594// String returns the string representation
14595func (s ListTestGridSessionArtifactsOutput) String() string {
14596	return awsutil.Prettify(s)
14597}
14598
14599// GoString returns the string representation
14600func (s ListTestGridSessionArtifactsOutput) GoString() string {
14601	return s.String()
14602}
14603
14604// SetArtifacts sets the Artifacts field's value.
14605func (s *ListTestGridSessionArtifactsOutput) SetArtifacts(v []*TestGridSessionArtifact) *ListTestGridSessionArtifactsOutput {
14606	s.Artifacts = v
14607	return s
14608}
14609
14610// SetNextToken sets the NextToken field's value.
14611func (s *ListTestGridSessionArtifactsOutput) SetNextToken(v string) *ListTestGridSessionArtifactsOutput {
14612	s.NextToken = &v
14613	return s
14614}
14615
14616type ListTestGridSessionsInput struct {
14617	_ struct{} `type:"structure"`
14618
14619	// Return only sessions created after this time.
14620	CreationTimeAfter *time.Time `locationName:"creationTimeAfter" type:"timestamp"`
14621
14622	// Return only sessions created before this time.
14623	CreationTimeBefore *time.Time `locationName:"creationTimeBefore" type:"timestamp"`
14624
14625	// Return only sessions that ended after this time.
14626	EndTimeAfter *time.Time `locationName:"endTimeAfter" type:"timestamp"`
14627
14628	// Return only sessions that ended before this time.
14629	EndTimeBefore *time.Time `locationName:"endTimeBefore" type:"timestamp"`
14630
14631	// Return only this many results at a time.
14632	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
14633
14634	// Pagination token.
14635	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14636
14637	// ARN of a TestGridProject.
14638	//
14639	// ProjectArn is a required field
14640	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
14641
14642	// Return only sessions in this state.
14643	Status *string `locationName:"status" type:"string" enum:"TestGridSessionStatus"`
14644}
14645
14646// String returns the string representation
14647func (s ListTestGridSessionsInput) String() string {
14648	return awsutil.Prettify(s)
14649}
14650
14651// GoString returns the string representation
14652func (s ListTestGridSessionsInput) GoString() string {
14653	return s.String()
14654}
14655
14656// Validate inspects the fields of the type to determine if they are valid.
14657func (s *ListTestGridSessionsInput) Validate() error {
14658	invalidParams := request.ErrInvalidParams{Context: "ListTestGridSessionsInput"}
14659	if s.MaxResult != nil && *s.MaxResult < 1 {
14660		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
14661	}
14662	if s.NextToken != nil && len(*s.NextToken) < 4 {
14663		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14664	}
14665	if s.ProjectArn == nil {
14666		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
14667	}
14668	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
14669		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
14670	}
14671
14672	if invalidParams.Len() > 0 {
14673		return invalidParams
14674	}
14675	return nil
14676}
14677
14678// SetCreationTimeAfter sets the CreationTimeAfter field's value.
14679func (s *ListTestGridSessionsInput) SetCreationTimeAfter(v time.Time) *ListTestGridSessionsInput {
14680	s.CreationTimeAfter = &v
14681	return s
14682}
14683
14684// SetCreationTimeBefore sets the CreationTimeBefore field's value.
14685func (s *ListTestGridSessionsInput) SetCreationTimeBefore(v time.Time) *ListTestGridSessionsInput {
14686	s.CreationTimeBefore = &v
14687	return s
14688}
14689
14690// SetEndTimeAfter sets the EndTimeAfter field's value.
14691func (s *ListTestGridSessionsInput) SetEndTimeAfter(v time.Time) *ListTestGridSessionsInput {
14692	s.EndTimeAfter = &v
14693	return s
14694}
14695
14696// SetEndTimeBefore sets the EndTimeBefore field's value.
14697func (s *ListTestGridSessionsInput) SetEndTimeBefore(v time.Time) *ListTestGridSessionsInput {
14698	s.EndTimeBefore = &v
14699	return s
14700}
14701
14702// SetMaxResult sets the MaxResult field's value.
14703func (s *ListTestGridSessionsInput) SetMaxResult(v int64) *ListTestGridSessionsInput {
14704	s.MaxResult = &v
14705	return s
14706}
14707
14708// SetNextToken sets the NextToken field's value.
14709func (s *ListTestGridSessionsInput) SetNextToken(v string) *ListTestGridSessionsInput {
14710	s.NextToken = &v
14711	return s
14712}
14713
14714// SetProjectArn sets the ProjectArn field's value.
14715func (s *ListTestGridSessionsInput) SetProjectArn(v string) *ListTestGridSessionsInput {
14716	s.ProjectArn = &v
14717	return s
14718}
14719
14720// SetStatus sets the Status field's value.
14721func (s *ListTestGridSessionsInput) SetStatus(v string) *ListTestGridSessionsInput {
14722	s.Status = &v
14723	return s
14724}
14725
14726type ListTestGridSessionsOutput struct {
14727	_ struct{} `type:"structure"`
14728
14729	// Pagination token.
14730	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14731
14732	// The sessions that match the criteria in a ListTestGridSessionsRequest.
14733	TestGridSessions []*TestGridSession `locationName:"testGridSessions" type:"list"`
14734}
14735
14736// String returns the string representation
14737func (s ListTestGridSessionsOutput) String() string {
14738	return awsutil.Prettify(s)
14739}
14740
14741// GoString returns the string representation
14742func (s ListTestGridSessionsOutput) GoString() string {
14743	return s.String()
14744}
14745
14746// SetNextToken sets the NextToken field's value.
14747func (s *ListTestGridSessionsOutput) SetNextToken(v string) *ListTestGridSessionsOutput {
14748	s.NextToken = &v
14749	return s
14750}
14751
14752// SetTestGridSessions sets the TestGridSessions field's value.
14753func (s *ListTestGridSessionsOutput) SetTestGridSessions(v []*TestGridSession) *ListTestGridSessionsOutput {
14754	s.TestGridSessions = v
14755	return s
14756}
14757
14758// Represents a request to the list tests operation.
14759type ListTestsInput struct {
14760	_ struct{} `type:"structure"`
14761
14762	// The test suite's Amazon Resource Name (ARN).
14763	//
14764	// Arn is a required field
14765	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
14766
14767	// An identifier that was returned from the previous call to this operation,
14768	// which can be used to return the next set of items in the list.
14769	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14770}
14771
14772// String returns the string representation
14773func (s ListTestsInput) String() string {
14774	return awsutil.Prettify(s)
14775}
14776
14777// GoString returns the string representation
14778func (s ListTestsInput) GoString() string {
14779	return s.String()
14780}
14781
14782// Validate inspects the fields of the type to determine if they are valid.
14783func (s *ListTestsInput) Validate() error {
14784	invalidParams := request.ErrInvalidParams{Context: "ListTestsInput"}
14785	if s.Arn == nil {
14786		invalidParams.Add(request.NewErrParamRequired("Arn"))
14787	}
14788	if s.Arn != nil && len(*s.Arn) < 32 {
14789		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
14790	}
14791	if s.NextToken != nil && len(*s.NextToken) < 4 {
14792		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14793	}
14794
14795	if invalidParams.Len() > 0 {
14796		return invalidParams
14797	}
14798	return nil
14799}
14800
14801// SetArn sets the Arn field's value.
14802func (s *ListTestsInput) SetArn(v string) *ListTestsInput {
14803	s.Arn = &v
14804	return s
14805}
14806
14807// SetNextToken sets the NextToken field's value.
14808func (s *ListTestsInput) SetNextToken(v string) *ListTestsInput {
14809	s.NextToken = &v
14810	return s
14811}
14812
14813// Represents the result of a list tests request.
14814type ListTestsOutput struct {
14815	_ struct{} `type:"structure"`
14816
14817	// If the number of items that are returned is significantly large, this is
14818	// an identifier that is also returned. It can be used in a subsequent call
14819	// to this operation to return the next set of items in the list.
14820	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14821
14822	// Information about the tests.
14823	Tests []*Test `locationName:"tests" type:"list"`
14824}
14825
14826// String returns the string representation
14827func (s ListTestsOutput) String() string {
14828	return awsutil.Prettify(s)
14829}
14830
14831// GoString returns the string representation
14832func (s ListTestsOutput) GoString() string {
14833	return s.String()
14834}
14835
14836// SetNextToken sets the NextToken field's value.
14837func (s *ListTestsOutput) SetNextToken(v string) *ListTestsOutput {
14838	s.NextToken = &v
14839	return s
14840}
14841
14842// SetTests sets the Tests field's value.
14843func (s *ListTestsOutput) SetTests(v []*Test) *ListTestsOutput {
14844	s.Tests = v
14845	return s
14846}
14847
14848// Represents a request to the list unique problems operation.
14849type ListUniqueProblemsInput struct {
14850	_ struct{} `type:"structure"`
14851
14852	// The unique problems' ARNs.
14853	//
14854	// Arn is a required field
14855	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
14856
14857	// An identifier that was returned from the previous call to this operation,
14858	// which can be used to return the next set of items in the list.
14859	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14860}
14861
14862// String returns the string representation
14863func (s ListUniqueProblemsInput) String() string {
14864	return awsutil.Prettify(s)
14865}
14866
14867// GoString returns the string representation
14868func (s ListUniqueProblemsInput) GoString() string {
14869	return s.String()
14870}
14871
14872// Validate inspects the fields of the type to determine if they are valid.
14873func (s *ListUniqueProblemsInput) Validate() error {
14874	invalidParams := request.ErrInvalidParams{Context: "ListUniqueProblemsInput"}
14875	if s.Arn == nil {
14876		invalidParams.Add(request.NewErrParamRequired("Arn"))
14877	}
14878	if s.Arn != nil && len(*s.Arn) < 32 {
14879		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
14880	}
14881	if s.NextToken != nil && len(*s.NextToken) < 4 {
14882		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14883	}
14884
14885	if invalidParams.Len() > 0 {
14886		return invalidParams
14887	}
14888	return nil
14889}
14890
14891// SetArn sets the Arn field's value.
14892func (s *ListUniqueProblemsInput) SetArn(v string) *ListUniqueProblemsInput {
14893	s.Arn = &v
14894	return s
14895}
14896
14897// SetNextToken sets the NextToken field's value.
14898func (s *ListUniqueProblemsInput) SetNextToken(v string) *ListUniqueProblemsInput {
14899	s.NextToken = &v
14900	return s
14901}
14902
14903// Represents the result of a list unique problems request.
14904type ListUniqueProblemsOutput struct {
14905	_ struct{} `type:"structure"`
14906
14907	// If the number of items that are returned is significantly large, this is
14908	// an identifier that is also returned. It can be used in a subsequent call
14909	// to this operation to return the next set of items in the list.
14910	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14911
14912	// Information about the unique problems.
14913	//
14914	// Allowed values include:
14915	//
14916	//    * PENDING
14917	//
14918	//    * PASSED
14919	//
14920	//    * WARNED
14921	//
14922	//    * FAILED
14923	//
14924	//    * SKIPPED
14925	//
14926	//    * ERRORED
14927	//
14928	//    * STOPPED
14929	UniqueProblems map[string][]*UniqueProblem `locationName:"uniqueProblems" type:"map"`
14930}
14931
14932// String returns the string representation
14933func (s ListUniqueProblemsOutput) String() string {
14934	return awsutil.Prettify(s)
14935}
14936
14937// GoString returns the string representation
14938func (s ListUniqueProblemsOutput) GoString() string {
14939	return s.String()
14940}
14941
14942// SetNextToken sets the NextToken field's value.
14943func (s *ListUniqueProblemsOutput) SetNextToken(v string) *ListUniqueProblemsOutput {
14944	s.NextToken = &v
14945	return s
14946}
14947
14948// SetUniqueProblems sets the UniqueProblems field's value.
14949func (s *ListUniqueProblemsOutput) SetUniqueProblems(v map[string][]*UniqueProblem) *ListUniqueProblemsOutput {
14950	s.UniqueProblems = v
14951	return s
14952}
14953
14954// Represents a request to the list uploads operation.
14955type ListUploadsInput struct {
14956	_ struct{} `type:"structure"`
14957
14958	// The Amazon Resource Name (ARN) of the project for which you want to list
14959	// uploads.
14960	//
14961	// Arn is a required field
14962	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
14963
14964	// An identifier that was returned from the previous call to this operation,
14965	// which can be used to return the next set of items in the list.
14966	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14967
14968	// The type of upload.
14969	//
14970	// Must be one of the following values:
14971	//
14972	//    * ANDROID_APP
14973	//
14974	//    * IOS_APP
14975	//
14976	//    * WEB_APP
14977	//
14978	//    * EXTERNAL_DATA
14979	//
14980	//    * APPIUM_JAVA_JUNIT_TEST_PACKAGE
14981	//
14982	//    * APPIUM_JAVA_TESTNG_TEST_PACKAGE
14983	//
14984	//    * APPIUM_PYTHON_TEST_PACKAGE
14985	//
14986	//    * APPIUM_NODE_TEST_PACKAGE
14987	//
14988	//    * APPIUM_RUBY_TEST_PACKAGE
14989	//
14990	//    * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
14991	//
14992	//    * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
14993	//
14994	//    * APPIUM_WEB_PYTHON_TEST_PACKAGE
14995	//
14996	//    * APPIUM_WEB_NODE_TEST_PACKAGE
14997	//
14998	//    * APPIUM_WEB_RUBY_TEST_PACKAGE
14999	//
15000	//    * CALABASH_TEST_PACKAGE
15001	//
15002	//    * INSTRUMENTATION_TEST_PACKAGE
15003	//
15004	//    * UIAUTOMATION_TEST_PACKAGE
15005	//
15006	//    * UIAUTOMATOR_TEST_PACKAGE
15007	//
15008	//    * XCTEST_TEST_PACKAGE
15009	//
15010	//    * XCTEST_UI_TEST_PACKAGE
15011	//
15012	//    * APPIUM_JAVA_JUNIT_TEST_SPEC
15013	//
15014	//    * APPIUM_JAVA_TESTNG_TEST_SPEC
15015	//
15016	//    * APPIUM_PYTHON_TEST_SPEC
15017	//
15018	//    * APPIUM_NODE_TEST_SPEC
15019	//
15020	//    * APPIUM_RUBY_TEST_SPEC
15021	//
15022	//    * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
15023	//
15024	//    * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
15025	//
15026	//    * APPIUM_WEB_PYTHON_TEST_SPEC
15027	//
15028	//    * APPIUM_WEB_NODE_TEST_SPEC
15029	//
15030	//    * APPIUM_WEB_RUBY_TEST_SPEC
15031	//
15032	//    * INSTRUMENTATION_TEST_SPEC
15033	//
15034	//    * XCTEST_UI_TEST_SPEC
15035	Type *string `locationName:"type" type:"string" enum:"UploadType"`
15036}
15037
15038// String returns the string representation
15039func (s ListUploadsInput) String() string {
15040	return awsutil.Prettify(s)
15041}
15042
15043// GoString returns the string representation
15044func (s ListUploadsInput) GoString() string {
15045	return s.String()
15046}
15047
15048// Validate inspects the fields of the type to determine if they are valid.
15049func (s *ListUploadsInput) Validate() error {
15050	invalidParams := request.ErrInvalidParams{Context: "ListUploadsInput"}
15051	if s.Arn == nil {
15052		invalidParams.Add(request.NewErrParamRequired("Arn"))
15053	}
15054	if s.Arn != nil && len(*s.Arn) < 32 {
15055		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
15056	}
15057	if s.NextToken != nil && len(*s.NextToken) < 4 {
15058		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
15059	}
15060
15061	if invalidParams.Len() > 0 {
15062		return invalidParams
15063	}
15064	return nil
15065}
15066
15067// SetArn sets the Arn field's value.
15068func (s *ListUploadsInput) SetArn(v string) *ListUploadsInput {
15069	s.Arn = &v
15070	return s
15071}
15072
15073// SetNextToken sets the NextToken field's value.
15074func (s *ListUploadsInput) SetNextToken(v string) *ListUploadsInput {
15075	s.NextToken = &v
15076	return s
15077}
15078
15079// SetType sets the Type field's value.
15080func (s *ListUploadsInput) SetType(v string) *ListUploadsInput {
15081	s.Type = &v
15082	return s
15083}
15084
15085// Represents the result of a list uploads request.
15086type ListUploadsOutput struct {
15087	_ struct{} `type:"structure"`
15088
15089	// If the number of items that are returned is significantly large, this is
15090	// an identifier that is also returned. It can be used in a subsequent call
15091	// to this operation to return the next set of items in the list.
15092	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
15093
15094	// Information about the uploads.
15095	Uploads []*Upload `locationName:"uploads" type:"list"`
15096}
15097
15098// String returns the string representation
15099func (s ListUploadsOutput) String() string {
15100	return awsutil.Prettify(s)
15101}
15102
15103// GoString returns the string representation
15104func (s ListUploadsOutput) GoString() string {
15105	return s.String()
15106}
15107
15108// SetNextToken sets the NextToken field's value.
15109func (s *ListUploadsOutput) SetNextToken(v string) *ListUploadsOutput {
15110	s.NextToken = &v
15111	return s
15112}
15113
15114// SetUploads sets the Uploads field's value.
15115func (s *ListUploadsOutput) SetUploads(v []*Upload) *ListUploadsOutput {
15116	s.Uploads = v
15117	return s
15118}
15119
15120type ListVPCEConfigurationsInput struct {
15121	_ struct{} `type:"structure"`
15122
15123	// An integer that specifies the maximum number of items you want to return
15124	// in the API response.
15125	MaxResults *int64 `locationName:"maxResults" type:"integer"`
15126
15127	// An identifier that was returned from the previous call to this operation,
15128	// which can be used to return the next set of items in the list.
15129	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
15130}
15131
15132// String returns the string representation
15133func (s ListVPCEConfigurationsInput) String() string {
15134	return awsutil.Prettify(s)
15135}
15136
15137// GoString returns the string representation
15138func (s ListVPCEConfigurationsInput) GoString() string {
15139	return s.String()
15140}
15141
15142// Validate inspects the fields of the type to determine if they are valid.
15143func (s *ListVPCEConfigurationsInput) Validate() error {
15144	invalidParams := request.ErrInvalidParams{Context: "ListVPCEConfigurationsInput"}
15145	if s.NextToken != nil && len(*s.NextToken) < 4 {
15146		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
15147	}
15148
15149	if invalidParams.Len() > 0 {
15150		return invalidParams
15151	}
15152	return nil
15153}
15154
15155// SetMaxResults sets the MaxResults field's value.
15156func (s *ListVPCEConfigurationsInput) SetMaxResults(v int64) *ListVPCEConfigurationsInput {
15157	s.MaxResults = &v
15158	return s
15159}
15160
15161// SetNextToken sets the NextToken field's value.
15162func (s *ListVPCEConfigurationsInput) SetNextToken(v string) *ListVPCEConfigurationsInput {
15163	s.NextToken = &v
15164	return s
15165}
15166
15167type ListVPCEConfigurationsOutput struct {
15168	_ struct{} `type:"structure"`
15169
15170	// An identifier that was returned from the previous call to this operation,
15171	// which can be used to return the next set of items in the list.
15172	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
15173
15174	// An array of VPCEConfiguration objects that contain information about your
15175	// VPC endpoint configuration.
15176	VpceConfigurations []*VPCEConfiguration `locationName:"vpceConfigurations" type:"list"`
15177}
15178
15179// String returns the string representation
15180func (s ListVPCEConfigurationsOutput) String() string {
15181	return awsutil.Prettify(s)
15182}
15183
15184// GoString returns the string representation
15185func (s ListVPCEConfigurationsOutput) GoString() string {
15186	return s.String()
15187}
15188
15189// SetNextToken sets the NextToken field's value.
15190func (s *ListVPCEConfigurationsOutput) SetNextToken(v string) *ListVPCEConfigurationsOutput {
15191	s.NextToken = &v
15192	return s
15193}
15194
15195// SetVpceConfigurations sets the VpceConfigurations field's value.
15196func (s *ListVPCEConfigurationsOutput) SetVpceConfigurations(v []*VPCEConfiguration) *ListVPCEConfigurationsOutput {
15197	s.VpceConfigurations = v
15198	return s
15199}
15200
15201// Represents a latitude and longitude pair, expressed in geographic coordinate
15202// system degrees (for example, 47.6204, -122.3491).
15203//
15204// Elevation is currently not supported.
15205type Location struct {
15206	_ struct{} `type:"structure"`
15207
15208	// The latitude.
15209	//
15210	// Latitude is a required field
15211	Latitude *float64 `locationName:"latitude" type:"double" required:"true"`
15212
15213	// The longitude.
15214	//
15215	// Longitude is a required field
15216	Longitude *float64 `locationName:"longitude" type:"double" required:"true"`
15217}
15218
15219// String returns the string representation
15220func (s Location) String() string {
15221	return awsutil.Prettify(s)
15222}
15223
15224// GoString returns the string representation
15225func (s Location) GoString() string {
15226	return s.String()
15227}
15228
15229// Validate inspects the fields of the type to determine if they are valid.
15230func (s *Location) Validate() error {
15231	invalidParams := request.ErrInvalidParams{Context: "Location"}
15232	if s.Latitude == nil {
15233		invalidParams.Add(request.NewErrParamRequired("Latitude"))
15234	}
15235	if s.Longitude == nil {
15236		invalidParams.Add(request.NewErrParamRequired("Longitude"))
15237	}
15238
15239	if invalidParams.Len() > 0 {
15240		return invalidParams
15241	}
15242	return nil
15243}
15244
15245// SetLatitude sets the Latitude field's value.
15246func (s *Location) SetLatitude(v float64) *Location {
15247	s.Latitude = &v
15248	return s
15249}
15250
15251// SetLongitude sets the Longitude field's value.
15252func (s *Location) SetLongitude(v float64) *Location {
15253	s.Longitude = &v
15254	return s
15255}
15256
15257// A number that represents the monetary amount for an offering or transaction.
15258type MonetaryAmount struct {
15259	_ struct{} `type:"structure"`
15260
15261	// The numerical amount of an offering or transaction.
15262	Amount *float64 `locationName:"amount" type:"double"`
15263
15264	// The currency code of a monetary amount. For example, USD means U.S. dollars.
15265	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCode"`
15266}
15267
15268// String returns the string representation
15269func (s MonetaryAmount) String() string {
15270	return awsutil.Prettify(s)
15271}
15272
15273// GoString returns the string representation
15274func (s MonetaryAmount) GoString() string {
15275	return s.String()
15276}
15277
15278// SetAmount sets the Amount field's value.
15279func (s *MonetaryAmount) SetAmount(v float64) *MonetaryAmount {
15280	s.Amount = &v
15281	return s
15282}
15283
15284// SetCurrencyCode sets the CurrencyCode field's value.
15285func (s *MonetaryAmount) SetCurrencyCode(v string) *MonetaryAmount {
15286	s.CurrencyCode = &v
15287	return s
15288}
15289
15290// An array of settings that describes characteristics of a network profile.
15291type NetworkProfile struct {
15292	_ struct{} `type:"structure"`
15293
15294	// The Amazon Resource Name (ARN) of the network profile.
15295	Arn *string `locationName:"arn" min:"32" type:"string"`
15296
15297	// The description of the network profile.
15298	Description *string `locationName:"description" type:"string"`
15299
15300	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
15301	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
15302
15303	// Delay time for all packets to destination in milliseconds as an integer from
15304	// 0 to 2000.
15305	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
15306
15307	// Time variation in the delay of received packets in milliseconds as an integer
15308	// from 0 to 2000.
15309	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
15310
15311	// Proportion of received packets that fail to arrive from 0 to 100 percent.
15312	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
15313
15314	// The name of the network profile.
15315	Name *string `locationName:"name" type:"string"`
15316
15317	// The type of network profile. Valid values are listed here.
15318	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
15319
15320	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
15321	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
15322
15323	// Delay time for all packets to destination in milliseconds as an integer from
15324	// 0 to 2000.
15325	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
15326
15327	// Time variation in the delay of received packets in milliseconds as an integer
15328	// from 0 to 2000.
15329	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
15330
15331	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
15332	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
15333}
15334
15335// String returns the string representation
15336func (s NetworkProfile) String() string {
15337	return awsutil.Prettify(s)
15338}
15339
15340// GoString returns the string representation
15341func (s NetworkProfile) GoString() string {
15342	return s.String()
15343}
15344
15345// SetArn sets the Arn field's value.
15346func (s *NetworkProfile) SetArn(v string) *NetworkProfile {
15347	s.Arn = &v
15348	return s
15349}
15350
15351// SetDescription sets the Description field's value.
15352func (s *NetworkProfile) SetDescription(v string) *NetworkProfile {
15353	s.Description = &v
15354	return s
15355}
15356
15357// SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
15358func (s *NetworkProfile) SetDownlinkBandwidthBits(v int64) *NetworkProfile {
15359	s.DownlinkBandwidthBits = &v
15360	return s
15361}
15362
15363// SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
15364func (s *NetworkProfile) SetDownlinkDelayMs(v int64) *NetworkProfile {
15365	s.DownlinkDelayMs = &v
15366	return s
15367}
15368
15369// SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
15370func (s *NetworkProfile) SetDownlinkJitterMs(v int64) *NetworkProfile {
15371	s.DownlinkJitterMs = &v
15372	return s
15373}
15374
15375// SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
15376func (s *NetworkProfile) SetDownlinkLossPercent(v int64) *NetworkProfile {
15377	s.DownlinkLossPercent = &v
15378	return s
15379}
15380
15381// SetName sets the Name field's value.
15382func (s *NetworkProfile) SetName(v string) *NetworkProfile {
15383	s.Name = &v
15384	return s
15385}
15386
15387// SetType sets the Type field's value.
15388func (s *NetworkProfile) SetType(v string) *NetworkProfile {
15389	s.Type = &v
15390	return s
15391}
15392
15393// SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
15394func (s *NetworkProfile) SetUplinkBandwidthBits(v int64) *NetworkProfile {
15395	s.UplinkBandwidthBits = &v
15396	return s
15397}
15398
15399// SetUplinkDelayMs sets the UplinkDelayMs field's value.
15400func (s *NetworkProfile) SetUplinkDelayMs(v int64) *NetworkProfile {
15401	s.UplinkDelayMs = &v
15402	return s
15403}
15404
15405// SetUplinkJitterMs sets the UplinkJitterMs field's value.
15406func (s *NetworkProfile) SetUplinkJitterMs(v int64) *NetworkProfile {
15407	s.UplinkJitterMs = &v
15408	return s
15409}
15410
15411// SetUplinkLossPercent sets the UplinkLossPercent field's value.
15412func (s *NetworkProfile) SetUplinkLossPercent(v int64) *NetworkProfile {
15413	s.UplinkLossPercent = &v
15414	return s
15415}
15416
15417// Exception gets thrown when a user is not eligible to perform the specified
15418// transaction.
15419type NotEligibleException struct {
15420	_            struct{}                  `type:"structure"`
15421	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15422
15423	// The HTTP response code of a Not Eligible exception.
15424	Message_ *string `locationName:"message" type:"string"`
15425}
15426
15427// String returns the string representation
15428func (s NotEligibleException) String() string {
15429	return awsutil.Prettify(s)
15430}
15431
15432// GoString returns the string representation
15433func (s NotEligibleException) GoString() string {
15434	return s.String()
15435}
15436
15437func newErrorNotEligibleException(v protocol.ResponseMetadata) error {
15438	return &NotEligibleException{
15439		RespMetadata: v,
15440	}
15441}
15442
15443// Code returns the exception type name.
15444func (s *NotEligibleException) Code() string {
15445	return "NotEligibleException"
15446}
15447
15448// Message returns the exception's message.
15449func (s *NotEligibleException) Message() string {
15450	if s.Message_ != nil {
15451		return *s.Message_
15452	}
15453	return ""
15454}
15455
15456// OrigErr always returns nil, satisfies awserr.Error interface.
15457func (s *NotEligibleException) OrigErr() error {
15458	return nil
15459}
15460
15461func (s *NotEligibleException) Error() string {
15462	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15463}
15464
15465// Status code returns the HTTP status code for the request's response error.
15466func (s *NotEligibleException) StatusCode() int {
15467	return s.RespMetadata.StatusCode
15468}
15469
15470// RequestID returns the service's response RequestID for request.
15471func (s *NotEligibleException) RequestID() string {
15472	return s.RespMetadata.RequestID
15473}
15474
15475// The specified entity was not found.
15476type NotFoundException struct {
15477	_            struct{}                  `type:"structure"`
15478	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15479
15480	// Any additional information about the exception.
15481	Message_ *string `locationName:"message" type:"string"`
15482}
15483
15484// String returns the string representation
15485func (s NotFoundException) String() string {
15486	return awsutil.Prettify(s)
15487}
15488
15489// GoString returns the string representation
15490func (s NotFoundException) GoString() string {
15491	return s.String()
15492}
15493
15494func newErrorNotFoundException(v protocol.ResponseMetadata) error {
15495	return &NotFoundException{
15496		RespMetadata: v,
15497	}
15498}
15499
15500// Code returns the exception type name.
15501func (s *NotFoundException) Code() string {
15502	return "NotFoundException"
15503}
15504
15505// Message returns the exception's message.
15506func (s *NotFoundException) Message() string {
15507	if s.Message_ != nil {
15508		return *s.Message_
15509	}
15510	return ""
15511}
15512
15513// OrigErr always returns nil, satisfies awserr.Error interface.
15514func (s *NotFoundException) OrigErr() error {
15515	return nil
15516}
15517
15518func (s *NotFoundException) Error() string {
15519	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15520}
15521
15522// Status code returns the HTTP status code for the request's response error.
15523func (s *NotFoundException) StatusCode() int {
15524	return s.RespMetadata.StatusCode
15525}
15526
15527// RequestID returns the service's response RequestID for request.
15528func (s *NotFoundException) RequestID() string {
15529	return s.RespMetadata.RequestID
15530}
15531
15532// Represents the metadata of a device offering.
15533type Offering struct {
15534	_ struct{} `type:"structure"`
15535
15536	// A string that describes the offering.
15537	Description *string `locationName:"description" type:"string"`
15538
15539	// The ID that corresponds to a device offering.
15540	Id *string `locationName:"id" min:"32" type:"string"`
15541
15542	// The platform of the device (for example, ANDROID or IOS).
15543	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
15544
15545	// Specifies whether there are recurring charges for the offering.
15546	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" type:"list"`
15547
15548	// The type of offering (for example, RECURRING) for a device.
15549	Type *string `locationName:"type" type:"string" enum:"OfferingType"`
15550}
15551
15552// String returns the string representation
15553func (s Offering) String() string {
15554	return awsutil.Prettify(s)
15555}
15556
15557// GoString returns the string representation
15558func (s Offering) GoString() string {
15559	return s.String()
15560}
15561
15562// SetDescription sets the Description field's value.
15563func (s *Offering) SetDescription(v string) *Offering {
15564	s.Description = &v
15565	return s
15566}
15567
15568// SetId sets the Id field's value.
15569func (s *Offering) SetId(v string) *Offering {
15570	s.Id = &v
15571	return s
15572}
15573
15574// SetPlatform sets the Platform field's value.
15575func (s *Offering) SetPlatform(v string) *Offering {
15576	s.Platform = &v
15577	return s
15578}
15579
15580// SetRecurringCharges sets the RecurringCharges field's value.
15581func (s *Offering) SetRecurringCharges(v []*RecurringCharge) *Offering {
15582	s.RecurringCharges = v
15583	return s
15584}
15585
15586// SetType sets the Type field's value.
15587func (s *Offering) SetType(v string) *Offering {
15588	s.Type = &v
15589	return s
15590}
15591
15592// Represents information about an offering promotion.
15593type OfferingPromotion struct {
15594	_ struct{} `type:"structure"`
15595
15596	// A string that describes the offering promotion.
15597	Description *string `locationName:"description" type:"string"`
15598
15599	// The ID of the offering promotion.
15600	Id *string `locationName:"id" min:"4" type:"string"`
15601}
15602
15603// String returns the string representation
15604func (s OfferingPromotion) String() string {
15605	return awsutil.Prettify(s)
15606}
15607
15608// GoString returns the string representation
15609func (s OfferingPromotion) GoString() string {
15610	return s.String()
15611}
15612
15613// SetDescription sets the Description field's value.
15614func (s *OfferingPromotion) SetDescription(v string) *OfferingPromotion {
15615	s.Description = &v
15616	return s
15617}
15618
15619// SetId sets the Id field's value.
15620func (s *OfferingPromotion) SetId(v string) *OfferingPromotion {
15621	s.Id = &v
15622	return s
15623}
15624
15625// The status of the offering.
15626type OfferingStatus struct {
15627	_ struct{} `type:"structure"`
15628
15629	// The date on which the offering is effective.
15630	EffectiveOn *time.Time `locationName:"effectiveOn" type:"timestamp"`
15631
15632	// Represents the metadata of an offering status.
15633	Offering *Offering `locationName:"offering" type:"structure"`
15634
15635	// The number of available devices in the offering.
15636	Quantity *int64 `locationName:"quantity" type:"integer"`
15637
15638	// The type specified for the offering status.
15639	Type *string `locationName:"type" type:"string" enum:"OfferingTransactionType"`
15640}
15641
15642// String returns the string representation
15643func (s OfferingStatus) String() string {
15644	return awsutil.Prettify(s)
15645}
15646
15647// GoString returns the string representation
15648func (s OfferingStatus) GoString() string {
15649	return s.String()
15650}
15651
15652// SetEffectiveOn sets the EffectiveOn field's value.
15653func (s *OfferingStatus) SetEffectiveOn(v time.Time) *OfferingStatus {
15654	s.EffectiveOn = &v
15655	return s
15656}
15657
15658// SetOffering sets the Offering field's value.
15659func (s *OfferingStatus) SetOffering(v *Offering) *OfferingStatus {
15660	s.Offering = v
15661	return s
15662}
15663
15664// SetQuantity sets the Quantity field's value.
15665func (s *OfferingStatus) SetQuantity(v int64) *OfferingStatus {
15666	s.Quantity = &v
15667	return s
15668}
15669
15670// SetType sets the Type field's value.
15671func (s *OfferingStatus) SetType(v string) *OfferingStatus {
15672	s.Type = &v
15673	return s
15674}
15675
15676// Represents the metadata of an offering transaction.
15677type OfferingTransaction struct {
15678	_ struct{} `type:"structure"`
15679
15680	// The cost of an offering transaction.
15681	Cost *MonetaryAmount `locationName:"cost" type:"structure"`
15682
15683	// The date on which an offering transaction was created.
15684	CreatedOn *time.Time `locationName:"createdOn" type:"timestamp"`
15685
15686	// The ID that corresponds to a device offering promotion.
15687	OfferingPromotionId *string `locationName:"offeringPromotionId" min:"4" type:"string"`
15688
15689	// The status of an offering transaction.
15690	OfferingStatus *OfferingStatus `locationName:"offeringStatus" type:"structure"`
15691
15692	// The transaction ID of the offering transaction.
15693	TransactionId *string `locationName:"transactionId" min:"32" type:"string"`
15694}
15695
15696// String returns the string representation
15697func (s OfferingTransaction) String() string {
15698	return awsutil.Prettify(s)
15699}
15700
15701// GoString returns the string representation
15702func (s OfferingTransaction) GoString() string {
15703	return s.String()
15704}
15705
15706// SetCost sets the Cost field's value.
15707func (s *OfferingTransaction) SetCost(v *MonetaryAmount) *OfferingTransaction {
15708	s.Cost = v
15709	return s
15710}
15711
15712// SetCreatedOn sets the CreatedOn field's value.
15713func (s *OfferingTransaction) SetCreatedOn(v time.Time) *OfferingTransaction {
15714	s.CreatedOn = &v
15715	return s
15716}
15717
15718// SetOfferingPromotionId sets the OfferingPromotionId field's value.
15719func (s *OfferingTransaction) SetOfferingPromotionId(v string) *OfferingTransaction {
15720	s.OfferingPromotionId = &v
15721	return s
15722}
15723
15724// SetOfferingStatus sets the OfferingStatus field's value.
15725func (s *OfferingTransaction) SetOfferingStatus(v *OfferingStatus) *OfferingTransaction {
15726	s.OfferingStatus = v
15727	return s
15728}
15729
15730// SetTransactionId sets the TransactionId field's value.
15731func (s *OfferingTransaction) SetTransactionId(v string) *OfferingTransaction {
15732	s.TransactionId = &v
15733	return s
15734}
15735
15736// Represents a specific warning or failure.
15737type Problem struct {
15738	_ struct{} `type:"structure"`
15739
15740	// Information about the associated device.
15741	Device *Device `locationName:"device" type:"structure"`
15742
15743	// Information about the associated job.
15744	Job *ProblemDetail `locationName:"job" type:"structure"`
15745
15746	// A message about the problem's result.
15747	Message *string `locationName:"message" type:"string"`
15748
15749	// The problem's result.
15750	//
15751	// Allowed values include:
15752	//
15753	//    * PENDING
15754	//
15755	//    * PASSED
15756	//
15757	//    * WARNED
15758	//
15759	//    * FAILED
15760	//
15761	//    * SKIPPED
15762	//
15763	//    * ERRORED
15764	//
15765	//    * STOPPED
15766	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
15767
15768	// Information about the associated run.
15769	Run *ProblemDetail `locationName:"run" type:"structure"`
15770
15771	// Information about the associated suite.
15772	Suite *ProblemDetail `locationName:"suite" type:"structure"`
15773
15774	// Information about the associated test.
15775	Test *ProblemDetail `locationName:"test" type:"structure"`
15776}
15777
15778// String returns the string representation
15779func (s Problem) String() string {
15780	return awsutil.Prettify(s)
15781}
15782
15783// GoString returns the string representation
15784func (s Problem) GoString() string {
15785	return s.String()
15786}
15787
15788// SetDevice sets the Device field's value.
15789func (s *Problem) SetDevice(v *Device) *Problem {
15790	s.Device = v
15791	return s
15792}
15793
15794// SetJob sets the Job field's value.
15795func (s *Problem) SetJob(v *ProblemDetail) *Problem {
15796	s.Job = v
15797	return s
15798}
15799
15800// SetMessage sets the Message field's value.
15801func (s *Problem) SetMessage(v string) *Problem {
15802	s.Message = &v
15803	return s
15804}
15805
15806// SetResult sets the Result field's value.
15807func (s *Problem) SetResult(v string) *Problem {
15808	s.Result = &v
15809	return s
15810}
15811
15812// SetRun sets the Run field's value.
15813func (s *Problem) SetRun(v *ProblemDetail) *Problem {
15814	s.Run = v
15815	return s
15816}
15817
15818// SetSuite sets the Suite field's value.
15819func (s *Problem) SetSuite(v *ProblemDetail) *Problem {
15820	s.Suite = v
15821	return s
15822}
15823
15824// SetTest sets the Test field's value.
15825func (s *Problem) SetTest(v *ProblemDetail) *Problem {
15826	s.Test = v
15827	return s
15828}
15829
15830// Information about a problem detail.
15831type ProblemDetail struct {
15832	_ struct{} `type:"structure"`
15833
15834	// The problem detail's ARN.
15835	Arn *string `locationName:"arn" min:"32" type:"string"`
15836
15837	// The problem detail's name.
15838	Name *string `locationName:"name" type:"string"`
15839}
15840
15841// String returns the string representation
15842func (s ProblemDetail) String() string {
15843	return awsutil.Prettify(s)
15844}
15845
15846// GoString returns the string representation
15847func (s ProblemDetail) GoString() string {
15848	return s.String()
15849}
15850
15851// SetArn sets the Arn field's value.
15852func (s *ProblemDetail) SetArn(v string) *ProblemDetail {
15853	s.Arn = &v
15854	return s
15855}
15856
15857// SetName sets the Name field's value.
15858func (s *ProblemDetail) SetName(v string) *ProblemDetail {
15859	s.Name = &v
15860	return s
15861}
15862
15863// Represents an operating-system neutral workspace for running and managing
15864// tests.
15865type Project struct {
15866	_ struct{} `type:"structure"`
15867
15868	// The project's ARN.
15869	Arn *string `locationName:"arn" min:"32" type:"string"`
15870
15871	// When the project was created.
15872	Created *time.Time `locationName:"created" type:"timestamp"`
15873
15874	// The default number of minutes (at the project level) a test run executes
15875	// before it times out. The default value is 150 minutes.
15876	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
15877
15878	// The project's name.
15879	Name *string `locationName:"name" type:"string"`
15880}
15881
15882// String returns the string representation
15883func (s Project) String() string {
15884	return awsutil.Prettify(s)
15885}
15886
15887// GoString returns the string representation
15888func (s Project) GoString() string {
15889	return s.String()
15890}
15891
15892// SetArn sets the Arn field's value.
15893func (s *Project) SetArn(v string) *Project {
15894	s.Arn = &v
15895	return s
15896}
15897
15898// SetCreated sets the Created field's value.
15899func (s *Project) SetCreated(v time.Time) *Project {
15900	s.Created = &v
15901	return s
15902}
15903
15904// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
15905func (s *Project) SetDefaultJobTimeoutMinutes(v int64) *Project {
15906	s.DefaultJobTimeoutMinutes = &v
15907	return s
15908}
15909
15910// SetName sets the Name field's value.
15911func (s *Project) SetName(v string) *Project {
15912	s.Name = &v
15913	return s
15914}
15915
15916// Represents a request for a purchase offering.
15917type PurchaseOfferingInput struct {
15918	_ struct{} `type:"structure"`
15919
15920	// The ID of the offering.
15921	//
15922	// OfferingId is a required field
15923	OfferingId *string `locationName:"offeringId" min:"32" type:"string" required:"true"`
15924
15925	// The ID of the offering promotion to be applied to the purchase.
15926	OfferingPromotionId *string `locationName:"offeringPromotionId" min:"4" type:"string"`
15927
15928	// The number of device slots to purchase in an offering request.
15929	//
15930	// Quantity is a required field
15931	Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
15932}
15933
15934// String returns the string representation
15935func (s PurchaseOfferingInput) String() string {
15936	return awsutil.Prettify(s)
15937}
15938
15939// GoString returns the string representation
15940func (s PurchaseOfferingInput) GoString() string {
15941	return s.String()
15942}
15943
15944// Validate inspects the fields of the type to determine if they are valid.
15945func (s *PurchaseOfferingInput) Validate() error {
15946	invalidParams := request.ErrInvalidParams{Context: "PurchaseOfferingInput"}
15947	if s.OfferingId == nil {
15948		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
15949	}
15950	if s.OfferingId != nil && len(*s.OfferingId) < 32 {
15951		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 32))
15952	}
15953	if s.OfferingPromotionId != nil && len(*s.OfferingPromotionId) < 4 {
15954		invalidParams.Add(request.NewErrParamMinLen("OfferingPromotionId", 4))
15955	}
15956	if s.Quantity == nil {
15957		invalidParams.Add(request.NewErrParamRequired("Quantity"))
15958	}
15959
15960	if invalidParams.Len() > 0 {
15961		return invalidParams
15962	}
15963	return nil
15964}
15965
15966// SetOfferingId sets the OfferingId field's value.
15967func (s *PurchaseOfferingInput) SetOfferingId(v string) *PurchaseOfferingInput {
15968	s.OfferingId = &v
15969	return s
15970}
15971
15972// SetOfferingPromotionId sets the OfferingPromotionId field's value.
15973func (s *PurchaseOfferingInput) SetOfferingPromotionId(v string) *PurchaseOfferingInput {
15974	s.OfferingPromotionId = &v
15975	return s
15976}
15977
15978// SetQuantity sets the Quantity field's value.
15979func (s *PurchaseOfferingInput) SetQuantity(v int64) *PurchaseOfferingInput {
15980	s.Quantity = &v
15981	return s
15982}
15983
15984// The result of the purchase offering (for example, success or failure).
15985type PurchaseOfferingOutput struct {
15986	_ struct{} `type:"structure"`
15987
15988	// Represents the offering transaction for the purchase result.
15989	OfferingTransaction *OfferingTransaction `locationName:"offeringTransaction" type:"structure"`
15990}
15991
15992// String returns the string representation
15993func (s PurchaseOfferingOutput) String() string {
15994	return awsutil.Prettify(s)
15995}
15996
15997// GoString returns the string representation
15998func (s PurchaseOfferingOutput) GoString() string {
15999	return s.String()
16000}
16001
16002// SetOfferingTransaction sets the OfferingTransaction field's value.
16003func (s *PurchaseOfferingOutput) SetOfferingTransaction(v *OfferingTransaction) *PurchaseOfferingOutput {
16004	s.OfferingTransaction = v
16005	return s
16006}
16007
16008// Represents the set of radios and their states on a device. Examples of radios
16009// include Wi-Fi, GPS, Bluetooth, and NFC.
16010type Radios struct {
16011	_ struct{} `type:"structure"`
16012
16013	// True if Bluetooth is enabled at the beginning of the test. Otherwise, false.
16014	Bluetooth *bool `locationName:"bluetooth" type:"boolean"`
16015
16016	// True if GPS is enabled at the beginning of the test. Otherwise, false.
16017	Gps *bool `locationName:"gps" type:"boolean"`
16018
16019	// True if NFC is enabled at the beginning of the test. Otherwise, false.
16020	Nfc *bool `locationName:"nfc" type:"boolean"`
16021
16022	// True if Wi-Fi is enabled at the beginning of the test. Otherwise, false.
16023	Wifi *bool `locationName:"wifi" type:"boolean"`
16024}
16025
16026// String returns the string representation
16027func (s Radios) String() string {
16028	return awsutil.Prettify(s)
16029}
16030
16031// GoString returns the string representation
16032func (s Radios) GoString() string {
16033	return s.String()
16034}
16035
16036// SetBluetooth sets the Bluetooth field's value.
16037func (s *Radios) SetBluetooth(v bool) *Radios {
16038	s.Bluetooth = &v
16039	return s
16040}
16041
16042// SetGps sets the Gps field's value.
16043func (s *Radios) SetGps(v bool) *Radios {
16044	s.Gps = &v
16045	return s
16046}
16047
16048// SetNfc sets the Nfc field's value.
16049func (s *Radios) SetNfc(v bool) *Radios {
16050	s.Nfc = &v
16051	return s
16052}
16053
16054// SetWifi sets the Wifi field's value.
16055func (s *Radios) SetWifi(v bool) *Radios {
16056	s.Wifi = &v
16057	return s
16058}
16059
16060// Specifies whether charges for devices are recurring.
16061type RecurringCharge struct {
16062	_ struct{} `type:"structure"`
16063
16064	// The cost of the recurring charge.
16065	Cost *MonetaryAmount `locationName:"cost" type:"structure"`
16066
16067	// The frequency in which charges recur.
16068	Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
16069}
16070
16071// String returns the string representation
16072func (s RecurringCharge) String() string {
16073	return awsutil.Prettify(s)
16074}
16075
16076// GoString returns the string representation
16077func (s RecurringCharge) GoString() string {
16078	return s.String()
16079}
16080
16081// SetCost sets the Cost field's value.
16082func (s *RecurringCharge) SetCost(v *MonetaryAmount) *RecurringCharge {
16083	s.Cost = v
16084	return s
16085}
16086
16087// SetFrequency sets the Frequency field's value.
16088func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
16089	s.Frequency = &v
16090	return s
16091}
16092
16093// Represents information about the remote access session.
16094type RemoteAccessSession struct {
16095	_ struct{} `type:"structure"`
16096
16097	// The Amazon Resource Name (ARN) of the remote access session.
16098	Arn *string `locationName:"arn" min:"32" type:"string"`
16099
16100	// The billing method of the remote access session. Possible values include
16101	// METERED or UNMETERED. For more information about metered devices, see AWS
16102	// Device Farm terminology (https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology).
16103	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
16104
16105	// Unique identifier of your client for the remote access session. Only returned
16106	// if remote debugging is enabled for the remote access session.
16107	//
16108	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
16109	ClientId *string `locationName:"clientId" type:"string"`
16110
16111	// The date and time the remote access session was created.
16112	Created *time.Time `locationName:"created" type:"timestamp"`
16113
16114	// The device (phone or tablet) used in the remote access session.
16115	Device *Device `locationName:"device" type:"structure"`
16116
16117	// The number of minutes a device is used in a remote access session (including
16118	// setup and teardown minutes).
16119	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
16120
16121	// Unique device identifier for the remote device. Only returned if remote debugging
16122	// is enabled for the remote access session.
16123	//
16124	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
16125	DeviceUdid *string `locationName:"deviceUdid" type:"string"`
16126
16127	// The endpoint for the remote access sesssion.
16128	Endpoint *string `locationName:"endpoint" type:"string"`
16129
16130	// IP address of the EC2 host where you need to connect to remotely debug devices.
16131	// Only returned if remote debugging is enabled for the remote access session.
16132	//
16133	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
16134	HostAddress *string `locationName:"hostAddress" type:"string"`
16135
16136	// The ARN of the instance.
16137	InstanceArn *string `locationName:"instanceArn" min:"32" type:"string"`
16138
16139	// The interaction mode of the remote access session. Valid values are:
16140	//
16141	//    * INTERACTIVE: You can interact with the iOS device by viewing, touching,
16142	//    and rotating the screen. You cannot run XCUITest framework-based tests
16143	//    in this mode.
16144	//
16145	//    * NO_VIDEO: You are connected to the device, but cannot interact with
16146	//    it or view the screen. This mode has the fastest test execution speed.
16147	//    You can run XCUITest framework-based tests in this mode.
16148	//
16149	//    * VIDEO_ONLY: You can view the screen, but cannot touch or rotate it.
16150	//    You can run XCUITest framework-based tests and watch the screen in this
16151	//    mode.
16152	InteractionMode *string `locationName:"interactionMode" type:"string" enum:"InteractionMode"`
16153
16154	// A message about the remote access session.
16155	Message *string `locationName:"message" type:"string"`
16156
16157	// The name of the remote access session.
16158	Name *string `locationName:"name" type:"string"`
16159
16160	// This flag is set to true if remote debugging is enabled for the remote access
16161	// session.
16162	//
16163	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
16164	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
16165
16166	// The ARN for the app to be recorded in the remote access session.
16167	RemoteRecordAppArn *string `locationName:"remoteRecordAppArn" min:"32" type:"string"`
16168
16169	// This flag is set to true if remote recording is enabled for the remote access
16170	// session.
16171	RemoteRecordEnabled *bool `locationName:"remoteRecordEnabled" type:"boolean"`
16172
16173	// The result of the remote access session. Can be any of the following:
16174	//
16175	//    * PENDING.
16176	//
16177	//    * PASSED.
16178	//
16179	//    * WARNED.
16180	//
16181	//    * FAILED.
16182	//
16183	//    * SKIPPED.
16184	//
16185	//    * ERRORED.
16186	//
16187	//    * STOPPED.
16188	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
16189
16190	// When set to true, for private devices, Device Farm does not sign your app
16191	// again. For public devices, Device Farm always signs your apps again.
16192	//
16193	// For more information about how Device Farm re-signs your apps, see Do you
16194	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
16195	// Farm FAQs.
16196	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
16197
16198	// The date and time the remote access session was started.
16199	Started *time.Time `locationName:"started" type:"timestamp"`
16200
16201	// The status of the remote access session. Can be any of the following:
16202	//
16203	//    * PENDING.
16204	//
16205	//    * PENDING_CONCURRENCY.
16206	//
16207	//    * PENDING_DEVICE.
16208	//
16209	//    * PROCESSING.
16210	//
16211	//    * SCHEDULING.
16212	//
16213	//    * PREPARING.
16214	//
16215	//    * RUNNING.
16216	//
16217	//    * COMPLETED.
16218	//
16219	//    * STOPPING.
16220	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
16221
16222	// The date and time the remote access session was stopped.
16223	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
16224}
16225
16226// String returns the string representation
16227func (s RemoteAccessSession) String() string {
16228	return awsutil.Prettify(s)
16229}
16230
16231// GoString returns the string representation
16232func (s RemoteAccessSession) GoString() string {
16233	return s.String()
16234}
16235
16236// SetArn sets the Arn field's value.
16237func (s *RemoteAccessSession) SetArn(v string) *RemoteAccessSession {
16238	s.Arn = &v
16239	return s
16240}
16241
16242// SetBillingMethod sets the BillingMethod field's value.
16243func (s *RemoteAccessSession) SetBillingMethod(v string) *RemoteAccessSession {
16244	s.BillingMethod = &v
16245	return s
16246}
16247
16248// SetClientId sets the ClientId field's value.
16249func (s *RemoteAccessSession) SetClientId(v string) *RemoteAccessSession {
16250	s.ClientId = &v
16251	return s
16252}
16253
16254// SetCreated sets the Created field's value.
16255func (s *RemoteAccessSession) SetCreated(v time.Time) *RemoteAccessSession {
16256	s.Created = &v
16257	return s
16258}
16259
16260// SetDevice sets the Device field's value.
16261func (s *RemoteAccessSession) SetDevice(v *Device) *RemoteAccessSession {
16262	s.Device = v
16263	return s
16264}
16265
16266// SetDeviceMinutes sets the DeviceMinutes field's value.
16267func (s *RemoteAccessSession) SetDeviceMinutes(v *DeviceMinutes) *RemoteAccessSession {
16268	s.DeviceMinutes = v
16269	return s
16270}
16271
16272// SetDeviceUdid sets the DeviceUdid field's value.
16273func (s *RemoteAccessSession) SetDeviceUdid(v string) *RemoteAccessSession {
16274	s.DeviceUdid = &v
16275	return s
16276}
16277
16278// SetEndpoint sets the Endpoint field's value.
16279func (s *RemoteAccessSession) SetEndpoint(v string) *RemoteAccessSession {
16280	s.Endpoint = &v
16281	return s
16282}
16283
16284// SetHostAddress sets the HostAddress field's value.
16285func (s *RemoteAccessSession) SetHostAddress(v string) *RemoteAccessSession {
16286	s.HostAddress = &v
16287	return s
16288}
16289
16290// SetInstanceArn sets the InstanceArn field's value.
16291func (s *RemoteAccessSession) SetInstanceArn(v string) *RemoteAccessSession {
16292	s.InstanceArn = &v
16293	return s
16294}
16295
16296// SetInteractionMode sets the InteractionMode field's value.
16297func (s *RemoteAccessSession) SetInteractionMode(v string) *RemoteAccessSession {
16298	s.InteractionMode = &v
16299	return s
16300}
16301
16302// SetMessage sets the Message field's value.
16303func (s *RemoteAccessSession) SetMessage(v string) *RemoteAccessSession {
16304	s.Message = &v
16305	return s
16306}
16307
16308// SetName sets the Name field's value.
16309func (s *RemoteAccessSession) SetName(v string) *RemoteAccessSession {
16310	s.Name = &v
16311	return s
16312}
16313
16314// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
16315func (s *RemoteAccessSession) SetRemoteDebugEnabled(v bool) *RemoteAccessSession {
16316	s.RemoteDebugEnabled = &v
16317	return s
16318}
16319
16320// SetRemoteRecordAppArn sets the RemoteRecordAppArn field's value.
16321func (s *RemoteAccessSession) SetRemoteRecordAppArn(v string) *RemoteAccessSession {
16322	s.RemoteRecordAppArn = &v
16323	return s
16324}
16325
16326// SetRemoteRecordEnabled sets the RemoteRecordEnabled field's value.
16327func (s *RemoteAccessSession) SetRemoteRecordEnabled(v bool) *RemoteAccessSession {
16328	s.RemoteRecordEnabled = &v
16329	return s
16330}
16331
16332// SetResult sets the Result field's value.
16333func (s *RemoteAccessSession) SetResult(v string) *RemoteAccessSession {
16334	s.Result = &v
16335	return s
16336}
16337
16338// SetSkipAppResign sets the SkipAppResign field's value.
16339func (s *RemoteAccessSession) SetSkipAppResign(v bool) *RemoteAccessSession {
16340	s.SkipAppResign = &v
16341	return s
16342}
16343
16344// SetStarted sets the Started field's value.
16345func (s *RemoteAccessSession) SetStarted(v time.Time) *RemoteAccessSession {
16346	s.Started = &v
16347	return s
16348}
16349
16350// SetStatus sets the Status field's value.
16351func (s *RemoteAccessSession) SetStatus(v string) *RemoteAccessSession {
16352	s.Status = &v
16353	return s
16354}
16355
16356// SetStopped sets the Stopped field's value.
16357func (s *RemoteAccessSession) SetStopped(v time.Time) *RemoteAccessSession {
16358	s.Stopped = &v
16359	return s
16360}
16361
16362// A request that represents an offering renewal.
16363type RenewOfferingInput struct {
16364	_ struct{} `type:"structure"`
16365
16366	// The ID of a request to renew an offering.
16367	//
16368	// OfferingId is a required field
16369	OfferingId *string `locationName:"offeringId" min:"32" type:"string" required:"true"`
16370
16371	// The quantity requested in an offering renewal.
16372	//
16373	// Quantity is a required field
16374	Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
16375}
16376
16377// String returns the string representation
16378func (s RenewOfferingInput) String() string {
16379	return awsutil.Prettify(s)
16380}
16381
16382// GoString returns the string representation
16383func (s RenewOfferingInput) GoString() string {
16384	return s.String()
16385}
16386
16387// Validate inspects the fields of the type to determine if they are valid.
16388func (s *RenewOfferingInput) Validate() error {
16389	invalidParams := request.ErrInvalidParams{Context: "RenewOfferingInput"}
16390	if s.OfferingId == nil {
16391		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
16392	}
16393	if s.OfferingId != nil && len(*s.OfferingId) < 32 {
16394		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 32))
16395	}
16396	if s.Quantity == nil {
16397		invalidParams.Add(request.NewErrParamRequired("Quantity"))
16398	}
16399
16400	if invalidParams.Len() > 0 {
16401		return invalidParams
16402	}
16403	return nil
16404}
16405
16406// SetOfferingId sets the OfferingId field's value.
16407func (s *RenewOfferingInput) SetOfferingId(v string) *RenewOfferingInput {
16408	s.OfferingId = &v
16409	return s
16410}
16411
16412// SetQuantity sets the Quantity field's value.
16413func (s *RenewOfferingInput) SetQuantity(v int64) *RenewOfferingInput {
16414	s.Quantity = &v
16415	return s
16416}
16417
16418// The result of a renewal offering.
16419type RenewOfferingOutput struct {
16420	_ struct{} `type:"structure"`
16421
16422	// Represents the status of the offering transaction for the renewal.
16423	OfferingTransaction *OfferingTransaction `locationName:"offeringTransaction" type:"structure"`
16424}
16425
16426// String returns the string representation
16427func (s RenewOfferingOutput) String() string {
16428	return awsutil.Prettify(s)
16429}
16430
16431// GoString returns the string representation
16432func (s RenewOfferingOutput) GoString() string {
16433	return s.String()
16434}
16435
16436// SetOfferingTransaction sets the OfferingTransaction field's value.
16437func (s *RenewOfferingOutput) SetOfferingTransaction(v *OfferingTransaction) *RenewOfferingOutput {
16438	s.OfferingTransaction = v
16439	return s
16440}
16441
16442// Represents the screen resolution of a device in height and width, expressed
16443// in pixels.
16444type Resolution struct {
16445	_ struct{} `type:"structure"`
16446
16447	// The screen resolution's height, expressed in pixels.
16448	Height *int64 `locationName:"height" type:"integer"`
16449
16450	// The screen resolution's width, expressed in pixels.
16451	Width *int64 `locationName:"width" type:"integer"`
16452}
16453
16454// String returns the string representation
16455func (s Resolution) String() string {
16456	return awsutil.Prettify(s)
16457}
16458
16459// GoString returns the string representation
16460func (s Resolution) GoString() string {
16461	return s.String()
16462}
16463
16464// SetHeight sets the Height field's value.
16465func (s *Resolution) SetHeight(v int64) *Resolution {
16466	s.Height = &v
16467	return s
16468}
16469
16470// SetWidth sets the Width field's value.
16471func (s *Resolution) SetWidth(v int64) *Resolution {
16472	s.Width = &v
16473	return s
16474}
16475
16476// Represents a condition for a device pool.
16477type Rule struct {
16478	_ struct{} `type:"structure"`
16479
16480	// The rule's stringified attribute. For example, specify the value as "\"abc\"".
16481	//
16482	// The supported operators for each attribute are provided in the following
16483	// list.
16484	//
16485	// APPIUM_VERSION
16486	//
16487	// The Appium version for the test.
16488	//
16489	// Supported operators: CONTAINS
16490	//
16491	// ARN
16492	//
16493	// The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example.
16494	//
16495	// Supported operators: EQUALS, IN, NOT_IN
16496	//
16497	// AVAILABILITY
16498	//
16499	// The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE,
16500	// BUSY, or TEMPORARY_NOT_AVAILABLE.
16501	//
16502	// Supported operators: EQUALS
16503	//
16504	// FLEET_TYPE
16505	//
16506	// The fleet type. Valid values are PUBLIC or PRIVATE.
16507	//
16508	// Supported operators: EQUALS
16509	//
16510	// FORM_FACTOR
16511	//
16512	// The device form factor. Valid values are PHONE or TABLET.
16513	//
16514	// Supported operators: EQUALS, IN, NOT_IN
16515	//
16516	// INSTANCE_ARN
16517	//
16518	// The Amazon Resource Name (ARN) of the device instance.
16519	//
16520	// Supported operators: IN, NOT_IN
16521	//
16522	// INSTANCE_LABELS
16523	//
16524	// The label of the device instance.
16525	//
16526	// Supported operators: CONTAINS
16527	//
16528	// MANUFACTURER
16529	//
16530	// The device manufacturer (for example, Apple).
16531	//
16532	// Supported operators: EQUALS, IN, NOT_IN
16533	//
16534	// MODEL
16535	//
16536	// The device model, such as Apple iPad Air 2 or Google Pixel.
16537	//
16538	// Supported operators: CONTAINS, EQUALS, IN, NOT_IN
16539	//
16540	// OS_VERSION
16541	//
16542	// The operating system version (for example, 10.3.2).
16543	//
16544	// Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN,
16545	// LESS_THAN_OR_EQUALS, NOT_IN
16546	//
16547	// PLATFORM
16548	//
16549	// The device platform. Valid values are ANDROID or IOS.
16550	//
16551	// Supported operators: EQUALS, IN, NOT_IN
16552	//
16553	// REMOTE_ACCESS_ENABLED
16554	//
16555	// Whether the device is enabled for remote access. Valid values are TRUE or
16556	// FALSE.
16557	//
16558	// Supported operators: EQUALS
16559	//
16560	// REMOTE_DEBUG_ENABLED
16561	//
16562	// Whether the device is enabled for remote debugging. Valid values are TRUE
16563	// or FALSE.
16564	//
16565	// Supported operators: EQUALS
16566	//
16567	// Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
16568	// this filter is ignored.
16569	Attribute *string `locationName:"attribute" type:"string" enum:"DeviceAttribute"`
16570
16571	// Specifies how Device Farm compares the rule's attribute to the value. For
16572	// the operators that are supported by each attribute, see the attribute descriptions.
16573	Operator *string `locationName:"operator" type:"string" enum:"RuleOperator"`
16574
16575	// The rule's value.
16576	Value *string `locationName:"value" type:"string"`
16577}
16578
16579// String returns the string representation
16580func (s Rule) String() string {
16581	return awsutil.Prettify(s)
16582}
16583
16584// GoString returns the string representation
16585func (s Rule) GoString() string {
16586	return s.String()
16587}
16588
16589// SetAttribute sets the Attribute field's value.
16590func (s *Rule) SetAttribute(v string) *Rule {
16591	s.Attribute = &v
16592	return s
16593}
16594
16595// SetOperator sets the Operator field's value.
16596func (s *Rule) SetOperator(v string) *Rule {
16597	s.Operator = &v
16598	return s
16599}
16600
16601// SetValue sets the Value field's value.
16602func (s *Rule) SetValue(v string) *Rule {
16603	s.Value = &v
16604	return s
16605}
16606
16607// Represents a test run on a set of devices with a given app package, test
16608// parameters, and so on.
16609type Run struct {
16610	_ struct{} `type:"structure"`
16611
16612	// An app to upload or that has been uploaded.
16613	AppUpload *string `locationName:"appUpload" min:"32" type:"string"`
16614
16615	// The run's ARN.
16616	Arn *string `locationName:"arn" min:"32" type:"string"`
16617
16618	// Specifies the billing method for a test run: metered or unmetered. If the
16619	// parameter is not specified, the default value is metered.
16620	//
16621	// If you have unmetered device slots, you must set this to unmetered to use
16622	// them. Otherwise, the run is counted toward metered device minutes.
16623	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
16624
16625	// The total number of completed jobs.
16626	CompletedJobs *int64 `locationName:"completedJobs" type:"integer"`
16627
16628	// The run's result counters.
16629	Counters *Counters `locationName:"counters" type:"structure"`
16630
16631	// When the run was created.
16632	Created *time.Time `locationName:"created" type:"timestamp"`
16633
16634	// Output CustomerArtifactPaths object for the test run.
16635	CustomerArtifactPaths *CustomerArtifactPaths `locationName:"customerArtifactPaths" type:"structure"`
16636
16637	// Represents the total (metered or unmetered) minutes used by the test run.
16638	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
16639
16640	// The ARN of the device pool for the run.
16641	DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string"`
16642
16643	// The results of a device filter used to select the devices for a test run.
16644	DeviceSelectionResult *DeviceSelectionResult `locationName:"deviceSelectionResult" type:"structure"`
16645
16646	// For fuzz tests, this is the number of events, between 1 and 10000, that the
16647	// UI fuzz test should perform.
16648	EventCount *int64 `locationName:"eventCount" type:"integer"`
16649
16650	// The number of minutes the job executes before it times out.
16651	JobTimeoutMinutes *int64 `locationName:"jobTimeoutMinutes" type:"integer"`
16652
16653	// Information about the locale that is used for the run.
16654	Locale *string `locationName:"locale" type:"string"`
16655
16656	// Information about the location that is used for the run.
16657	Location *Location `locationName:"location" type:"structure"`
16658
16659	// A message about the run's result.
16660	Message *string `locationName:"message" type:"string"`
16661
16662	// The run's name.
16663	Name *string `locationName:"name" type:"string"`
16664
16665	// The network profile being used for a test run.
16666	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
16667
16668	// Read-only URL for an object in an S3 bucket where you can get the parsing
16669	// results of the test package. If the test package doesn't parse, the reason
16670	// why it doesn't parse appears in the file that this URL points to.
16671	ParsingResultUrl *string `locationName:"parsingResultUrl" type:"string"`
16672
16673	// The run's platform.
16674	//
16675	// Allowed values include:
16676	//
16677	//    * ANDROID
16678	//
16679	//    * IOS
16680	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
16681
16682	// Information about the radio states for the run.
16683	Radios *Radios `locationName:"radios" type:"structure"`
16684
16685	// The run's result.
16686	//
16687	// Allowed values include:
16688	//
16689	//    * PENDING
16690	//
16691	//    * PASSED
16692	//
16693	//    * WARNED
16694	//
16695	//    * FAILED
16696	//
16697	//    * SKIPPED
16698	//
16699	//    * ERRORED
16700	//
16701	//    * STOPPED
16702	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
16703
16704	// Supporting field for the result field. Set only if result is SKIPPED. PARSING_FAILED
16705	// if the result is skipped because of test package parsing failure.
16706	ResultCode *string `locationName:"resultCode" type:"string" enum:"ExecutionResultCode"`
16707
16708	// For fuzz tests, this is a seed to use for randomizing the UI fuzz test. Using
16709	// the same seed value between tests ensures identical event sequences.
16710	Seed *int64 `locationName:"seed" type:"integer"`
16711
16712	// When set to true, for private devices, Device Farm does not sign your app
16713	// again. For public devices, Device Farm always signs your apps again.
16714	//
16715	// For more information about how Device Farm re-signs your apps, see Do you
16716	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
16717	// Farm FAQs.
16718	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
16719
16720	// The run's start time.
16721	Started *time.Time `locationName:"started" type:"timestamp"`
16722
16723	// The run's status.
16724	//
16725	// Allowed values include:
16726	//
16727	//    * PENDING
16728	//
16729	//    * PENDING_CONCURRENCY
16730	//
16731	//    * PENDING_DEVICE
16732	//
16733	//    * PROCESSING
16734	//
16735	//    * SCHEDULING
16736	//
16737	//    * PREPARING
16738	//
16739	//    * RUNNING
16740	//
16741	//    * COMPLETED
16742	//
16743	//    * STOPPING
16744	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
16745
16746	// The run's stop time.
16747	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
16748
16749	// The ARN of the YAML-formatted test specification for the run.
16750	TestSpecArn *string `locationName:"testSpecArn" min:"32" type:"string"`
16751
16752	// The total number of jobs for the run.
16753	TotalJobs *int64 `locationName:"totalJobs" type:"integer"`
16754
16755	// The run's type.
16756	//
16757	// Must be one of the following values:
16758	//
16759	//    * BUILTIN_FUZZ
16760	//
16761	//    * BUILTIN_EXPLORER For Android, an app explorer that traverses an Android
16762	//    app, interacting with it and capturing screenshots at the same time.
16763	//
16764	//    * APPIUM_JAVA_JUNIT
16765	//
16766	//    * APPIUM_JAVA_TESTNG
16767	//
16768	//    * APPIUM_PYTHON
16769	//
16770	//    * APPIUM_NODE
16771	//
16772	//    * APPIUM_RUBY
16773	//
16774	//    * APPIUM_WEB_JAVA_JUNIT
16775	//
16776	//    * APPIUM_WEB_JAVA_TESTNG
16777	//
16778	//    * APPIUM_WEB_PYTHON
16779	//
16780	//    * APPIUM_WEB_NODE
16781	//
16782	//    * APPIUM_WEB_RUBY
16783	//
16784	//    * CALABASH
16785	//
16786	//    * INSTRUMENTATION
16787	//
16788	//    * UIAUTOMATION
16789	//
16790	//    * UIAUTOMATOR
16791	//
16792	//    * XCTEST
16793	//
16794	//    * XCTEST_UI
16795	Type *string `locationName:"type" type:"string" enum:"TestType"`
16796
16797	// The Device Farm console URL for the recording of the run.
16798	WebUrl *string `locationName:"webUrl" type:"string"`
16799}
16800
16801// String returns the string representation
16802func (s Run) String() string {
16803	return awsutil.Prettify(s)
16804}
16805
16806// GoString returns the string representation
16807func (s Run) GoString() string {
16808	return s.String()
16809}
16810
16811// SetAppUpload sets the AppUpload field's value.
16812func (s *Run) SetAppUpload(v string) *Run {
16813	s.AppUpload = &v
16814	return s
16815}
16816
16817// SetArn sets the Arn field's value.
16818func (s *Run) SetArn(v string) *Run {
16819	s.Arn = &v
16820	return s
16821}
16822
16823// SetBillingMethod sets the BillingMethod field's value.
16824func (s *Run) SetBillingMethod(v string) *Run {
16825	s.BillingMethod = &v
16826	return s
16827}
16828
16829// SetCompletedJobs sets the CompletedJobs field's value.
16830func (s *Run) SetCompletedJobs(v int64) *Run {
16831	s.CompletedJobs = &v
16832	return s
16833}
16834
16835// SetCounters sets the Counters field's value.
16836func (s *Run) SetCounters(v *Counters) *Run {
16837	s.Counters = v
16838	return s
16839}
16840
16841// SetCreated sets the Created field's value.
16842func (s *Run) SetCreated(v time.Time) *Run {
16843	s.Created = &v
16844	return s
16845}
16846
16847// SetCustomerArtifactPaths sets the CustomerArtifactPaths field's value.
16848func (s *Run) SetCustomerArtifactPaths(v *CustomerArtifactPaths) *Run {
16849	s.CustomerArtifactPaths = v
16850	return s
16851}
16852
16853// SetDeviceMinutes sets the DeviceMinutes field's value.
16854func (s *Run) SetDeviceMinutes(v *DeviceMinutes) *Run {
16855	s.DeviceMinutes = v
16856	return s
16857}
16858
16859// SetDevicePoolArn sets the DevicePoolArn field's value.
16860func (s *Run) SetDevicePoolArn(v string) *Run {
16861	s.DevicePoolArn = &v
16862	return s
16863}
16864
16865// SetDeviceSelectionResult sets the DeviceSelectionResult field's value.
16866func (s *Run) SetDeviceSelectionResult(v *DeviceSelectionResult) *Run {
16867	s.DeviceSelectionResult = v
16868	return s
16869}
16870
16871// SetEventCount sets the EventCount field's value.
16872func (s *Run) SetEventCount(v int64) *Run {
16873	s.EventCount = &v
16874	return s
16875}
16876
16877// SetJobTimeoutMinutes sets the JobTimeoutMinutes field's value.
16878func (s *Run) SetJobTimeoutMinutes(v int64) *Run {
16879	s.JobTimeoutMinutes = &v
16880	return s
16881}
16882
16883// SetLocale sets the Locale field's value.
16884func (s *Run) SetLocale(v string) *Run {
16885	s.Locale = &v
16886	return s
16887}
16888
16889// SetLocation sets the Location field's value.
16890func (s *Run) SetLocation(v *Location) *Run {
16891	s.Location = v
16892	return s
16893}
16894
16895// SetMessage sets the Message field's value.
16896func (s *Run) SetMessage(v string) *Run {
16897	s.Message = &v
16898	return s
16899}
16900
16901// SetName sets the Name field's value.
16902func (s *Run) SetName(v string) *Run {
16903	s.Name = &v
16904	return s
16905}
16906
16907// SetNetworkProfile sets the NetworkProfile field's value.
16908func (s *Run) SetNetworkProfile(v *NetworkProfile) *Run {
16909	s.NetworkProfile = v
16910	return s
16911}
16912
16913// SetParsingResultUrl sets the ParsingResultUrl field's value.
16914func (s *Run) SetParsingResultUrl(v string) *Run {
16915	s.ParsingResultUrl = &v
16916	return s
16917}
16918
16919// SetPlatform sets the Platform field's value.
16920func (s *Run) SetPlatform(v string) *Run {
16921	s.Platform = &v
16922	return s
16923}
16924
16925// SetRadios sets the Radios field's value.
16926func (s *Run) SetRadios(v *Radios) *Run {
16927	s.Radios = v
16928	return s
16929}
16930
16931// SetResult sets the Result field's value.
16932func (s *Run) SetResult(v string) *Run {
16933	s.Result = &v
16934	return s
16935}
16936
16937// SetResultCode sets the ResultCode field's value.
16938func (s *Run) SetResultCode(v string) *Run {
16939	s.ResultCode = &v
16940	return s
16941}
16942
16943// SetSeed sets the Seed field's value.
16944func (s *Run) SetSeed(v int64) *Run {
16945	s.Seed = &v
16946	return s
16947}
16948
16949// SetSkipAppResign sets the SkipAppResign field's value.
16950func (s *Run) SetSkipAppResign(v bool) *Run {
16951	s.SkipAppResign = &v
16952	return s
16953}
16954
16955// SetStarted sets the Started field's value.
16956func (s *Run) SetStarted(v time.Time) *Run {
16957	s.Started = &v
16958	return s
16959}
16960
16961// SetStatus sets the Status field's value.
16962func (s *Run) SetStatus(v string) *Run {
16963	s.Status = &v
16964	return s
16965}
16966
16967// SetStopped sets the Stopped field's value.
16968func (s *Run) SetStopped(v time.Time) *Run {
16969	s.Stopped = &v
16970	return s
16971}
16972
16973// SetTestSpecArn sets the TestSpecArn field's value.
16974func (s *Run) SetTestSpecArn(v string) *Run {
16975	s.TestSpecArn = &v
16976	return s
16977}
16978
16979// SetTotalJobs sets the TotalJobs field's value.
16980func (s *Run) SetTotalJobs(v int64) *Run {
16981	s.TotalJobs = &v
16982	return s
16983}
16984
16985// SetType sets the Type field's value.
16986func (s *Run) SetType(v string) *Run {
16987	s.Type = &v
16988	return s
16989}
16990
16991// SetWebUrl sets the WebUrl field's value.
16992func (s *Run) SetWebUrl(v string) *Run {
16993	s.WebUrl = &v
16994	return s
16995}
16996
16997// Represents a sample of performance data.
16998type Sample struct {
16999	_ struct{} `type:"structure"`
17000
17001	// The sample's ARN.
17002	Arn *string `locationName:"arn" min:"32" type:"string"`
17003
17004	// The sample's type.
17005	//
17006	// Must be one of the following values:
17007	//
17008	//    * CPU: A CPU sample type. This is expressed as the app processing CPU
17009	//    time (including child processes) as reported by process, as a percentage.
17010	//
17011	//    * MEMORY: A memory usage sample type. This is expressed as the total proportional
17012	//    set size of an app process, in kilobytes.
17013	//
17014	//    * NATIVE_AVG_DRAWTIME
17015	//
17016	//    * NATIVE_FPS
17017	//
17018	//    * NATIVE_FRAMES
17019	//
17020	//    * NATIVE_MAX_DRAWTIME
17021	//
17022	//    * NATIVE_MIN_DRAWTIME
17023	//
17024	//    * OPENGL_AVG_DRAWTIME
17025	//
17026	//    * OPENGL_FPS
17027	//
17028	//    * OPENGL_FRAMES
17029	//
17030	//    * OPENGL_MAX_DRAWTIME
17031	//
17032	//    * OPENGL_MIN_DRAWTIME
17033	//
17034	//    * RX
17035	//
17036	//    * RX_RATE: The total number of bytes per second (TCP and UDP) that are
17037	//    sent, by app process.
17038	//
17039	//    * THREADS: A threads sample type. This is expressed as the total number
17040	//    of threads per app process.
17041	//
17042	//    * TX
17043	//
17044	//    * TX_RATE: The total number of bytes per second (TCP and UDP) that are
17045	//    received, by app process.
17046	Type *string `locationName:"type" type:"string" enum:"SampleType"`
17047
17048	// The presigned Amazon S3 URL that can be used with a GET request to download
17049	// the sample's file.
17050	Url *string `locationName:"url" type:"string"`
17051}
17052
17053// String returns the string representation
17054func (s Sample) String() string {
17055	return awsutil.Prettify(s)
17056}
17057
17058// GoString returns the string representation
17059func (s Sample) GoString() string {
17060	return s.String()
17061}
17062
17063// SetArn sets the Arn field's value.
17064func (s *Sample) SetArn(v string) *Sample {
17065	s.Arn = &v
17066	return s
17067}
17068
17069// SetType sets the Type field's value.
17070func (s *Sample) SetType(v string) *Sample {
17071	s.Type = &v
17072	return s
17073}
17074
17075// SetUrl sets the Url field's value.
17076func (s *Sample) SetUrl(v string) *Sample {
17077	s.Url = &v
17078	return s
17079}
17080
17081// Represents the settings for a run. Includes things like location, radio states,
17082// auxiliary apps, and network profiles.
17083type ScheduleRunConfiguration struct {
17084	_ struct{} `type:"structure"`
17085
17086	// A list of upload ARNs for app packages to be installed with your app.
17087	AuxiliaryApps []*string `locationName:"auxiliaryApps" type:"list"`
17088
17089	// Specifies the billing method for a test run: metered or unmetered. If the
17090	// parameter is not specified, the default value is metered.
17091	//
17092	// If you have purchased unmetered device slots, you must set this parameter
17093	// to unmetered to make use of them. Otherwise, your run counts against your
17094	// metered time.
17095	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
17096
17097	// Input CustomerArtifactPaths object for the scheduled run configuration.
17098	CustomerArtifactPaths *CustomerArtifactPaths `locationName:"customerArtifactPaths" type:"structure"`
17099
17100	// The ARN of the extra data for the run. The extra data is a .zip file that
17101	// AWS Device Farm extracts to external data for Android or the app's sandbox
17102	// for iOS.
17103	ExtraDataPackageArn *string `locationName:"extraDataPackageArn" min:"32" type:"string"`
17104
17105	// Information about the locale that is used for the run.
17106	Locale *string `locationName:"locale" type:"string"`
17107
17108	// Information about the location that is used for the run.
17109	Location *Location `locationName:"location" type:"structure"`
17110
17111	// Reserved for internal use.
17112	NetworkProfileArn *string `locationName:"networkProfileArn" min:"32" type:"string"`
17113
17114	// Information about the radio states for the run.
17115	Radios *Radios `locationName:"radios" type:"structure"`
17116
17117	// An array of ARNs for your VPC endpoint configurations.
17118	VpceConfigurationArns []*string `locationName:"vpceConfigurationArns" type:"list"`
17119}
17120
17121// String returns the string representation
17122func (s ScheduleRunConfiguration) String() string {
17123	return awsutil.Prettify(s)
17124}
17125
17126// GoString returns the string representation
17127func (s ScheduleRunConfiguration) GoString() string {
17128	return s.String()
17129}
17130
17131// Validate inspects the fields of the type to determine if they are valid.
17132func (s *ScheduleRunConfiguration) Validate() error {
17133	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunConfiguration"}
17134	if s.ExtraDataPackageArn != nil && len(*s.ExtraDataPackageArn) < 32 {
17135		invalidParams.Add(request.NewErrParamMinLen("ExtraDataPackageArn", 32))
17136	}
17137	if s.NetworkProfileArn != nil && len(*s.NetworkProfileArn) < 32 {
17138		invalidParams.Add(request.NewErrParamMinLen("NetworkProfileArn", 32))
17139	}
17140	if s.Location != nil {
17141		if err := s.Location.Validate(); err != nil {
17142			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
17143		}
17144	}
17145
17146	if invalidParams.Len() > 0 {
17147		return invalidParams
17148	}
17149	return nil
17150}
17151
17152// SetAuxiliaryApps sets the AuxiliaryApps field's value.
17153func (s *ScheduleRunConfiguration) SetAuxiliaryApps(v []*string) *ScheduleRunConfiguration {
17154	s.AuxiliaryApps = v
17155	return s
17156}
17157
17158// SetBillingMethod sets the BillingMethod field's value.
17159func (s *ScheduleRunConfiguration) SetBillingMethod(v string) *ScheduleRunConfiguration {
17160	s.BillingMethod = &v
17161	return s
17162}
17163
17164// SetCustomerArtifactPaths sets the CustomerArtifactPaths field's value.
17165func (s *ScheduleRunConfiguration) SetCustomerArtifactPaths(v *CustomerArtifactPaths) *ScheduleRunConfiguration {
17166	s.CustomerArtifactPaths = v
17167	return s
17168}
17169
17170// SetExtraDataPackageArn sets the ExtraDataPackageArn field's value.
17171func (s *ScheduleRunConfiguration) SetExtraDataPackageArn(v string) *ScheduleRunConfiguration {
17172	s.ExtraDataPackageArn = &v
17173	return s
17174}
17175
17176// SetLocale sets the Locale field's value.
17177func (s *ScheduleRunConfiguration) SetLocale(v string) *ScheduleRunConfiguration {
17178	s.Locale = &v
17179	return s
17180}
17181
17182// SetLocation sets the Location field's value.
17183func (s *ScheduleRunConfiguration) SetLocation(v *Location) *ScheduleRunConfiguration {
17184	s.Location = v
17185	return s
17186}
17187
17188// SetNetworkProfileArn sets the NetworkProfileArn field's value.
17189func (s *ScheduleRunConfiguration) SetNetworkProfileArn(v string) *ScheduleRunConfiguration {
17190	s.NetworkProfileArn = &v
17191	return s
17192}
17193
17194// SetRadios sets the Radios field's value.
17195func (s *ScheduleRunConfiguration) SetRadios(v *Radios) *ScheduleRunConfiguration {
17196	s.Radios = v
17197	return s
17198}
17199
17200// SetVpceConfigurationArns sets the VpceConfigurationArns field's value.
17201func (s *ScheduleRunConfiguration) SetVpceConfigurationArns(v []*string) *ScheduleRunConfiguration {
17202	s.VpceConfigurationArns = v
17203	return s
17204}
17205
17206// Represents a request to the schedule run operation.
17207type ScheduleRunInput struct {
17208	_ struct{} `type:"structure"`
17209
17210	// The ARN of an application package to run tests against, created with CreateUpload.
17211	// See ListUploads.
17212	AppArn *string `locationName:"appArn" min:"32" type:"string"`
17213
17214	// Information about the settings for the run to be scheduled.
17215	Configuration *ScheduleRunConfiguration `locationName:"configuration" type:"structure"`
17216
17217	// The ARN of the device pool for the run to be scheduled.
17218	DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string"`
17219
17220	// The filter criteria used to dynamically select a set of devices for a test
17221	// run and the maximum number of devices to be included in the run.
17222	//
17223	// Either devicePoolArn or deviceSelectionConfiguration is required in a request.
17224	DeviceSelectionConfiguration *DeviceSelectionConfiguration `locationName:"deviceSelectionConfiguration" type:"structure"`
17225
17226	// Specifies configuration information about a test run, such as the execution
17227	// timeout (in minutes).
17228	ExecutionConfiguration *ExecutionConfiguration `locationName:"executionConfiguration" type:"structure"`
17229
17230	// The name for the run to be scheduled.
17231	Name *string `locationName:"name" type:"string"`
17232
17233	// The ARN of the project for the run to be scheduled.
17234	//
17235	// ProjectArn is a required field
17236	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
17237
17238	// Information about the test for the run to be scheduled.
17239	//
17240	// Test is a required field
17241	Test *ScheduleRunTest `locationName:"test" type:"structure" required:"true"`
17242}
17243
17244// String returns the string representation
17245func (s ScheduleRunInput) String() string {
17246	return awsutil.Prettify(s)
17247}
17248
17249// GoString returns the string representation
17250func (s ScheduleRunInput) GoString() string {
17251	return s.String()
17252}
17253
17254// Validate inspects the fields of the type to determine if they are valid.
17255func (s *ScheduleRunInput) Validate() error {
17256	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunInput"}
17257	if s.AppArn != nil && len(*s.AppArn) < 32 {
17258		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
17259	}
17260	if s.DevicePoolArn != nil && len(*s.DevicePoolArn) < 32 {
17261		invalidParams.Add(request.NewErrParamMinLen("DevicePoolArn", 32))
17262	}
17263	if s.ProjectArn == nil {
17264		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
17265	}
17266	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
17267		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
17268	}
17269	if s.Test == nil {
17270		invalidParams.Add(request.NewErrParamRequired("Test"))
17271	}
17272	if s.Configuration != nil {
17273		if err := s.Configuration.Validate(); err != nil {
17274			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
17275		}
17276	}
17277	if s.DeviceSelectionConfiguration != nil {
17278		if err := s.DeviceSelectionConfiguration.Validate(); err != nil {
17279			invalidParams.AddNested("DeviceSelectionConfiguration", err.(request.ErrInvalidParams))
17280		}
17281	}
17282	if s.Test != nil {
17283		if err := s.Test.Validate(); err != nil {
17284			invalidParams.AddNested("Test", err.(request.ErrInvalidParams))
17285		}
17286	}
17287
17288	if invalidParams.Len() > 0 {
17289		return invalidParams
17290	}
17291	return nil
17292}
17293
17294// SetAppArn sets the AppArn field's value.
17295func (s *ScheduleRunInput) SetAppArn(v string) *ScheduleRunInput {
17296	s.AppArn = &v
17297	return s
17298}
17299
17300// SetConfiguration sets the Configuration field's value.
17301func (s *ScheduleRunInput) SetConfiguration(v *ScheduleRunConfiguration) *ScheduleRunInput {
17302	s.Configuration = v
17303	return s
17304}
17305
17306// SetDevicePoolArn sets the DevicePoolArn field's value.
17307func (s *ScheduleRunInput) SetDevicePoolArn(v string) *ScheduleRunInput {
17308	s.DevicePoolArn = &v
17309	return s
17310}
17311
17312// SetDeviceSelectionConfiguration sets the DeviceSelectionConfiguration field's value.
17313func (s *ScheduleRunInput) SetDeviceSelectionConfiguration(v *DeviceSelectionConfiguration) *ScheduleRunInput {
17314	s.DeviceSelectionConfiguration = v
17315	return s
17316}
17317
17318// SetExecutionConfiguration sets the ExecutionConfiguration field's value.
17319func (s *ScheduleRunInput) SetExecutionConfiguration(v *ExecutionConfiguration) *ScheduleRunInput {
17320	s.ExecutionConfiguration = v
17321	return s
17322}
17323
17324// SetName sets the Name field's value.
17325func (s *ScheduleRunInput) SetName(v string) *ScheduleRunInput {
17326	s.Name = &v
17327	return s
17328}
17329
17330// SetProjectArn sets the ProjectArn field's value.
17331func (s *ScheduleRunInput) SetProjectArn(v string) *ScheduleRunInput {
17332	s.ProjectArn = &v
17333	return s
17334}
17335
17336// SetTest sets the Test field's value.
17337func (s *ScheduleRunInput) SetTest(v *ScheduleRunTest) *ScheduleRunInput {
17338	s.Test = v
17339	return s
17340}
17341
17342// Represents the result of a schedule run request.
17343type ScheduleRunOutput struct {
17344	_ struct{} `type:"structure"`
17345
17346	// Information about the scheduled run.
17347	Run *Run `locationName:"run" type:"structure"`
17348}
17349
17350// String returns the string representation
17351func (s ScheduleRunOutput) String() string {
17352	return awsutil.Prettify(s)
17353}
17354
17355// GoString returns the string representation
17356func (s ScheduleRunOutput) GoString() string {
17357	return s.String()
17358}
17359
17360// SetRun sets the Run field's value.
17361func (s *ScheduleRunOutput) SetRun(v *Run) *ScheduleRunOutput {
17362	s.Run = v
17363	return s
17364}
17365
17366// Represents test settings. This data structure is passed in as the test parameter
17367// to ScheduleRun. For an example of the JSON request syntax, see ScheduleRun.
17368type ScheduleRunTest struct {
17369	_ struct{} `type:"structure"`
17370
17371	// The test's filter.
17372	Filter *string `locationName:"filter" type:"string"`
17373
17374	// The test's parameters, such as test framework parameters and fixture settings.
17375	// Parameters are represented by name-value pairs of strings.
17376	//
17377	// For all tests:
17378	//
17379	//    * app_performance_monitoring: Performance monitoring is enabled by default.
17380	//    Set this parameter to false to disable it.
17381	//
17382	// For Calabash tests:
17383	//
17384	//    * profile: A cucumber profile (for example, my_profile_name).
17385	//
17386	//    * tags: You can limit execution to features or scenarios that have (or
17387	//    don't have) certain tags (for example, @smoke or @smoke,~@wip).
17388	//
17389	// For Appium tests (all types):
17390	//
17391	//    * appium_version: The Appium version. Currently supported values are 1.6.5
17392	//    (and later), latest, and default. latest runs the latest Appium version
17393	//    supported by Device Farm (1.9.1). For default, Device Farm selects a compatible
17394	//    version of Appium for the device. The current behavior is to run 1.7.2
17395	//    on Android devices and iOS 9 and earlier and 1.7.2 for iOS 10 and later.
17396	//    This behavior is subject to change.
17397	//
17398	// For fuzz tests (Android only):
17399	//
17400	//    * event_count: The number of events, between 1 and 10000, that the UI
17401	//    fuzz test should perform.
17402	//
17403	//    * throttle: The time, in ms, between 0 and 1000, that the UI fuzz test
17404	//    should wait between events.
17405	//
17406	//    * seed: A seed to use for randomizing the UI fuzz test. Using the same
17407	//    seed value between tests ensures identical event sequences.
17408	//
17409	// For Explorer tests:
17410	//
17411	//    * username: A user name to use if the Explorer encounters a login form.
17412	//    If not supplied, no user name is inserted.
17413	//
17414	//    * password: A password to use if the Explorer encounters a login form.
17415	//    If not supplied, no password is inserted.
17416	//
17417	// For Instrumentation:
17418	//
17419	//    * filter: A test filter string. Examples: Running a single test case:
17420	//    com.android.abc.Test1 Running a single test: com.android.abc.Test1#smoke
17421	//    Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
17422	//
17423	// For XCTest and XCTestUI:
17424	//
17425	//    * filter: A test filter string. Examples: Running a single test class:
17426	//    LoginTests Running a multiple test classes: LoginTests,SmokeTests Running
17427	//    a single test: LoginTests/testValid Running multiple tests: LoginTests/testValid,LoginTests/testInvalid
17428	//
17429	// For UIAutomator:
17430	//
17431	//    * filter: A test filter string. Examples: Running a single test case:
17432	//    com.android.abc.Test1 Running a single test: com.android.abc.Test1#smoke
17433	//    Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
17434	Parameters map[string]*string `locationName:"parameters" type:"map"`
17435
17436	// The ARN of the uploaded test to be run.
17437	TestPackageArn *string `locationName:"testPackageArn" min:"32" type:"string"`
17438
17439	// The ARN of the YAML-formatted test specification.
17440	TestSpecArn *string `locationName:"testSpecArn" min:"32" type:"string"`
17441
17442	// The test's type.
17443	//
17444	// Must be one of the following values:
17445	//
17446	//    * BUILTIN_FUZZ
17447	//
17448	//    * BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android
17449	//    app, interacting with it and capturing screenshots at the same time.
17450	//
17451	//    * APPIUM_JAVA_JUNIT
17452	//
17453	//    * APPIUM_JAVA_TESTNG
17454	//
17455	//    * APPIUM_PYTHON
17456	//
17457	//    * APPIUM_NODE
17458	//
17459	//    * APPIUM_RUBY
17460	//
17461	//    * APPIUM_WEB_JAVA_JUNIT
17462	//
17463	//    * APPIUM_WEB_JAVA_TESTNG
17464	//
17465	//    * APPIUM_WEB_PYTHON
17466	//
17467	//    * APPIUM_WEB_NODE
17468	//
17469	//    * APPIUM_WEB_RUBY
17470	//
17471	//    * CALABASH
17472	//
17473	//    * INSTRUMENTATION
17474	//
17475	//    * UIAUTOMATION
17476	//
17477	//    * UIAUTOMATOR
17478	//
17479	//    * XCTEST
17480	//
17481	//    * XCTEST_UI
17482	//
17483	// Type is a required field
17484	Type *string `locationName:"type" type:"string" required:"true" enum:"TestType"`
17485}
17486
17487// String returns the string representation
17488func (s ScheduleRunTest) String() string {
17489	return awsutil.Prettify(s)
17490}
17491
17492// GoString returns the string representation
17493func (s ScheduleRunTest) GoString() string {
17494	return s.String()
17495}
17496
17497// Validate inspects the fields of the type to determine if they are valid.
17498func (s *ScheduleRunTest) Validate() error {
17499	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunTest"}
17500	if s.TestPackageArn != nil && len(*s.TestPackageArn) < 32 {
17501		invalidParams.Add(request.NewErrParamMinLen("TestPackageArn", 32))
17502	}
17503	if s.TestSpecArn != nil && len(*s.TestSpecArn) < 32 {
17504		invalidParams.Add(request.NewErrParamMinLen("TestSpecArn", 32))
17505	}
17506	if s.Type == nil {
17507		invalidParams.Add(request.NewErrParamRequired("Type"))
17508	}
17509
17510	if invalidParams.Len() > 0 {
17511		return invalidParams
17512	}
17513	return nil
17514}
17515
17516// SetFilter sets the Filter field's value.
17517func (s *ScheduleRunTest) SetFilter(v string) *ScheduleRunTest {
17518	s.Filter = &v
17519	return s
17520}
17521
17522// SetParameters sets the Parameters field's value.
17523func (s *ScheduleRunTest) SetParameters(v map[string]*string) *ScheduleRunTest {
17524	s.Parameters = v
17525	return s
17526}
17527
17528// SetTestPackageArn sets the TestPackageArn field's value.
17529func (s *ScheduleRunTest) SetTestPackageArn(v string) *ScheduleRunTest {
17530	s.TestPackageArn = &v
17531	return s
17532}
17533
17534// SetTestSpecArn sets the TestSpecArn field's value.
17535func (s *ScheduleRunTest) SetTestSpecArn(v string) *ScheduleRunTest {
17536	s.TestSpecArn = &v
17537	return s
17538}
17539
17540// SetType sets the Type field's value.
17541func (s *ScheduleRunTest) SetType(v string) *ScheduleRunTest {
17542	s.Type = &v
17543	return s
17544}
17545
17546// There was a problem with the service account.
17547type ServiceAccountException struct {
17548	_            struct{}                  `type:"structure"`
17549	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17550
17551	// Any additional information about the exception.
17552	Message_ *string `locationName:"message" type:"string"`
17553}
17554
17555// String returns the string representation
17556func (s ServiceAccountException) String() string {
17557	return awsutil.Prettify(s)
17558}
17559
17560// GoString returns the string representation
17561func (s ServiceAccountException) GoString() string {
17562	return s.String()
17563}
17564
17565func newErrorServiceAccountException(v protocol.ResponseMetadata) error {
17566	return &ServiceAccountException{
17567		RespMetadata: v,
17568	}
17569}
17570
17571// Code returns the exception type name.
17572func (s *ServiceAccountException) Code() string {
17573	return "ServiceAccountException"
17574}
17575
17576// Message returns the exception's message.
17577func (s *ServiceAccountException) Message() string {
17578	if s.Message_ != nil {
17579		return *s.Message_
17580	}
17581	return ""
17582}
17583
17584// OrigErr always returns nil, satisfies awserr.Error interface.
17585func (s *ServiceAccountException) OrigErr() error {
17586	return nil
17587}
17588
17589func (s *ServiceAccountException) Error() string {
17590	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17591}
17592
17593// Status code returns the HTTP status code for the request's response error.
17594func (s *ServiceAccountException) StatusCode() int {
17595	return s.RespMetadata.StatusCode
17596}
17597
17598// RequestID returns the service's response RequestID for request.
17599func (s *ServiceAccountException) RequestID() string {
17600	return s.RespMetadata.RequestID
17601}
17602
17603type StopJobInput struct {
17604	_ struct{} `type:"structure"`
17605
17606	// Represents the Amazon Resource Name (ARN) of the Device Farm job to stop.
17607	//
17608	// Arn is a required field
17609	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
17610}
17611
17612// String returns the string representation
17613func (s StopJobInput) String() string {
17614	return awsutil.Prettify(s)
17615}
17616
17617// GoString returns the string representation
17618func (s StopJobInput) GoString() string {
17619	return s.String()
17620}
17621
17622// Validate inspects the fields of the type to determine if they are valid.
17623func (s *StopJobInput) Validate() error {
17624	invalidParams := request.ErrInvalidParams{Context: "StopJobInput"}
17625	if s.Arn == nil {
17626		invalidParams.Add(request.NewErrParamRequired("Arn"))
17627	}
17628	if s.Arn != nil && len(*s.Arn) < 32 {
17629		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
17630	}
17631
17632	if invalidParams.Len() > 0 {
17633		return invalidParams
17634	}
17635	return nil
17636}
17637
17638// SetArn sets the Arn field's value.
17639func (s *StopJobInput) SetArn(v string) *StopJobInput {
17640	s.Arn = &v
17641	return s
17642}
17643
17644type StopJobOutput struct {
17645	_ struct{} `type:"structure"`
17646
17647	// The job that was stopped.
17648	Job *Job `locationName:"job" type:"structure"`
17649}
17650
17651// String returns the string representation
17652func (s StopJobOutput) String() string {
17653	return awsutil.Prettify(s)
17654}
17655
17656// GoString returns the string representation
17657func (s StopJobOutput) GoString() string {
17658	return s.String()
17659}
17660
17661// SetJob sets the Job field's value.
17662func (s *StopJobOutput) SetJob(v *Job) *StopJobOutput {
17663	s.Job = v
17664	return s
17665}
17666
17667// Represents the request to stop the remote access session.
17668type StopRemoteAccessSessionInput struct {
17669	_ struct{} `type:"structure"`
17670
17671	// The Amazon Resource Name (ARN) of the remote access session to stop.
17672	//
17673	// Arn is a required field
17674	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
17675}
17676
17677// String returns the string representation
17678func (s StopRemoteAccessSessionInput) String() string {
17679	return awsutil.Prettify(s)
17680}
17681
17682// GoString returns the string representation
17683func (s StopRemoteAccessSessionInput) GoString() string {
17684	return s.String()
17685}
17686
17687// Validate inspects the fields of the type to determine if they are valid.
17688func (s *StopRemoteAccessSessionInput) Validate() error {
17689	invalidParams := request.ErrInvalidParams{Context: "StopRemoteAccessSessionInput"}
17690	if s.Arn == nil {
17691		invalidParams.Add(request.NewErrParamRequired("Arn"))
17692	}
17693	if s.Arn != nil && len(*s.Arn) < 32 {
17694		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
17695	}
17696
17697	if invalidParams.Len() > 0 {
17698		return invalidParams
17699	}
17700	return nil
17701}
17702
17703// SetArn sets the Arn field's value.
17704func (s *StopRemoteAccessSessionInput) SetArn(v string) *StopRemoteAccessSessionInput {
17705	s.Arn = &v
17706	return s
17707}
17708
17709// Represents the response from the server that describes the remote access
17710// session when AWS Device Farm stops the session.
17711type StopRemoteAccessSessionOutput struct {
17712	_ struct{} `type:"structure"`
17713
17714	// A container that represents the metadata from the service about the remote
17715	// access session you are stopping.
17716	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
17717}
17718
17719// String returns the string representation
17720func (s StopRemoteAccessSessionOutput) String() string {
17721	return awsutil.Prettify(s)
17722}
17723
17724// GoString returns the string representation
17725func (s StopRemoteAccessSessionOutput) GoString() string {
17726	return s.String()
17727}
17728
17729// SetRemoteAccessSession sets the RemoteAccessSession field's value.
17730func (s *StopRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *StopRemoteAccessSessionOutput {
17731	s.RemoteAccessSession = v
17732	return s
17733}
17734
17735// Represents the request to stop a specific run.
17736type StopRunInput struct {
17737	_ struct{} `type:"structure"`
17738
17739	// Represents the Amazon Resource Name (ARN) of the Device Farm run to stop.
17740	//
17741	// Arn is a required field
17742	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
17743}
17744
17745// String returns the string representation
17746func (s StopRunInput) String() string {
17747	return awsutil.Prettify(s)
17748}
17749
17750// GoString returns the string representation
17751func (s StopRunInput) GoString() string {
17752	return s.String()
17753}
17754
17755// Validate inspects the fields of the type to determine if they are valid.
17756func (s *StopRunInput) Validate() error {
17757	invalidParams := request.ErrInvalidParams{Context: "StopRunInput"}
17758	if s.Arn == nil {
17759		invalidParams.Add(request.NewErrParamRequired("Arn"))
17760	}
17761	if s.Arn != nil && len(*s.Arn) < 32 {
17762		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
17763	}
17764
17765	if invalidParams.Len() > 0 {
17766		return invalidParams
17767	}
17768	return nil
17769}
17770
17771// SetArn sets the Arn field's value.
17772func (s *StopRunInput) SetArn(v string) *StopRunInput {
17773	s.Arn = &v
17774	return s
17775}
17776
17777// Represents the results of your stop run attempt.
17778type StopRunOutput struct {
17779	_ struct{} `type:"structure"`
17780
17781	// The run that was stopped.
17782	Run *Run `locationName:"run" type:"structure"`
17783}
17784
17785// String returns the string representation
17786func (s StopRunOutput) String() string {
17787	return awsutil.Prettify(s)
17788}
17789
17790// GoString returns the string representation
17791func (s StopRunOutput) GoString() string {
17792	return s.String()
17793}
17794
17795// SetRun sets the Run field's value.
17796func (s *StopRunOutput) SetRun(v *Run) *StopRunOutput {
17797	s.Run = v
17798	return s
17799}
17800
17801// Represents a collection of one or more tests.
17802type Suite struct {
17803	_ struct{} `type:"structure"`
17804
17805	// The suite's ARN.
17806	Arn *string `locationName:"arn" min:"32" type:"string"`
17807
17808	// The suite's result counters.
17809	Counters *Counters `locationName:"counters" type:"structure"`
17810
17811	// When the suite was created.
17812	Created *time.Time `locationName:"created" type:"timestamp"`
17813
17814	// Represents the total (metered or unmetered) minutes used by the test suite.
17815	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
17816
17817	// A message about the suite's result.
17818	Message *string `locationName:"message" type:"string"`
17819
17820	// The suite's name.
17821	Name *string `locationName:"name" type:"string"`
17822
17823	// The suite's result.
17824	//
17825	// Allowed values include:
17826	//
17827	//    * PENDING
17828	//
17829	//    * PASSED
17830	//
17831	//    * WARNED
17832	//
17833	//    * FAILED
17834	//
17835	//    * SKIPPED
17836	//
17837	//    * ERRORED
17838	//
17839	//    * STOPPED
17840	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
17841
17842	// The suite's start time.
17843	Started *time.Time `locationName:"started" type:"timestamp"`
17844
17845	// The suite's status.
17846	//
17847	// Allowed values include:
17848	//
17849	//    * PENDING
17850	//
17851	//    * PENDING_CONCURRENCY
17852	//
17853	//    * PENDING_DEVICE
17854	//
17855	//    * PROCESSING
17856	//
17857	//    * SCHEDULING
17858	//
17859	//    * PREPARING
17860	//
17861	//    * RUNNING
17862	//
17863	//    * COMPLETED
17864	//
17865	//    * STOPPING
17866	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
17867
17868	// The suite's stop time.
17869	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
17870
17871	// The suite's type.
17872	//
17873	// Must be one of the following values:
17874	//
17875	//    * BUILTIN_FUZZ
17876	//
17877	//    * BUILTIN_EXPLORER Only available for Android; an app explorer that traverses
17878	//    an Android app, interacting with it and capturing screenshots at the same
17879	//    time.
17880	//
17881	//    * APPIUM_JAVA_JUNIT
17882	//
17883	//    * APPIUM_JAVA_TESTNG
17884	//
17885	//    * APPIUM_PYTHON
17886	//
17887	//    * APPIUM_NODE
17888	//
17889	//    * APPIUM_RUBY
17890	//
17891	//    * APPIUM_WEB_JAVA_JUNIT
17892	//
17893	//    * APPIUM_WEB_JAVA_TESTNG
17894	//
17895	//    * APPIUM_WEB_PYTHON
17896	//
17897	//    * APPIUM_WEB_NODE
17898	//
17899	//    * APPIUM_WEB_RUBY
17900	//
17901	//    * CALABASH
17902	//
17903	//    * INSTRUMENTATION
17904	//
17905	//    * UIAUTOMATION
17906	//
17907	//    * UIAUTOMATOR
17908	//
17909	//    * XCTEST
17910	//
17911	//    * XCTEST_UI
17912	Type *string `locationName:"type" type:"string" enum:"TestType"`
17913}
17914
17915// String returns the string representation
17916func (s Suite) String() string {
17917	return awsutil.Prettify(s)
17918}
17919
17920// GoString returns the string representation
17921func (s Suite) GoString() string {
17922	return s.String()
17923}
17924
17925// SetArn sets the Arn field's value.
17926func (s *Suite) SetArn(v string) *Suite {
17927	s.Arn = &v
17928	return s
17929}
17930
17931// SetCounters sets the Counters field's value.
17932func (s *Suite) SetCounters(v *Counters) *Suite {
17933	s.Counters = v
17934	return s
17935}
17936
17937// SetCreated sets the Created field's value.
17938func (s *Suite) SetCreated(v time.Time) *Suite {
17939	s.Created = &v
17940	return s
17941}
17942
17943// SetDeviceMinutes sets the DeviceMinutes field's value.
17944func (s *Suite) SetDeviceMinutes(v *DeviceMinutes) *Suite {
17945	s.DeviceMinutes = v
17946	return s
17947}
17948
17949// SetMessage sets the Message field's value.
17950func (s *Suite) SetMessage(v string) *Suite {
17951	s.Message = &v
17952	return s
17953}
17954
17955// SetName sets the Name field's value.
17956func (s *Suite) SetName(v string) *Suite {
17957	s.Name = &v
17958	return s
17959}
17960
17961// SetResult sets the Result field's value.
17962func (s *Suite) SetResult(v string) *Suite {
17963	s.Result = &v
17964	return s
17965}
17966
17967// SetStarted sets the Started field's value.
17968func (s *Suite) SetStarted(v time.Time) *Suite {
17969	s.Started = &v
17970	return s
17971}
17972
17973// SetStatus sets the Status field's value.
17974func (s *Suite) SetStatus(v string) *Suite {
17975	s.Status = &v
17976	return s
17977}
17978
17979// SetStopped sets the Stopped field's value.
17980func (s *Suite) SetStopped(v time.Time) *Suite {
17981	s.Stopped = &v
17982	return s
17983}
17984
17985// SetType sets the Type field's value.
17986func (s *Suite) SetType(v string) *Suite {
17987	s.Type = &v
17988	return s
17989}
17990
17991// The metadata that you apply to a resource to help you categorize and organize
17992// it. Each tag consists of a key and an optional value, both of which you define.
17993// Tag keys can have a maximum character length of 128 characters. Tag values
17994// can have a maximum length of 256 characters.
17995type Tag struct {
17996	_ struct{} `type:"structure"`
17997
17998	// One part of a key-value pair that makes up a tag. A key is a general label
17999	// that acts like a category for more specific tag values.
18000	//
18001	// Key is a required field
18002	Key *string `min:"1" type:"string" required:"true"`
18003
18004	// The optional part of a key-value pair that makes up a tag. A value acts as
18005	// a descriptor in a tag category (key).
18006	//
18007	// Value is a required field
18008	Value *string `type:"string" required:"true"`
18009}
18010
18011// String returns the string representation
18012func (s Tag) String() string {
18013	return awsutil.Prettify(s)
18014}
18015
18016// GoString returns the string representation
18017func (s Tag) GoString() string {
18018	return s.String()
18019}
18020
18021// Validate inspects the fields of the type to determine if they are valid.
18022func (s *Tag) Validate() error {
18023	invalidParams := request.ErrInvalidParams{Context: "Tag"}
18024	if s.Key == nil {
18025		invalidParams.Add(request.NewErrParamRequired("Key"))
18026	}
18027	if s.Key != nil && len(*s.Key) < 1 {
18028		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
18029	}
18030	if s.Value == nil {
18031		invalidParams.Add(request.NewErrParamRequired("Value"))
18032	}
18033
18034	if invalidParams.Len() > 0 {
18035		return invalidParams
18036	}
18037	return nil
18038}
18039
18040// SetKey sets the Key field's value.
18041func (s *Tag) SetKey(v string) *Tag {
18042	s.Key = &v
18043	return s
18044}
18045
18046// SetValue sets the Value field's value.
18047func (s *Tag) SetValue(v string) *Tag {
18048	s.Value = &v
18049	return s
18050}
18051
18052// The operation was not successful. Try again.
18053type TagOperationException struct {
18054	_            struct{}                  `type:"structure"`
18055	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18056
18057	Message_ *string `locationName:"message" type:"string"`
18058
18059	ResourceName *string `locationName:"resourceName" min:"32" type:"string"`
18060}
18061
18062// String returns the string representation
18063func (s TagOperationException) String() string {
18064	return awsutil.Prettify(s)
18065}
18066
18067// GoString returns the string representation
18068func (s TagOperationException) GoString() string {
18069	return s.String()
18070}
18071
18072func newErrorTagOperationException(v protocol.ResponseMetadata) error {
18073	return &TagOperationException{
18074		RespMetadata: v,
18075	}
18076}
18077
18078// Code returns the exception type name.
18079func (s *TagOperationException) Code() string {
18080	return "TagOperationException"
18081}
18082
18083// Message returns the exception's message.
18084func (s *TagOperationException) Message() string {
18085	if s.Message_ != nil {
18086		return *s.Message_
18087	}
18088	return ""
18089}
18090
18091// OrigErr always returns nil, satisfies awserr.Error interface.
18092func (s *TagOperationException) OrigErr() error {
18093	return nil
18094}
18095
18096func (s *TagOperationException) Error() string {
18097	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
18098}
18099
18100// Status code returns the HTTP status code for the request's response error.
18101func (s *TagOperationException) StatusCode() int {
18102	return s.RespMetadata.StatusCode
18103}
18104
18105// RequestID returns the service's response RequestID for request.
18106func (s *TagOperationException) RequestID() string {
18107	return s.RespMetadata.RequestID
18108}
18109
18110// The request doesn't comply with the AWS Identity and Access Management (IAM)
18111// tag policy. Correct your request and then retry it.
18112type TagPolicyException struct {
18113	_            struct{}                  `type:"structure"`
18114	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18115
18116	Message_ *string `locationName:"message" type:"string"`
18117
18118	ResourceName *string `locationName:"resourceName" min:"32" type:"string"`
18119}
18120
18121// String returns the string representation
18122func (s TagPolicyException) String() string {
18123	return awsutil.Prettify(s)
18124}
18125
18126// GoString returns the string representation
18127func (s TagPolicyException) GoString() string {
18128	return s.String()
18129}
18130
18131func newErrorTagPolicyException(v protocol.ResponseMetadata) error {
18132	return &TagPolicyException{
18133		RespMetadata: v,
18134	}
18135}
18136
18137// Code returns the exception type name.
18138func (s *TagPolicyException) Code() string {
18139	return "TagPolicyException"
18140}
18141
18142// Message returns the exception's message.
18143func (s *TagPolicyException) Message() string {
18144	if s.Message_ != nil {
18145		return *s.Message_
18146	}
18147	return ""
18148}
18149
18150// OrigErr always returns nil, satisfies awserr.Error interface.
18151func (s *TagPolicyException) OrigErr() error {
18152	return nil
18153}
18154
18155func (s *TagPolicyException) Error() string {
18156	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
18157}
18158
18159// Status code returns the HTTP status code for the request's response error.
18160func (s *TagPolicyException) StatusCode() int {
18161	return s.RespMetadata.StatusCode
18162}
18163
18164// RequestID returns the service's response RequestID for request.
18165func (s *TagPolicyException) RequestID() string {
18166	return s.RespMetadata.RequestID
18167}
18168
18169type TagResourceInput struct {
18170	_ struct{} `type:"structure"`
18171
18172	// The Amazon Resource Name (ARN) of the resource or resources to which to add
18173	// tags. You can associate tags with the following Device Farm resources: PROJECT,
18174	// RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL,
18175	// DEVICE, and VPCE_CONFIGURATION.
18176	//
18177	// ResourceARN is a required field
18178	ResourceARN *string `min:"32" type:"string" required:"true"`
18179
18180	// The tags to add to the resource. A tag is an array of key-value pairs. Tag
18181	// keys can have a maximum character length of 128 characters. Tag values can
18182	// have a maximum length of 256 characters.
18183	//
18184	// Tags is a required field
18185	Tags []*Tag `type:"list" required:"true"`
18186}
18187
18188// String returns the string representation
18189func (s TagResourceInput) String() string {
18190	return awsutil.Prettify(s)
18191}
18192
18193// GoString returns the string representation
18194func (s TagResourceInput) GoString() string {
18195	return s.String()
18196}
18197
18198// Validate inspects the fields of the type to determine if they are valid.
18199func (s *TagResourceInput) Validate() error {
18200	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
18201	if s.ResourceARN == nil {
18202		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
18203	}
18204	if s.ResourceARN != nil && len(*s.ResourceARN) < 32 {
18205		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 32))
18206	}
18207	if s.Tags == nil {
18208		invalidParams.Add(request.NewErrParamRequired("Tags"))
18209	}
18210	if s.Tags != nil {
18211		for i, v := range s.Tags {
18212			if v == nil {
18213				continue
18214			}
18215			if err := v.Validate(); err != nil {
18216				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
18217			}
18218		}
18219	}
18220
18221	if invalidParams.Len() > 0 {
18222		return invalidParams
18223	}
18224	return nil
18225}
18226
18227// SetResourceARN sets the ResourceARN field's value.
18228func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
18229	s.ResourceARN = &v
18230	return s
18231}
18232
18233// SetTags sets the Tags field's value.
18234func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
18235	s.Tags = v
18236	return s
18237}
18238
18239type TagResourceOutput struct {
18240	_ struct{} `type:"structure"`
18241}
18242
18243// String returns the string representation
18244func (s TagResourceOutput) String() string {
18245	return awsutil.Prettify(s)
18246}
18247
18248// GoString returns the string representation
18249func (s TagResourceOutput) GoString() string {
18250	return s.String()
18251}
18252
18253// Represents a condition that is evaluated.
18254type Test struct {
18255	_ struct{} `type:"structure"`
18256
18257	// The test's ARN.
18258	Arn *string `locationName:"arn" min:"32" type:"string"`
18259
18260	// The test's result counters.
18261	Counters *Counters `locationName:"counters" type:"structure"`
18262
18263	// When the test was created.
18264	Created *time.Time `locationName:"created" type:"timestamp"`
18265
18266	// Represents the total (metered or unmetered) minutes used by the test.
18267	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
18268
18269	// A message about the test's result.
18270	Message *string `locationName:"message" type:"string"`
18271
18272	// The test's name.
18273	Name *string `locationName:"name" type:"string"`
18274
18275	// The test's result.
18276	//
18277	// Allowed values include:
18278	//
18279	//    * PENDING
18280	//
18281	//    * PASSED
18282	//
18283	//    * WARNED
18284	//
18285	//    * FAILED
18286	//
18287	//    * SKIPPED
18288	//
18289	//    * ERRORED
18290	//
18291	//    * STOPPED
18292	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
18293
18294	// The test's start time.
18295	Started *time.Time `locationName:"started" type:"timestamp"`
18296
18297	// The test's status.
18298	//
18299	// Allowed values include:
18300	//
18301	//    * PENDING
18302	//
18303	//    * PENDING_CONCURRENCY
18304	//
18305	//    * PENDING_DEVICE
18306	//
18307	//    * PROCESSING
18308	//
18309	//    * SCHEDULING
18310	//
18311	//    * PREPARING
18312	//
18313	//    * RUNNING
18314	//
18315	//    * COMPLETED
18316	//
18317	//    * STOPPING
18318	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
18319
18320	// The test's stop time.
18321	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
18322
18323	// The test's type.
18324	//
18325	// Must be one of the following values:
18326	//
18327	//    * BUILTIN_FUZZ
18328	//
18329	//    * BUILTIN_EXPLORER For Android, an app explorer that traverses an Android
18330	//    app, interacting with it and capturing screenshots at the same time.
18331	//
18332	//    * APPIUM_JAVA_JUNIT
18333	//
18334	//    * APPIUM_JAVA_TESTNG
18335	//
18336	//    * APPIUM_PYTHON
18337	//
18338	//    * APPIUM_NODE
18339	//
18340	//    * APPIUM_RUBY
18341	//
18342	//    * APPIUM_WEB_JAVA_JUNIT
18343	//
18344	//    * APPIUM_WEB_JAVA_TESTNG
18345	//
18346	//    * APPIUM_WEB_PYTHON
18347	//
18348	//    * APPIUM_WEB_NODE
18349	//
18350	//    * APPIUM_WEB_RUBY
18351	//
18352	//    * CALABASH
18353	//
18354	//    * INSTRUMENTATION
18355	//
18356	//    * UIAUTOMATION
18357	//
18358	//    * UIAUTOMATOR
18359	//
18360	//    * XCTEST
18361	//
18362	//    * XCTEST_UI
18363	Type *string `locationName:"type" type:"string" enum:"TestType"`
18364}
18365
18366// String returns the string representation
18367func (s Test) String() string {
18368	return awsutil.Prettify(s)
18369}
18370
18371// GoString returns the string representation
18372func (s Test) GoString() string {
18373	return s.String()
18374}
18375
18376// SetArn sets the Arn field's value.
18377func (s *Test) SetArn(v string) *Test {
18378	s.Arn = &v
18379	return s
18380}
18381
18382// SetCounters sets the Counters field's value.
18383func (s *Test) SetCounters(v *Counters) *Test {
18384	s.Counters = v
18385	return s
18386}
18387
18388// SetCreated sets the Created field's value.
18389func (s *Test) SetCreated(v time.Time) *Test {
18390	s.Created = &v
18391	return s
18392}
18393
18394// SetDeviceMinutes sets the DeviceMinutes field's value.
18395func (s *Test) SetDeviceMinutes(v *DeviceMinutes) *Test {
18396	s.DeviceMinutes = v
18397	return s
18398}
18399
18400// SetMessage sets the Message field's value.
18401func (s *Test) SetMessage(v string) *Test {
18402	s.Message = &v
18403	return s
18404}
18405
18406// SetName sets the Name field's value.
18407func (s *Test) SetName(v string) *Test {
18408	s.Name = &v
18409	return s
18410}
18411
18412// SetResult sets the Result field's value.
18413func (s *Test) SetResult(v string) *Test {
18414	s.Result = &v
18415	return s
18416}
18417
18418// SetStarted sets the Started field's value.
18419func (s *Test) SetStarted(v time.Time) *Test {
18420	s.Started = &v
18421	return s
18422}
18423
18424// SetStatus sets the Status field's value.
18425func (s *Test) SetStatus(v string) *Test {
18426	s.Status = &v
18427	return s
18428}
18429
18430// SetStopped sets the Stopped field's value.
18431func (s *Test) SetStopped(v time.Time) *Test {
18432	s.Stopped = &v
18433	return s
18434}
18435
18436// SetType sets the Type field's value.
18437func (s *Test) SetType(v string) *Test {
18438	s.Type = &v
18439	return s
18440}
18441
18442// A Selenium testing project. Projects are used to collect and collate sessions.
18443type TestGridProject struct {
18444	_ struct{} `type:"structure"`
18445
18446	// The ARN for the project.
18447	Arn *string `locationName:"arn" min:"32" type:"string"`
18448
18449	// When the project was created.
18450	Created *time.Time `locationName:"created" type:"timestamp"`
18451
18452	// A human-readable description for the project.
18453	Description *string `locationName:"description" type:"string"`
18454
18455	// A human-readable name for the project.
18456	Name *string `locationName:"name" type:"string"`
18457
18458	// The VPC security groups and subnets that are attached to a project.
18459	VpcConfig *TestGridVpcConfig `locationName:"vpcConfig" type:"structure"`
18460}
18461
18462// String returns the string representation
18463func (s TestGridProject) String() string {
18464	return awsutil.Prettify(s)
18465}
18466
18467// GoString returns the string representation
18468func (s TestGridProject) GoString() string {
18469	return s.String()
18470}
18471
18472// SetArn sets the Arn field's value.
18473func (s *TestGridProject) SetArn(v string) *TestGridProject {
18474	s.Arn = &v
18475	return s
18476}
18477
18478// SetCreated sets the Created field's value.
18479func (s *TestGridProject) SetCreated(v time.Time) *TestGridProject {
18480	s.Created = &v
18481	return s
18482}
18483
18484// SetDescription sets the Description field's value.
18485func (s *TestGridProject) SetDescription(v string) *TestGridProject {
18486	s.Description = &v
18487	return s
18488}
18489
18490// SetName sets the Name field's value.
18491func (s *TestGridProject) SetName(v string) *TestGridProject {
18492	s.Name = &v
18493	return s
18494}
18495
18496// SetVpcConfig sets the VpcConfig field's value.
18497func (s *TestGridProject) SetVpcConfig(v *TestGridVpcConfig) *TestGridProject {
18498	s.VpcConfig = v
18499	return s
18500}
18501
18502// A TestGridSession is a single instance of a browser launched from the URL
18503// provided by a call to CreateTestGridUrl.
18504type TestGridSession struct {
18505	_ struct{} `type:"structure"`
18506
18507	// The ARN of the session.
18508	Arn *string `locationName:"arn" min:"32" type:"string"`
18509
18510	// The number of billed minutes that were used for this session.
18511	BillingMinutes *float64 `locationName:"billingMinutes" type:"double"`
18512
18513	// The time that the session was started.
18514	Created *time.Time `locationName:"created" type:"timestamp"`
18515
18516	// The time the session ended.
18517	Ended *time.Time `locationName:"ended" type:"timestamp"`
18518
18519	// A JSON object of options and parameters passed to the Selenium WebDriver.
18520	SeleniumProperties *string `locationName:"seleniumProperties" type:"string"`
18521
18522	// The state of the session.
18523	Status *string `locationName:"status" type:"string" enum:"TestGridSessionStatus"`
18524}
18525
18526// String returns the string representation
18527func (s TestGridSession) String() string {
18528	return awsutil.Prettify(s)
18529}
18530
18531// GoString returns the string representation
18532func (s TestGridSession) GoString() string {
18533	return s.String()
18534}
18535
18536// SetArn sets the Arn field's value.
18537func (s *TestGridSession) SetArn(v string) *TestGridSession {
18538	s.Arn = &v
18539	return s
18540}
18541
18542// SetBillingMinutes sets the BillingMinutes field's value.
18543func (s *TestGridSession) SetBillingMinutes(v float64) *TestGridSession {
18544	s.BillingMinutes = &v
18545	return s
18546}
18547
18548// SetCreated sets the Created field's value.
18549func (s *TestGridSession) SetCreated(v time.Time) *TestGridSession {
18550	s.Created = &v
18551	return s
18552}
18553
18554// SetEnded sets the Ended field's value.
18555func (s *TestGridSession) SetEnded(v time.Time) *TestGridSession {
18556	s.Ended = &v
18557	return s
18558}
18559
18560// SetSeleniumProperties sets the SeleniumProperties field's value.
18561func (s *TestGridSession) SetSeleniumProperties(v string) *TestGridSession {
18562	s.SeleniumProperties = &v
18563	return s
18564}
18565
18566// SetStatus sets the Status field's value.
18567func (s *TestGridSession) SetStatus(v string) *TestGridSession {
18568	s.Status = &v
18569	return s
18570}
18571
18572// An action taken by a TestGridSession browser instance.
18573type TestGridSessionAction struct {
18574	_ struct{} `type:"structure"`
18575
18576	// The action taken by the session.
18577	Action *string `locationName:"action" type:"string"`
18578
18579	// The time, in milliseconds, that the action took to complete in the browser.
18580	Duration *int64 `locationName:"duration" type:"long"`
18581
18582	// HTTP method that the browser used to make the request.
18583	RequestMethod *string `locationName:"requestMethod" type:"string"`
18584
18585	// The time that the session invoked the action.
18586	Started *time.Time `locationName:"started" type:"timestamp"`
18587
18588	// HTTP status code returned to the browser when the action was taken.
18589	StatusCode *string `locationName:"statusCode" type:"string"`
18590}
18591
18592// String returns the string representation
18593func (s TestGridSessionAction) String() string {
18594	return awsutil.Prettify(s)
18595}
18596
18597// GoString returns the string representation
18598func (s TestGridSessionAction) GoString() string {
18599	return s.String()
18600}
18601
18602// SetAction sets the Action field's value.
18603func (s *TestGridSessionAction) SetAction(v string) *TestGridSessionAction {
18604	s.Action = &v
18605	return s
18606}
18607
18608// SetDuration sets the Duration field's value.
18609func (s *TestGridSessionAction) SetDuration(v int64) *TestGridSessionAction {
18610	s.Duration = &v
18611	return s
18612}
18613
18614// SetRequestMethod sets the RequestMethod field's value.
18615func (s *TestGridSessionAction) SetRequestMethod(v string) *TestGridSessionAction {
18616	s.RequestMethod = &v
18617	return s
18618}
18619
18620// SetStarted sets the Started field's value.
18621func (s *TestGridSessionAction) SetStarted(v time.Time) *TestGridSessionAction {
18622	s.Started = &v
18623	return s
18624}
18625
18626// SetStatusCode sets the StatusCode field's value.
18627func (s *TestGridSessionAction) SetStatusCode(v string) *TestGridSessionAction {
18628	s.StatusCode = &v
18629	return s
18630}
18631
18632// Artifacts are video and other files that are produced in the process of running
18633// a browser in an automated context.
18634//
18635// Video elements might be broken up into multiple artifacts as they grow in
18636// size during creation.
18637type TestGridSessionArtifact struct {
18638	_ struct{} `type:"structure"`
18639
18640	// The file name of the artifact.
18641	Filename *string `locationName:"filename" type:"string"`
18642
18643	// The kind of artifact.
18644	Type *string `locationName:"type" type:"string" enum:"TestGridSessionArtifactType"`
18645
18646	// A semi-stable URL to the content of the object.
18647	Url *string `locationName:"url" type:"string" sensitive:"true"`
18648}
18649
18650// String returns the string representation
18651func (s TestGridSessionArtifact) String() string {
18652	return awsutil.Prettify(s)
18653}
18654
18655// GoString returns the string representation
18656func (s TestGridSessionArtifact) GoString() string {
18657	return s.String()
18658}
18659
18660// SetFilename sets the Filename field's value.
18661func (s *TestGridSessionArtifact) SetFilename(v string) *TestGridSessionArtifact {
18662	s.Filename = &v
18663	return s
18664}
18665
18666// SetType sets the Type field's value.
18667func (s *TestGridSessionArtifact) SetType(v string) *TestGridSessionArtifact {
18668	s.Type = &v
18669	return s
18670}
18671
18672// SetUrl sets the Url field's value.
18673func (s *TestGridSessionArtifact) SetUrl(v string) *TestGridSessionArtifact {
18674	s.Url = &v
18675	return s
18676}
18677
18678// The VPC security groups and subnets that are attached to a project.
18679type TestGridVpcConfig struct {
18680	_ struct{} `type:"structure"`
18681
18682	// A list of VPC security group IDs in your Amazon VPC.
18683	//
18684	// SecurityGroupIds is a required field
18685	SecurityGroupIds []*string `locationName:"securityGroupIds" min:"1" type:"list" required:"true"`
18686
18687	// A list of VPC subnet IDs in your Amazon VPC.
18688	//
18689	// SubnetIds is a required field
18690	SubnetIds []*string `locationName:"subnetIds" min:"1" type:"list" required:"true"`
18691
18692	// The ID of the Amazon VPC.
18693	//
18694	// VpcId is a required field
18695	VpcId *string `locationName:"vpcId" min:"1" type:"string" required:"true"`
18696}
18697
18698// String returns the string representation
18699func (s TestGridVpcConfig) String() string {
18700	return awsutil.Prettify(s)
18701}
18702
18703// GoString returns the string representation
18704func (s TestGridVpcConfig) GoString() string {
18705	return s.String()
18706}
18707
18708// Validate inspects the fields of the type to determine if they are valid.
18709func (s *TestGridVpcConfig) Validate() error {
18710	invalidParams := request.ErrInvalidParams{Context: "TestGridVpcConfig"}
18711	if s.SecurityGroupIds == nil {
18712		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
18713	}
18714	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
18715		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
18716	}
18717	if s.SubnetIds == nil {
18718		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
18719	}
18720	if s.SubnetIds != nil && len(s.SubnetIds) < 1 {
18721		invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1))
18722	}
18723	if s.VpcId == nil {
18724		invalidParams.Add(request.NewErrParamRequired("VpcId"))
18725	}
18726	if s.VpcId != nil && len(*s.VpcId) < 1 {
18727		invalidParams.Add(request.NewErrParamMinLen("VpcId", 1))
18728	}
18729
18730	if invalidParams.Len() > 0 {
18731		return invalidParams
18732	}
18733	return nil
18734}
18735
18736// SetSecurityGroupIds sets the SecurityGroupIds field's value.
18737func (s *TestGridVpcConfig) SetSecurityGroupIds(v []*string) *TestGridVpcConfig {
18738	s.SecurityGroupIds = v
18739	return s
18740}
18741
18742// SetSubnetIds sets the SubnetIds field's value.
18743func (s *TestGridVpcConfig) SetSubnetIds(v []*string) *TestGridVpcConfig {
18744	s.SubnetIds = v
18745	return s
18746}
18747
18748// SetVpcId sets the VpcId field's value.
18749func (s *TestGridVpcConfig) SetVpcId(v string) *TestGridVpcConfig {
18750	s.VpcId = &v
18751	return s
18752}
18753
18754// The list of tags on the repository is over the limit. The maximum number
18755// of tags that can be applied to a repository is 50.
18756type TooManyTagsException struct {
18757	_            struct{}                  `type:"structure"`
18758	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18759
18760	Message_ *string `locationName:"message" type:"string"`
18761
18762	ResourceName *string `locationName:"resourceName" min:"32" type:"string"`
18763}
18764
18765// String returns the string representation
18766func (s TooManyTagsException) String() string {
18767	return awsutil.Prettify(s)
18768}
18769
18770// GoString returns the string representation
18771func (s TooManyTagsException) GoString() string {
18772	return s.String()
18773}
18774
18775func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
18776	return &TooManyTagsException{
18777		RespMetadata: v,
18778	}
18779}
18780
18781// Code returns the exception type name.
18782func (s *TooManyTagsException) Code() string {
18783	return "TooManyTagsException"
18784}
18785
18786// Message returns the exception's message.
18787func (s *TooManyTagsException) Message() string {
18788	if s.Message_ != nil {
18789		return *s.Message_
18790	}
18791	return ""
18792}
18793
18794// OrigErr always returns nil, satisfies awserr.Error interface.
18795func (s *TooManyTagsException) OrigErr() error {
18796	return nil
18797}
18798
18799func (s *TooManyTagsException) Error() string {
18800	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
18801}
18802
18803// Status code returns the HTTP status code for the request's response error.
18804func (s *TooManyTagsException) StatusCode() int {
18805	return s.RespMetadata.StatusCode
18806}
18807
18808// RequestID returns the service's response RequestID for request.
18809func (s *TooManyTagsException) RequestID() string {
18810	return s.RespMetadata.RequestID
18811}
18812
18813// Represents information about free trial device minutes for an AWS account.
18814type TrialMinutes struct {
18815	_ struct{} `type:"structure"`
18816
18817	// The number of free trial minutes remaining in the account.
18818	Remaining *float64 `locationName:"remaining" type:"double"`
18819
18820	// The total number of free trial minutes that the account started with.
18821	Total *float64 `locationName:"total" type:"double"`
18822}
18823
18824// String returns the string representation
18825func (s TrialMinutes) String() string {
18826	return awsutil.Prettify(s)
18827}
18828
18829// GoString returns the string representation
18830func (s TrialMinutes) GoString() string {
18831	return s.String()
18832}
18833
18834// SetRemaining sets the Remaining field's value.
18835func (s *TrialMinutes) SetRemaining(v float64) *TrialMinutes {
18836	s.Remaining = &v
18837	return s
18838}
18839
18840// SetTotal sets the Total field's value.
18841func (s *TrialMinutes) SetTotal(v float64) *TrialMinutes {
18842	s.Total = &v
18843	return s
18844}
18845
18846// A collection of one or more problems, grouped by their result.
18847type UniqueProblem struct {
18848	_ struct{} `type:"structure"`
18849
18850	// A message about the unique problems' result.
18851	Message *string `locationName:"message" type:"string"`
18852
18853	// Information about the problems.
18854	Problems []*Problem `locationName:"problems" type:"list"`
18855}
18856
18857// String returns the string representation
18858func (s UniqueProblem) String() string {
18859	return awsutil.Prettify(s)
18860}
18861
18862// GoString returns the string representation
18863func (s UniqueProblem) GoString() string {
18864	return s.String()
18865}
18866
18867// SetMessage sets the Message field's value.
18868func (s *UniqueProblem) SetMessage(v string) *UniqueProblem {
18869	s.Message = &v
18870	return s
18871}
18872
18873// SetProblems sets the Problems field's value.
18874func (s *UniqueProblem) SetProblems(v []*Problem) *UniqueProblem {
18875	s.Problems = v
18876	return s
18877}
18878
18879type UntagResourceInput struct {
18880	_ struct{} `type:"structure"`
18881
18882	// The Amazon Resource Name (ARN) of the resource or resources from which to
18883	// delete tags. You can associate tags with the following Device Farm resources:
18884	// PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION,
18885	// DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.
18886	//
18887	// ResourceARN is a required field
18888	ResourceARN *string `min:"32" type:"string" required:"true"`
18889
18890	// The keys of the tags to be removed.
18891	//
18892	// TagKeys is a required field
18893	TagKeys []*string `type:"list" required:"true"`
18894}
18895
18896// String returns the string representation
18897func (s UntagResourceInput) String() string {
18898	return awsutil.Prettify(s)
18899}
18900
18901// GoString returns the string representation
18902func (s UntagResourceInput) GoString() string {
18903	return s.String()
18904}
18905
18906// Validate inspects the fields of the type to determine if they are valid.
18907func (s *UntagResourceInput) Validate() error {
18908	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
18909	if s.ResourceARN == nil {
18910		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
18911	}
18912	if s.ResourceARN != nil && len(*s.ResourceARN) < 32 {
18913		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 32))
18914	}
18915	if s.TagKeys == nil {
18916		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
18917	}
18918
18919	if invalidParams.Len() > 0 {
18920		return invalidParams
18921	}
18922	return nil
18923}
18924
18925// SetResourceARN sets the ResourceARN field's value.
18926func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
18927	s.ResourceARN = &v
18928	return s
18929}
18930
18931// SetTagKeys sets the TagKeys field's value.
18932func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
18933	s.TagKeys = v
18934	return s
18935}
18936
18937type UntagResourceOutput struct {
18938	_ struct{} `type:"structure"`
18939}
18940
18941// String returns the string representation
18942func (s UntagResourceOutput) String() string {
18943	return awsutil.Prettify(s)
18944}
18945
18946// GoString returns the string representation
18947func (s UntagResourceOutput) GoString() string {
18948	return s.String()
18949}
18950
18951type UpdateDeviceInstanceInput struct {
18952	_ struct{} `type:"structure"`
18953
18954	// The Amazon Resource Name (ARN) of the device instance.
18955	//
18956	// Arn is a required field
18957	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
18958
18959	// An array of strings that you want to associate with the device instance.
18960	Labels []*string `locationName:"labels" type:"list"`
18961
18962	// The ARN of the profile that you want to associate with the device instance.
18963	ProfileArn *string `locationName:"profileArn" min:"32" type:"string"`
18964}
18965
18966// String returns the string representation
18967func (s UpdateDeviceInstanceInput) String() string {
18968	return awsutil.Prettify(s)
18969}
18970
18971// GoString returns the string representation
18972func (s UpdateDeviceInstanceInput) GoString() string {
18973	return s.String()
18974}
18975
18976// Validate inspects the fields of the type to determine if they are valid.
18977func (s *UpdateDeviceInstanceInput) Validate() error {
18978	invalidParams := request.ErrInvalidParams{Context: "UpdateDeviceInstanceInput"}
18979	if s.Arn == nil {
18980		invalidParams.Add(request.NewErrParamRequired("Arn"))
18981	}
18982	if s.Arn != nil && len(*s.Arn) < 32 {
18983		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
18984	}
18985	if s.ProfileArn != nil && len(*s.ProfileArn) < 32 {
18986		invalidParams.Add(request.NewErrParamMinLen("ProfileArn", 32))
18987	}
18988
18989	if invalidParams.Len() > 0 {
18990		return invalidParams
18991	}
18992	return nil
18993}
18994
18995// SetArn sets the Arn field's value.
18996func (s *UpdateDeviceInstanceInput) SetArn(v string) *UpdateDeviceInstanceInput {
18997	s.Arn = &v
18998	return s
18999}
19000
19001// SetLabels sets the Labels field's value.
19002func (s *UpdateDeviceInstanceInput) SetLabels(v []*string) *UpdateDeviceInstanceInput {
19003	s.Labels = v
19004	return s
19005}
19006
19007// SetProfileArn sets the ProfileArn field's value.
19008func (s *UpdateDeviceInstanceInput) SetProfileArn(v string) *UpdateDeviceInstanceInput {
19009	s.ProfileArn = &v
19010	return s
19011}
19012
19013type UpdateDeviceInstanceOutput struct {
19014	_ struct{} `type:"structure"`
19015
19016	// An object that contains information about your device instance.
19017	DeviceInstance *DeviceInstance `locationName:"deviceInstance" type:"structure"`
19018}
19019
19020// String returns the string representation
19021func (s UpdateDeviceInstanceOutput) String() string {
19022	return awsutil.Prettify(s)
19023}
19024
19025// GoString returns the string representation
19026func (s UpdateDeviceInstanceOutput) GoString() string {
19027	return s.String()
19028}
19029
19030// SetDeviceInstance sets the DeviceInstance field's value.
19031func (s *UpdateDeviceInstanceOutput) SetDeviceInstance(v *DeviceInstance) *UpdateDeviceInstanceOutput {
19032	s.DeviceInstance = v
19033	return s
19034}
19035
19036// Represents a request to the update device pool operation.
19037type UpdateDevicePoolInput struct {
19038	_ struct{} `type:"structure"`
19039
19040	// The Amazon Resource Name (ARN) of the Device Farm device pool to update.
19041	//
19042	// Arn is a required field
19043	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
19044
19045	// Sets whether the maxDevices parameter applies to your device pool. If you
19046	// set this parameter to true, the maxDevices parameter does not apply, and
19047	// Device Farm does not limit the number of devices that it adds to your device
19048	// pool. In this case, Device Farm adds all available devices that meet the
19049	// criteria specified in the rules parameter.
19050	//
19051	// If you use this parameter in your request, you cannot use the maxDevices
19052	// parameter in the same request.
19053	ClearMaxDevices *bool `locationName:"clearMaxDevices" type:"boolean"`
19054
19055	// A description of the device pool to update.
19056	Description *string `locationName:"description" type:"string"`
19057
19058	// The number of devices that Device Farm can add to your device pool. Device
19059	// Farm adds devices that are available and that meet the criteria that you
19060	// assign for the rules parameter. Depending on how many devices meet these
19061	// constraints, your device pool might contain fewer devices than the value
19062	// for this parameter.
19063	//
19064	// By specifying the maximum number of devices, you can control the costs that
19065	// you incur by running tests.
19066	//
19067	// If you use this parameter in your request, you cannot use the clearMaxDevices
19068	// parameter in the same request.
19069	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
19070
19071	// A string that represents the name of the device pool to update.
19072	Name *string `locationName:"name" type:"string"`
19073
19074	// Represents the rules to modify for the device pool. Updating rules is optional.
19075	// If you update rules for your request, the update replaces the existing rules.
19076	Rules []*Rule `locationName:"rules" type:"list"`
19077}
19078
19079// String returns the string representation
19080func (s UpdateDevicePoolInput) String() string {
19081	return awsutil.Prettify(s)
19082}
19083
19084// GoString returns the string representation
19085func (s UpdateDevicePoolInput) GoString() string {
19086	return s.String()
19087}
19088
19089// Validate inspects the fields of the type to determine if they are valid.
19090func (s *UpdateDevicePoolInput) Validate() error {
19091	invalidParams := request.ErrInvalidParams{Context: "UpdateDevicePoolInput"}
19092	if s.Arn == nil {
19093		invalidParams.Add(request.NewErrParamRequired("Arn"))
19094	}
19095	if s.Arn != nil && len(*s.Arn) < 32 {
19096		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
19097	}
19098
19099	if invalidParams.Len() > 0 {
19100		return invalidParams
19101	}
19102	return nil
19103}
19104
19105// SetArn sets the Arn field's value.
19106func (s *UpdateDevicePoolInput) SetArn(v string) *UpdateDevicePoolInput {
19107	s.Arn = &v
19108	return s
19109}
19110
19111// SetClearMaxDevices sets the ClearMaxDevices field's value.
19112func (s *UpdateDevicePoolInput) SetClearMaxDevices(v bool) *UpdateDevicePoolInput {
19113	s.ClearMaxDevices = &v
19114	return s
19115}
19116
19117// SetDescription sets the Description field's value.
19118func (s *UpdateDevicePoolInput) SetDescription(v string) *UpdateDevicePoolInput {
19119	s.Description = &v
19120	return s
19121}
19122
19123// SetMaxDevices sets the MaxDevices field's value.
19124func (s *UpdateDevicePoolInput) SetMaxDevices(v int64) *UpdateDevicePoolInput {
19125	s.MaxDevices = &v
19126	return s
19127}
19128
19129// SetName sets the Name field's value.
19130func (s *UpdateDevicePoolInput) SetName(v string) *UpdateDevicePoolInput {
19131	s.Name = &v
19132	return s
19133}
19134
19135// SetRules sets the Rules field's value.
19136func (s *UpdateDevicePoolInput) SetRules(v []*Rule) *UpdateDevicePoolInput {
19137	s.Rules = v
19138	return s
19139}
19140
19141// Represents the result of an update device pool request.
19142type UpdateDevicePoolOutput struct {
19143	_ struct{} `type:"structure"`
19144
19145	// The device pool you just updated.
19146	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
19147}
19148
19149// String returns the string representation
19150func (s UpdateDevicePoolOutput) String() string {
19151	return awsutil.Prettify(s)
19152}
19153
19154// GoString returns the string representation
19155func (s UpdateDevicePoolOutput) GoString() string {
19156	return s.String()
19157}
19158
19159// SetDevicePool sets the DevicePool field's value.
19160func (s *UpdateDevicePoolOutput) SetDevicePool(v *DevicePool) *UpdateDevicePoolOutput {
19161	s.DevicePool = v
19162	return s
19163}
19164
19165type UpdateInstanceProfileInput struct {
19166	_ struct{} `type:"structure"`
19167
19168	// The Amazon Resource Name (ARN) of the instance profile.
19169	//
19170	// Arn is a required field
19171	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
19172
19173	// The updated description for your instance profile.
19174	Description *string `locationName:"description" type:"string"`
19175
19176	// An array of strings that specifies the list of app packages that should not
19177	// be cleaned up from the device after a test run is over.
19178	//
19179	// The list of packages is only considered if you set packageCleanup to true.
19180	ExcludeAppPackagesFromCleanup []*string `locationName:"excludeAppPackagesFromCleanup" type:"list"`
19181
19182	// The updated name for your instance profile.
19183	Name *string `locationName:"name" type:"string"`
19184
19185	// The updated choice for whether you want to specify package cleanup. The default
19186	// value is false for private devices.
19187	PackageCleanup *bool `locationName:"packageCleanup" type:"boolean"`
19188
19189	// The updated choice for whether you want to reboot the device after use. The
19190	// default value is true.
19191	RebootAfterUse *bool `locationName:"rebootAfterUse" type:"boolean"`
19192}
19193
19194// String returns the string representation
19195func (s UpdateInstanceProfileInput) String() string {
19196	return awsutil.Prettify(s)
19197}
19198
19199// GoString returns the string representation
19200func (s UpdateInstanceProfileInput) GoString() string {
19201	return s.String()
19202}
19203
19204// Validate inspects the fields of the type to determine if they are valid.
19205func (s *UpdateInstanceProfileInput) Validate() error {
19206	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceProfileInput"}
19207	if s.Arn == nil {
19208		invalidParams.Add(request.NewErrParamRequired("Arn"))
19209	}
19210	if s.Arn != nil && len(*s.Arn) < 32 {
19211		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
19212	}
19213
19214	if invalidParams.Len() > 0 {
19215		return invalidParams
19216	}
19217	return nil
19218}
19219
19220// SetArn sets the Arn field's value.
19221func (s *UpdateInstanceProfileInput) SetArn(v string) *UpdateInstanceProfileInput {
19222	s.Arn = &v
19223	return s
19224}
19225
19226// SetDescription sets the Description field's value.
19227func (s *UpdateInstanceProfileInput) SetDescription(v string) *UpdateInstanceProfileInput {
19228	s.Description = &v
19229	return s
19230}
19231
19232// SetExcludeAppPackagesFromCleanup sets the ExcludeAppPackagesFromCleanup field's value.
19233func (s *UpdateInstanceProfileInput) SetExcludeAppPackagesFromCleanup(v []*string) *UpdateInstanceProfileInput {
19234	s.ExcludeAppPackagesFromCleanup = v
19235	return s
19236}
19237
19238// SetName sets the Name field's value.
19239func (s *UpdateInstanceProfileInput) SetName(v string) *UpdateInstanceProfileInput {
19240	s.Name = &v
19241	return s
19242}
19243
19244// SetPackageCleanup sets the PackageCleanup field's value.
19245func (s *UpdateInstanceProfileInput) SetPackageCleanup(v bool) *UpdateInstanceProfileInput {
19246	s.PackageCleanup = &v
19247	return s
19248}
19249
19250// SetRebootAfterUse sets the RebootAfterUse field's value.
19251func (s *UpdateInstanceProfileInput) SetRebootAfterUse(v bool) *UpdateInstanceProfileInput {
19252	s.RebootAfterUse = &v
19253	return s
19254}
19255
19256type UpdateInstanceProfileOutput struct {
19257	_ struct{} `type:"structure"`
19258
19259	// An object that contains information about your instance profile.
19260	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
19261}
19262
19263// String returns the string representation
19264func (s UpdateInstanceProfileOutput) String() string {
19265	return awsutil.Prettify(s)
19266}
19267
19268// GoString returns the string representation
19269func (s UpdateInstanceProfileOutput) GoString() string {
19270	return s.String()
19271}
19272
19273// SetInstanceProfile sets the InstanceProfile field's value.
19274func (s *UpdateInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *UpdateInstanceProfileOutput {
19275	s.InstanceProfile = v
19276	return s
19277}
19278
19279type UpdateNetworkProfileInput struct {
19280	_ struct{} `type:"structure"`
19281
19282	// The Amazon Resource Name (ARN) of the project for which you want to update
19283	// network profile settings.
19284	//
19285	// Arn is a required field
19286	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
19287
19288	// The description of the network profile about which you are returning information.
19289	Description *string `locationName:"description" type:"string"`
19290
19291	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
19292	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
19293
19294	// Delay time for all packets to destination in milliseconds as an integer from
19295	// 0 to 2000.
19296	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
19297
19298	// Time variation in the delay of received packets in milliseconds as an integer
19299	// from 0 to 2000.
19300	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
19301
19302	// Proportion of received packets that fail to arrive from 0 to 100 percent.
19303	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
19304
19305	// The name of the network profile about which you are returning information.
19306	Name *string `locationName:"name" type:"string"`
19307
19308	// The type of network profile to return information about. Valid values are
19309	// listed here.
19310	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
19311
19312	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
19313	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
19314
19315	// Delay time for all packets to destination in milliseconds as an integer from
19316	// 0 to 2000.
19317	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
19318
19319	// Time variation in the delay of received packets in milliseconds as an integer
19320	// from 0 to 2000.
19321	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
19322
19323	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
19324	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
19325}
19326
19327// String returns the string representation
19328func (s UpdateNetworkProfileInput) String() string {
19329	return awsutil.Prettify(s)
19330}
19331
19332// GoString returns the string representation
19333func (s UpdateNetworkProfileInput) GoString() string {
19334	return s.String()
19335}
19336
19337// Validate inspects the fields of the type to determine if they are valid.
19338func (s *UpdateNetworkProfileInput) Validate() error {
19339	invalidParams := request.ErrInvalidParams{Context: "UpdateNetworkProfileInput"}
19340	if s.Arn == nil {
19341		invalidParams.Add(request.NewErrParamRequired("Arn"))
19342	}
19343	if s.Arn != nil && len(*s.Arn) < 32 {
19344		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
19345	}
19346
19347	if invalidParams.Len() > 0 {
19348		return invalidParams
19349	}
19350	return nil
19351}
19352
19353// SetArn sets the Arn field's value.
19354func (s *UpdateNetworkProfileInput) SetArn(v string) *UpdateNetworkProfileInput {
19355	s.Arn = &v
19356	return s
19357}
19358
19359// SetDescription sets the Description field's value.
19360func (s *UpdateNetworkProfileInput) SetDescription(v string) *UpdateNetworkProfileInput {
19361	s.Description = &v
19362	return s
19363}
19364
19365// SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
19366func (s *UpdateNetworkProfileInput) SetDownlinkBandwidthBits(v int64) *UpdateNetworkProfileInput {
19367	s.DownlinkBandwidthBits = &v
19368	return s
19369}
19370
19371// SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
19372func (s *UpdateNetworkProfileInput) SetDownlinkDelayMs(v int64) *UpdateNetworkProfileInput {
19373	s.DownlinkDelayMs = &v
19374	return s
19375}
19376
19377// SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
19378func (s *UpdateNetworkProfileInput) SetDownlinkJitterMs(v int64) *UpdateNetworkProfileInput {
19379	s.DownlinkJitterMs = &v
19380	return s
19381}
19382
19383// SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
19384func (s *UpdateNetworkProfileInput) SetDownlinkLossPercent(v int64) *UpdateNetworkProfileInput {
19385	s.DownlinkLossPercent = &v
19386	return s
19387}
19388
19389// SetName sets the Name field's value.
19390func (s *UpdateNetworkProfileInput) SetName(v string) *UpdateNetworkProfileInput {
19391	s.Name = &v
19392	return s
19393}
19394
19395// SetType sets the Type field's value.
19396func (s *UpdateNetworkProfileInput) SetType(v string) *UpdateNetworkProfileInput {
19397	s.Type = &v
19398	return s
19399}
19400
19401// SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
19402func (s *UpdateNetworkProfileInput) SetUplinkBandwidthBits(v int64) *UpdateNetworkProfileInput {
19403	s.UplinkBandwidthBits = &v
19404	return s
19405}
19406
19407// SetUplinkDelayMs sets the UplinkDelayMs field's value.
19408func (s *UpdateNetworkProfileInput) SetUplinkDelayMs(v int64) *UpdateNetworkProfileInput {
19409	s.UplinkDelayMs = &v
19410	return s
19411}
19412
19413// SetUplinkJitterMs sets the UplinkJitterMs field's value.
19414func (s *UpdateNetworkProfileInput) SetUplinkJitterMs(v int64) *UpdateNetworkProfileInput {
19415	s.UplinkJitterMs = &v
19416	return s
19417}
19418
19419// SetUplinkLossPercent sets the UplinkLossPercent field's value.
19420func (s *UpdateNetworkProfileInput) SetUplinkLossPercent(v int64) *UpdateNetworkProfileInput {
19421	s.UplinkLossPercent = &v
19422	return s
19423}
19424
19425type UpdateNetworkProfileOutput struct {
19426	_ struct{} `type:"structure"`
19427
19428	// A list of the available network profiles.
19429	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
19430}
19431
19432// String returns the string representation
19433func (s UpdateNetworkProfileOutput) String() string {
19434	return awsutil.Prettify(s)
19435}
19436
19437// GoString returns the string representation
19438func (s UpdateNetworkProfileOutput) GoString() string {
19439	return s.String()
19440}
19441
19442// SetNetworkProfile sets the NetworkProfile field's value.
19443func (s *UpdateNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *UpdateNetworkProfileOutput {
19444	s.NetworkProfile = v
19445	return s
19446}
19447
19448// Represents a request to the update project operation.
19449type UpdateProjectInput struct {
19450	_ struct{} `type:"structure"`
19451
19452	// The Amazon Resource Name (ARN) of the project whose name to update.
19453	//
19454	// Arn is a required field
19455	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
19456
19457	// The number of minutes a test run in the project executes before it times
19458	// out.
19459	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
19460
19461	// A string that represents the new name of the project that you are updating.
19462	Name *string `locationName:"name" type:"string"`
19463}
19464
19465// String returns the string representation
19466func (s UpdateProjectInput) String() string {
19467	return awsutil.Prettify(s)
19468}
19469
19470// GoString returns the string representation
19471func (s UpdateProjectInput) GoString() string {
19472	return s.String()
19473}
19474
19475// Validate inspects the fields of the type to determine if they are valid.
19476func (s *UpdateProjectInput) Validate() error {
19477	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
19478	if s.Arn == nil {
19479		invalidParams.Add(request.NewErrParamRequired("Arn"))
19480	}
19481	if s.Arn != nil && len(*s.Arn) < 32 {
19482		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
19483	}
19484
19485	if invalidParams.Len() > 0 {
19486		return invalidParams
19487	}
19488	return nil
19489}
19490
19491// SetArn sets the Arn field's value.
19492func (s *UpdateProjectInput) SetArn(v string) *UpdateProjectInput {
19493	s.Arn = &v
19494	return s
19495}
19496
19497// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
19498func (s *UpdateProjectInput) SetDefaultJobTimeoutMinutes(v int64) *UpdateProjectInput {
19499	s.DefaultJobTimeoutMinutes = &v
19500	return s
19501}
19502
19503// SetName sets the Name field's value.
19504func (s *UpdateProjectInput) SetName(v string) *UpdateProjectInput {
19505	s.Name = &v
19506	return s
19507}
19508
19509// Represents the result of an update project request.
19510type UpdateProjectOutput struct {
19511	_ struct{} `type:"structure"`
19512
19513	// The project to update.
19514	Project *Project `locationName:"project" type:"structure"`
19515}
19516
19517// String returns the string representation
19518func (s UpdateProjectOutput) String() string {
19519	return awsutil.Prettify(s)
19520}
19521
19522// GoString returns the string representation
19523func (s UpdateProjectOutput) GoString() string {
19524	return s.String()
19525}
19526
19527// SetProject sets the Project field's value.
19528func (s *UpdateProjectOutput) SetProject(v *Project) *UpdateProjectOutput {
19529	s.Project = v
19530	return s
19531}
19532
19533type UpdateTestGridProjectInput struct {
19534	_ struct{} `type:"structure"`
19535
19536	// Human-readable description for the project.
19537	Description *string `locationName:"description" min:"1" type:"string"`
19538
19539	// Human-readable name for the project.
19540	Name *string `locationName:"name" min:"1" type:"string"`
19541
19542	// ARN of the project to update.
19543	//
19544	// ProjectArn is a required field
19545	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
19546
19547	// The VPC security groups and subnets that are attached to a project.
19548	VpcConfig *TestGridVpcConfig `locationName:"vpcConfig" type:"structure"`
19549}
19550
19551// String returns the string representation
19552func (s UpdateTestGridProjectInput) String() string {
19553	return awsutil.Prettify(s)
19554}
19555
19556// GoString returns the string representation
19557func (s UpdateTestGridProjectInput) GoString() string {
19558	return s.String()
19559}
19560
19561// Validate inspects the fields of the type to determine if they are valid.
19562func (s *UpdateTestGridProjectInput) Validate() error {
19563	invalidParams := request.ErrInvalidParams{Context: "UpdateTestGridProjectInput"}
19564	if s.Description != nil && len(*s.Description) < 1 {
19565		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
19566	}
19567	if s.Name != nil && len(*s.Name) < 1 {
19568		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
19569	}
19570	if s.ProjectArn == nil {
19571		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
19572	}
19573	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
19574		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
19575	}
19576	if s.VpcConfig != nil {
19577		if err := s.VpcConfig.Validate(); err != nil {
19578			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
19579		}
19580	}
19581
19582	if invalidParams.Len() > 0 {
19583		return invalidParams
19584	}
19585	return nil
19586}
19587
19588// SetDescription sets the Description field's value.
19589func (s *UpdateTestGridProjectInput) SetDescription(v string) *UpdateTestGridProjectInput {
19590	s.Description = &v
19591	return s
19592}
19593
19594// SetName sets the Name field's value.
19595func (s *UpdateTestGridProjectInput) SetName(v string) *UpdateTestGridProjectInput {
19596	s.Name = &v
19597	return s
19598}
19599
19600// SetProjectArn sets the ProjectArn field's value.
19601func (s *UpdateTestGridProjectInput) SetProjectArn(v string) *UpdateTestGridProjectInput {
19602	s.ProjectArn = &v
19603	return s
19604}
19605
19606// SetVpcConfig sets the VpcConfig field's value.
19607func (s *UpdateTestGridProjectInput) SetVpcConfig(v *TestGridVpcConfig) *UpdateTestGridProjectInput {
19608	s.VpcConfig = v
19609	return s
19610}
19611
19612type UpdateTestGridProjectOutput struct {
19613	_ struct{} `type:"structure"`
19614
19615	// The project, including updated information.
19616	TestGridProject *TestGridProject `locationName:"testGridProject" type:"structure"`
19617}
19618
19619// String returns the string representation
19620func (s UpdateTestGridProjectOutput) String() string {
19621	return awsutil.Prettify(s)
19622}
19623
19624// GoString returns the string representation
19625func (s UpdateTestGridProjectOutput) GoString() string {
19626	return s.String()
19627}
19628
19629// SetTestGridProject sets the TestGridProject field's value.
19630func (s *UpdateTestGridProjectOutput) SetTestGridProject(v *TestGridProject) *UpdateTestGridProjectOutput {
19631	s.TestGridProject = v
19632	return s
19633}
19634
19635type UpdateUploadInput struct {
19636	_ struct{} `type:"structure"`
19637
19638	// The Amazon Resource Name (ARN) of the uploaded test spec.
19639	//
19640	// Arn is a required field
19641	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
19642
19643	// The upload's content type (for example, application/x-yaml).
19644	ContentType *string `locationName:"contentType" type:"string"`
19645
19646	// Set to true if the YAML file has changed and must be updated. Otherwise,
19647	// set to false.
19648	EditContent *bool `locationName:"editContent" type:"boolean"`
19649
19650	// The upload's test spec file name. The name must not contain any forward slashes
19651	// (/). The test spec file name must end with the .yaml or .yml file extension.
19652	Name *string `locationName:"name" type:"string"`
19653}
19654
19655// String returns the string representation
19656func (s UpdateUploadInput) String() string {
19657	return awsutil.Prettify(s)
19658}
19659
19660// GoString returns the string representation
19661func (s UpdateUploadInput) GoString() string {
19662	return s.String()
19663}
19664
19665// Validate inspects the fields of the type to determine if they are valid.
19666func (s *UpdateUploadInput) Validate() error {
19667	invalidParams := request.ErrInvalidParams{Context: "UpdateUploadInput"}
19668	if s.Arn == nil {
19669		invalidParams.Add(request.NewErrParamRequired("Arn"))
19670	}
19671	if s.Arn != nil && len(*s.Arn) < 32 {
19672		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
19673	}
19674
19675	if invalidParams.Len() > 0 {
19676		return invalidParams
19677	}
19678	return nil
19679}
19680
19681// SetArn sets the Arn field's value.
19682func (s *UpdateUploadInput) SetArn(v string) *UpdateUploadInput {
19683	s.Arn = &v
19684	return s
19685}
19686
19687// SetContentType sets the ContentType field's value.
19688func (s *UpdateUploadInput) SetContentType(v string) *UpdateUploadInput {
19689	s.ContentType = &v
19690	return s
19691}
19692
19693// SetEditContent sets the EditContent field's value.
19694func (s *UpdateUploadInput) SetEditContent(v bool) *UpdateUploadInput {
19695	s.EditContent = &v
19696	return s
19697}
19698
19699// SetName sets the Name field's value.
19700func (s *UpdateUploadInput) SetName(v string) *UpdateUploadInput {
19701	s.Name = &v
19702	return s
19703}
19704
19705type UpdateUploadOutput struct {
19706	_ struct{} `type:"structure"`
19707
19708	// A test spec uploaded to Device Farm.
19709	Upload *Upload `locationName:"upload" type:"structure"`
19710}
19711
19712// String returns the string representation
19713func (s UpdateUploadOutput) String() string {
19714	return awsutil.Prettify(s)
19715}
19716
19717// GoString returns the string representation
19718func (s UpdateUploadOutput) GoString() string {
19719	return s.String()
19720}
19721
19722// SetUpload sets the Upload field's value.
19723func (s *UpdateUploadOutput) SetUpload(v *Upload) *UpdateUploadOutput {
19724	s.Upload = v
19725	return s
19726}
19727
19728type UpdateVPCEConfigurationInput struct {
19729	_ struct{} `type:"structure"`
19730
19731	// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want
19732	// to update.
19733	//
19734	// Arn is a required field
19735	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
19736
19737	// The DNS (domain) name used to connect to your private service in your VPC.
19738	// The DNS name must not already be in use on the internet.
19739	ServiceDnsName *string `locationName:"serviceDnsName" type:"string"`
19740
19741	// An optional description that provides details about your VPC endpoint configuration.
19742	VpceConfigurationDescription *string `locationName:"vpceConfigurationDescription" type:"string"`
19743
19744	// The friendly name you give to your VPC endpoint configuration to manage your
19745	// configurations more easily.
19746	VpceConfigurationName *string `locationName:"vpceConfigurationName" type:"string"`
19747
19748	// The name of the VPC endpoint service running in your AWS account that you
19749	// want Device Farm to test.
19750	VpceServiceName *string `locationName:"vpceServiceName" type:"string"`
19751}
19752
19753// String returns the string representation
19754func (s UpdateVPCEConfigurationInput) String() string {
19755	return awsutil.Prettify(s)
19756}
19757
19758// GoString returns the string representation
19759func (s UpdateVPCEConfigurationInput) GoString() string {
19760	return s.String()
19761}
19762
19763// Validate inspects the fields of the type to determine if they are valid.
19764func (s *UpdateVPCEConfigurationInput) Validate() error {
19765	invalidParams := request.ErrInvalidParams{Context: "UpdateVPCEConfigurationInput"}
19766	if s.Arn == nil {
19767		invalidParams.Add(request.NewErrParamRequired("Arn"))
19768	}
19769	if s.Arn != nil && len(*s.Arn) < 32 {
19770		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
19771	}
19772
19773	if invalidParams.Len() > 0 {
19774		return invalidParams
19775	}
19776	return nil
19777}
19778
19779// SetArn sets the Arn field's value.
19780func (s *UpdateVPCEConfigurationInput) SetArn(v string) *UpdateVPCEConfigurationInput {
19781	s.Arn = &v
19782	return s
19783}
19784
19785// SetServiceDnsName sets the ServiceDnsName field's value.
19786func (s *UpdateVPCEConfigurationInput) SetServiceDnsName(v string) *UpdateVPCEConfigurationInput {
19787	s.ServiceDnsName = &v
19788	return s
19789}
19790
19791// SetVpceConfigurationDescription sets the VpceConfigurationDescription field's value.
19792func (s *UpdateVPCEConfigurationInput) SetVpceConfigurationDescription(v string) *UpdateVPCEConfigurationInput {
19793	s.VpceConfigurationDescription = &v
19794	return s
19795}
19796
19797// SetVpceConfigurationName sets the VpceConfigurationName field's value.
19798func (s *UpdateVPCEConfigurationInput) SetVpceConfigurationName(v string) *UpdateVPCEConfigurationInput {
19799	s.VpceConfigurationName = &v
19800	return s
19801}
19802
19803// SetVpceServiceName sets the VpceServiceName field's value.
19804func (s *UpdateVPCEConfigurationInput) SetVpceServiceName(v string) *UpdateVPCEConfigurationInput {
19805	s.VpceServiceName = &v
19806	return s
19807}
19808
19809type UpdateVPCEConfigurationOutput struct {
19810	_ struct{} `type:"structure"`
19811
19812	// An object that contains information about your VPC endpoint configuration.
19813	VpceConfiguration *VPCEConfiguration `locationName:"vpceConfiguration" type:"structure"`
19814}
19815
19816// String returns the string representation
19817func (s UpdateVPCEConfigurationOutput) String() string {
19818	return awsutil.Prettify(s)
19819}
19820
19821// GoString returns the string representation
19822func (s UpdateVPCEConfigurationOutput) GoString() string {
19823	return s.String()
19824}
19825
19826// SetVpceConfiguration sets the VpceConfiguration field's value.
19827func (s *UpdateVPCEConfigurationOutput) SetVpceConfiguration(v *VPCEConfiguration) *UpdateVPCEConfigurationOutput {
19828	s.VpceConfiguration = v
19829	return s
19830}
19831
19832// An app or a set of one or more tests to upload or that have been uploaded.
19833type Upload struct {
19834	_ struct{} `type:"structure"`
19835
19836	// The upload's ARN.
19837	Arn *string `locationName:"arn" min:"32" type:"string"`
19838
19839	// The upload's category. Allowed values include:
19840	//
19841	//    * CURATED: An upload managed by AWS Device Farm.
19842	//
19843	//    * PRIVATE: An upload managed by the AWS Device Farm customer.
19844	Category *string `locationName:"category" type:"string" enum:"UploadCategory"`
19845
19846	// The upload's content type (for example, application/octet-stream).
19847	ContentType *string `locationName:"contentType" type:"string"`
19848
19849	// When the upload was created.
19850	Created *time.Time `locationName:"created" type:"timestamp"`
19851
19852	// A message about the upload's result.
19853	Message *string `locationName:"message" type:"string"`
19854
19855	// The upload's metadata. For example, for Android, this contains information
19856	// that is parsed from the manifest and is displayed in the AWS Device Farm
19857	// console after the associated app is uploaded.
19858	Metadata *string `locationName:"metadata" type:"string"`
19859
19860	// The upload's file name.
19861	Name *string `locationName:"name" type:"string"`
19862
19863	// The upload's status.
19864	//
19865	// Must be one of the following values:
19866	//
19867	//    * FAILED
19868	//
19869	//    * INITIALIZED
19870	//
19871	//    * PROCESSING
19872	//
19873	//    * SUCCEEDED
19874	Status *string `locationName:"status" type:"string" enum:"UploadStatus"`
19875
19876	// The upload's type.
19877	//
19878	// Must be one of the following values:
19879	//
19880	//    * ANDROID_APP
19881	//
19882	//    * IOS_APP
19883	//
19884	//    * WEB_APP
19885	//
19886	//    * EXTERNAL_DATA
19887	//
19888	//    * APPIUM_JAVA_JUNIT_TEST_PACKAGE
19889	//
19890	//    * APPIUM_JAVA_TESTNG_TEST_PACKAGE
19891	//
19892	//    * APPIUM_PYTHON_TEST_PACKAGE
19893	//
19894	//    * APPIUM_NODE_TEST_PACKAGE
19895	//
19896	//    * APPIUM_RUBY_TEST_PACKAGE
19897	//
19898	//    * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
19899	//
19900	//    * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
19901	//
19902	//    * APPIUM_WEB_PYTHON_TEST_PACKAGE
19903	//
19904	//    * APPIUM_WEB_NODE_TEST_PACKAGE
19905	//
19906	//    * APPIUM_WEB_RUBY_TEST_PACKAGE
19907	//
19908	//    * CALABASH_TEST_PACKAGE
19909	//
19910	//    * INSTRUMENTATION_TEST_PACKAGE
19911	//
19912	//    * UIAUTOMATION_TEST_PACKAGE
19913	//
19914	//    * UIAUTOMATOR_TEST_PACKAGE
19915	//
19916	//    * XCTEST_TEST_PACKAGE
19917	//
19918	//    * XCTEST_UI_TEST_PACKAGE
19919	//
19920	//    * APPIUM_JAVA_JUNIT_TEST_SPEC
19921	//
19922	//    * APPIUM_JAVA_TESTNG_TEST_SPEC
19923	//
19924	//    * APPIUM_PYTHON_TEST_SPEC
19925	//
19926	//    * APPIUM_NODE_TEST_SPEC
19927	//
19928	//    * APPIUM_RUBY_TEST_SPEC
19929	//
19930	//    * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
19931	//
19932	//    * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
19933	//
19934	//    * APPIUM_WEB_PYTHON_TEST_SPEC
19935	//
19936	//    * APPIUM_WEB_NODE_TEST_SPEC
19937	//
19938	//    * APPIUM_WEB_RUBY_TEST_SPEC
19939	//
19940	//    * INSTRUMENTATION_TEST_SPEC
19941	//
19942	//    * XCTEST_UI_TEST_SPEC
19943	Type *string `locationName:"type" type:"string" enum:"UploadType"`
19944
19945	// The presigned Amazon S3 URL that was used to store a file using a PUT request.
19946	Url *string `locationName:"url" type:"string" sensitive:"true"`
19947}
19948
19949// String returns the string representation
19950func (s Upload) String() string {
19951	return awsutil.Prettify(s)
19952}
19953
19954// GoString returns the string representation
19955func (s Upload) GoString() string {
19956	return s.String()
19957}
19958
19959// SetArn sets the Arn field's value.
19960func (s *Upload) SetArn(v string) *Upload {
19961	s.Arn = &v
19962	return s
19963}
19964
19965// SetCategory sets the Category field's value.
19966func (s *Upload) SetCategory(v string) *Upload {
19967	s.Category = &v
19968	return s
19969}
19970
19971// SetContentType sets the ContentType field's value.
19972func (s *Upload) SetContentType(v string) *Upload {
19973	s.ContentType = &v
19974	return s
19975}
19976
19977// SetCreated sets the Created field's value.
19978func (s *Upload) SetCreated(v time.Time) *Upload {
19979	s.Created = &v
19980	return s
19981}
19982
19983// SetMessage sets the Message field's value.
19984func (s *Upload) SetMessage(v string) *Upload {
19985	s.Message = &v
19986	return s
19987}
19988
19989// SetMetadata sets the Metadata field's value.
19990func (s *Upload) SetMetadata(v string) *Upload {
19991	s.Metadata = &v
19992	return s
19993}
19994
19995// SetName sets the Name field's value.
19996func (s *Upload) SetName(v string) *Upload {
19997	s.Name = &v
19998	return s
19999}
20000
20001// SetStatus sets the Status field's value.
20002func (s *Upload) SetStatus(v string) *Upload {
20003	s.Status = &v
20004	return s
20005}
20006
20007// SetType sets the Type field's value.
20008func (s *Upload) SetType(v string) *Upload {
20009	s.Type = &v
20010	return s
20011}
20012
20013// SetUrl sets the Url field's value.
20014func (s *Upload) SetUrl(v string) *Upload {
20015	s.Url = &v
20016	return s
20017}
20018
20019// Represents an Amazon Virtual Private Cloud (VPC) endpoint configuration.
20020type VPCEConfiguration struct {
20021	_ struct{} `type:"structure"`
20022
20023	// The Amazon Resource Name (ARN) of the VPC endpoint configuration.
20024	Arn *string `locationName:"arn" min:"32" type:"string"`
20025
20026	// The DNS name that maps to the private IP address of the service you want
20027	// to access.
20028	ServiceDnsName *string `locationName:"serviceDnsName" type:"string"`
20029
20030	// An optional description that provides details about your VPC endpoint configuration.
20031	VpceConfigurationDescription *string `locationName:"vpceConfigurationDescription" type:"string"`
20032
20033	// The friendly name you give to your VPC endpoint configuration to manage your
20034	// configurations more easily.
20035	VpceConfigurationName *string `locationName:"vpceConfigurationName" type:"string"`
20036
20037	// The name of the VPC endpoint service running in your AWS account that you
20038	// want Device Farm to test.
20039	VpceServiceName *string `locationName:"vpceServiceName" type:"string"`
20040}
20041
20042// String returns the string representation
20043func (s VPCEConfiguration) String() string {
20044	return awsutil.Prettify(s)
20045}
20046
20047// GoString returns the string representation
20048func (s VPCEConfiguration) GoString() string {
20049	return s.String()
20050}
20051
20052// SetArn sets the Arn field's value.
20053func (s *VPCEConfiguration) SetArn(v string) *VPCEConfiguration {
20054	s.Arn = &v
20055	return s
20056}
20057
20058// SetServiceDnsName sets the ServiceDnsName field's value.
20059func (s *VPCEConfiguration) SetServiceDnsName(v string) *VPCEConfiguration {
20060	s.ServiceDnsName = &v
20061	return s
20062}
20063
20064// SetVpceConfigurationDescription sets the VpceConfigurationDescription field's value.
20065func (s *VPCEConfiguration) SetVpceConfigurationDescription(v string) *VPCEConfiguration {
20066	s.VpceConfigurationDescription = &v
20067	return s
20068}
20069
20070// SetVpceConfigurationName sets the VpceConfigurationName field's value.
20071func (s *VPCEConfiguration) SetVpceConfigurationName(v string) *VPCEConfiguration {
20072	s.VpceConfigurationName = &v
20073	return s
20074}
20075
20076// SetVpceServiceName sets the VpceServiceName field's value.
20077func (s *VPCEConfiguration) SetVpceServiceName(v string) *VPCEConfiguration {
20078	s.VpceServiceName = &v
20079	return s
20080}
20081
20082const (
20083	// ArtifactCategoryScreenshot is a ArtifactCategory enum value
20084	ArtifactCategoryScreenshot = "SCREENSHOT"
20085
20086	// ArtifactCategoryFile is a ArtifactCategory enum value
20087	ArtifactCategoryFile = "FILE"
20088
20089	// ArtifactCategoryLog is a ArtifactCategory enum value
20090	ArtifactCategoryLog = "LOG"
20091)
20092
20093// ArtifactCategory_Values returns all elements of the ArtifactCategory enum
20094func ArtifactCategory_Values() []string {
20095	return []string{
20096		ArtifactCategoryScreenshot,
20097		ArtifactCategoryFile,
20098		ArtifactCategoryLog,
20099	}
20100}
20101
20102const (
20103	// ArtifactTypeUnknown is a ArtifactType enum value
20104	ArtifactTypeUnknown = "UNKNOWN"
20105
20106	// ArtifactTypeScreenshot is a ArtifactType enum value
20107	ArtifactTypeScreenshot = "SCREENSHOT"
20108
20109	// ArtifactTypeDeviceLog is a ArtifactType enum value
20110	ArtifactTypeDeviceLog = "DEVICE_LOG"
20111
20112	// ArtifactTypeMessageLog is a ArtifactType enum value
20113	ArtifactTypeMessageLog = "MESSAGE_LOG"
20114
20115	// ArtifactTypeVideoLog is a ArtifactType enum value
20116	ArtifactTypeVideoLog = "VIDEO_LOG"
20117
20118	// ArtifactTypeResultLog is a ArtifactType enum value
20119	ArtifactTypeResultLog = "RESULT_LOG"
20120
20121	// ArtifactTypeServiceLog is a ArtifactType enum value
20122	ArtifactTypeServiceLog = "SERVICE_LOG"
20123
20124	// ArtifactTypeWebkitLog is a ArtifactType enum value
20125	ArtifactTypeWebkitLog = "WEBKIT_LOG"
20126
20127	// ArtifactTypeInstrumentationOutput is a ArtifactType enum value
20128	ArtifactTypeInstrumentationOutput = "INSTRUMENTATION_OUTPUT"
20129
20130	// ArtifactTypeExerciserMonkeyOutput is a ArtifactType enum value
20131	ArtifactTypeExerciserMonkeyOutput = "EXERCISER_MONKEY_OUTPUT"
20132
20133	// ArtifactTypeCalabashJsonOutput is a ArtifactType enum value
20134	ArtifactTypeCalabashJsonOutput = "CALABASH_JSON_OUTPUT"
20135
20136	// ArtifactTypeCalabashPrettyOutput is a ArtifactType enum value
20137	ArtifactTypeCalabashPrettyOutput = "CALABASH_PRETTY_OUTPUT"
20138
20139	// ArtifactTypeCalabashStandardOutput is a ArtifactType enum value
20140	ArtifactTypeCalabashStandardOutput = "CALABASH_STANDARD_OUTPUT"
20141
20142	// ArtifactTypeCalabashJavaXmlOutput is a ArtifactType enum value
20143	ArtifactTypeCalabashJavaXmlOutput = "CALABASH_JAVA_XML_OUTPUT"
20144
20145	// ArtifactTypeAutomationOutput is a ArtifactType enum value
20146	ArtifactTypeAutomationOutput = "AUTOMATION_OUTPUT"
20147
20148	// ArtifactTypeAppiumServerOutput is a ArtifactType enum value
20149	ArtifactTypeAppiumServerOutput = "APPIUM_SERVER_OUTPUT"
20150
20151	// ArtifactTypeAppiumJavaOutput is a ArtifactType enum value
20152	ArtifactTypeAppiumJavaOutput = "APPIUM_JAVA_OUTPUT"
20153
20154	// ArtifactTypeAppiumJavaXmlOutput is a ArtifactType enum value
20155	ArtifactTypeAppiumJavaXmlOutput = "APPIUM_JAVA_XML_OUTPUT"
20156
20157	// ArtifactTypeAppiumPythonOutput is a ArtifactType enum value
20158	ArtifactTypeAppiumPythonOutput = "APPIUM_PYTHON_OUTPUT"
20159
20160	// ArtifactTypeAppiumPythonXmlOutput is a ArtifactType enum value
20161	ArtifactTypeAppiumPythonXmlOutput = "APPIUM_PYTHON_XML_OUTPUT"
20162
20163	// ArtifactTypeExplorerEventLog is a ArtifactType enum value
20164	ArtifactTypeExplorerEventLog = "EXPLORER_EVENT_LOG"
20165
20166	// ArtifactTypeExplorerSummaryLog is a ArtifactType enum value
20167	ArtifactTypeExplorerSummaryLog = "EXPLORER_SUMMARY_LOG"
20168
20169	// ArtifactTypeApplicationCrashReport is a ArtifactType enum value
20170	ArtifactTypeApplicationCrashReport = "APPLICATION_CRASH_REPORT"
20171
20172	// ArtifactTypeXctestLog is a ArtifactType enum value
20173	ArtifactTypeXctestLog = "XCTEST_LOG"
20174
20175	// ArtifactTypeVideo is a ArtifactType enum value
20176	ArtifactTypeVideo = "VIDEO"
20177
20178	// ArtifactTypeCustomerArtifact is a ArtifactType enum value
20179	ArtifactTypeCustomerArtifact = "CUSTOMER_ARTIFACT"
20180
20181	// ArtifactTypeCustomerArtifactLog is a ArtifactType enum value
20182	ArtifactTypeCustomerArtifactLog = "CUSTOMER_ARTIFACT_LOG"
20183
20184	// ArtifactTypeTestspecOutput is a ArtifactType enum value
20185	ArtifactTypeTestspecOutput = "TESTSPEC_OUTPUT"
20186)
20187
20188// ArtifactType_Values returns all elements of the ArtifactType enum
20189func ArtifactType_Values() []string {
20190	return []string{
20191		ArtifactTypeUnknown,
20192		ArtifactTypeScreenshot,
20193		ArtifactTypeDeviceLog,
20194		ArtifactTypeMessageLog,
20195		ArtifactTypeVideoLog,
20196		ArtifactTypeResultLog,
20197		ArtifactTypeServiceLog,
20198		ArtifactTypeWebkitLog,
20199		ArtifactTypeInstrumentationOutput,
20200		ArtifactTypeExerciserMonkeyOutput,
20201		ArtifactTypeCalabashJsonOutput,
20202		ArtifactTypeCalabashPrettyOutput,
20203		ArtifactTypeCalabashStandardOutput,
20204		ArtifactTypeCalabashJavaXmlOutput,
20205		ArtifactTypeAutomationOutput,
20206		ArtifactTypeAppiumServerOutput,
20207		ArtifactTypeAppiumJavaOutput,
20208		ArtifactTypeAppiumJavaXmlOutput,
20209		ArtifactTypeAppiumPythonOutput,
20210		ArtifactTypeAppiumPythonXmlOutput,
20211		ArtifactTypeExplorerEventLog,
20212		ArtifactTypeExplorerSummaryLog,
20213		ArtifactTypeApplicationCrashReport,
20214		ArtifactTypeXctestLog,
20215		ArtifactTypeVideo,
20216		ArtifactTypeCustomerArtifact,
20217		ArtifactTypeCustomerArtifactLog,
20218		ArtifactTypeTestspecOutput,
20219	}
20220}
20221
20222const (
20223	// BillingMethodMetered is a BillingMethod enum value
20224	BillingMethodMetered = "METERED"
20225
20226	// BillingMethodUnmetered is a BillingMethod enum value
20227	BillingMethodUnmetered = "UNMETERED"
20228)
20229
20230// BillingMethod_Values returns all elements of the BillingMethod enum
20231func BillingMethod_Values() []string {
20232	return []string{
20233		BillingMethodMetered,
20234		BillingMethodUnmetered,
20235	}
20236}
20237
20238const (
20239	// CurrencyCodeUsd is a CurrencyCode enum value
20240	CurrencyCodeUsd = "USD"
20241)
20242
20243// CurrencyCode_Values returns all elements of the CurrencyCode enum
20244func CurrencyCode_Values() []string {
20245	return []string{
20246		CurrencyCodeUsd,
20247	}
20248}
20249
20250const (
20251	// DeviceAttributeArn is a DeviceAttribute enum value
20252	DeviceAttributeArn = "ARN"
20253
20254	// DeviceAttributePlatform is a DeviceAttribute enum value
20255	DeviceAttributePlatform = "PLATFORM"
20256
20257	// DeviceAttributeFormFactor is a DeviceAttribute enum value
20258	DeviceAttributeFormFactor = "FORM_FACTOR"
20259
20260	// DeviceAttributeManufacturer is a DeviceAttribute enum value
20261	DeviceAttributeManufacturer = "MANUFACTURER"
20262
20263	// DeviceAttributeRemoteAccessEnabled is a DeviceAttribute enum value
20264	DeviceAttributeRemoteAccessEnabled = "REMOTE_ACCESS_ENABLED"
20265
20266	// DeviceAttributeRemoteDebugEnabled is a DeviceAttribute enum value
20267	DeviceAttributeRemoteDebugEnabled = "REMOTE_DEBUG_ENABLED"
20268
20269	// DeviceAttributeAppiumVersion is a DeviceAttribute enum value
20270	DeviceAttributeAppiumVersion = "APPIUM_VERSION"
20271
20272	// DeviceAttributeInstanceArn is a DeviceAttribute enum value
20273	DeviceAttributeInstanceArn = "INSTANCE_ARN"
20274
20275	// DeviceAttributeInstanceLabels is a DeviceAttribute enum value
20276	DeviceAttributeInstanceLabels = "INSTANCE_LABELS"
20277
20278	// DeviceAttributeFleetType is a DeviceAttribute enum value
20279	DeviceAttributeFleetType = "FLEET_TYPE"
20280
20281	// DeviceAttributeOsVersion is a DeviceAttribute enum value
20282	DeviceAttributeOsVersion = "OS_VERSION"
20283
20284	// DeviceAttributeModel is a DeviceAttribute enum value
20285	DeviceAttributeModel = "MODEL"
20286
20287	// DeviceAttributeAvailability is a DeviceAttribute enum value
20288	DeviceAttributeAvailability = "AVAILABILITY"
20289)
20290
20291// DeviceAttribute_Values returns all elements of the DeviceAttribute enum
20292func DeviceAttribute_Values() []string {
20293	return []string{
20294		DeviceAttributeArn,
20295		DeviceAttributePlatform,
20296		DeviceAttributeFormFactor,
20297		DeviceAttributeManufacturer,
20298		DeviceAttributeRemoteAccessEnabled,
20299		DeviceAttributeRemoteDebugEnabled,
20300		DeviceAttributeAppiumVersion,
20301		DeviceAttributeInstanceArn,
20302		DeviceAttributeInstanceLabels,
20303		DeviceAttributeFleetType,
20304		DeviceAttributeOsVersion,
20305		DeviceAttributeModel,
20306		DeviceAttributeAvailability,
20307	}
20308}
20309
20310const (
20311	// DeviceAvailabilityTemporaryNotAvailable is a DeviceAvailability enum value
20312	DeviceAvailabilityTemporaryNotAvailable = "TEMPORARY_NOT_AVAILABLE"
20313
20314	// DeviceAvailabilityBusy is a DeviceAvailability enum value
20315	DeviceAvailabilityBusy = "BUSY"
20316
20317	// DeviceAvailabilityAvailable is a DeviceAvailability enum value
20318	DeviceAvailabilityAvailable = "AVAILABLE"
20319
20320	// DeviceAvailabilityHighlyAvailable is a DeviceAvailability enum value
20321	DeviceAvailabilityHighlyAvailable = "HIGHLY_AVAILABLE"
20322)
20323
20324// DeviceAvailability_Values returns all elements of the DeviceAvailability enum
20325func DeviceAvailability_Values() []string {
20326	return []string{
20327		DeviceAvailabilityTemporaryNotAvailable,
20328		DeviceAvailabilityBusy,
20329		DeviceAvailabilityAvailable,
20330		DeviceAvailabilityHighlyAvailable,
20331	}
20332}
20333
20334const (
20335	// DeviceFilterAttributeArn is a DeviceFilterAttribute enum value
20336	DeviceFilterAttributeArn = "ARN"
20337
20338	// DeviceFilterAttributePlatform is a DeviceFilterAttribute enum value
20339	DeviceFilterAttributePlatform = "PLATFORM"
20340
20341	// DeviceFilterAttributeOsVersion is a DeviceFilterAttribute enum value
20342	DeviceFilterAttributeOsVersion = "OS_VERSION"
20343
20344	// DeviceFilterAttributeModel is a DeviceFilterAttribute enum value
20345	DeviceFilterAttributeModel = "MODEL"
20346
20347	// DeviceFilterAttributeAvailability is a DeviceFilterAttribute enum value
20348	DeviceFilterAttributeAvailability = "AVAILABILITY"
20349
20350	// DeviceFilterAttributeFormFactor is a DeviceFilterAttribute enum value
20351	DeviceFilterAttributeFormFactor = "FORM_FACTOR"
20352
20353	// DeviceFilterAttributeManufacturer is a DeviceFilterAttribute enum value
20354	DeviceFilterAttributeManufacturer = "MANUFACTURER"
20355
20356	// DeviceFilterAttributeRemoteAccessEnabled is a DeviceFilterAttribute enum value
20357	DeviceFilterAttributeRemoteAccessEnabled = "REMOTE_ACCESS_ENABLED"
20358
20359	// DeviceFilterAttributeRemoteDebugEnabled is a DeviceFilterAttribute enum value
20360	DeviceFilterAttributeRemoteDebugEnabled = "REMOTE_DEBUG_ENABLED"
20361
20362	// DeviceFilterAttributeInstanceArn is a DeviceFilterAttribute enum value
20363	DeviceFilterAttributeInstanceArn = "INSTANCE_ARN"
20364
20365	// DeviceFilterAttributeInstanceLabels is a DeviceFilterAttribute enum value
20366	DeviceFilterAttributeInstanceLabels = "INSTANCE_LABELS"
20367
20368	// DeviceFilterAttributeFleetType is a DeviceFilterAttribute enum value
20369	DeviceFilterAttributeFleetType = "FLEET_TYPE"
20370)
20371
20372// DeviceFilterAttribute_Values returns all elements of the DeviceFilterAttribute enum
20373func DeviceFilterAttribute_Values() []string {
20374	return []string{
20375		DeviceFilterAttributeArn,
20376		DeviceFilterAttributePlatform,
20377		DeviceFilterAttributeOsVersion,
20378		DeviceFilterAttributeModel,
20379		DeviceFilterAttributeAvailability,
20380		DeviceFilterAttributeFormFactor,
20381		DeviceFilterAttributeManufacturer,
20382		DeviceFilterAttributeRemoteAccessEnabled,
20383		DeviceFilterAttributeRemoteDebugEnabled,
20384		DeviceFilterAttributeInstanceArn,
20385		DeviceFilterAttributeInstanceLabels,
20386		DeviceFilterAttributeFleetType,
20387	}
20388}
20389
20390const (
20391	// DeviceFormFactorPhone is a DeviceFormFactor enum value
20392	DeviceFormFactorPhone = "PHONE"
20393
20394	// DeviceFormFactorTablet is a DeviceFormFactor enum value
20395	DeviceFormFactorTablet = "TABLET"
20396)
20397
20398// DeviceFormFactor_Values returns all elements of the DeviceFormFactor enum
20399func DeviceFormFactor_Values() []string {
20400	return []string{
20401		DeviceFormFactorPhone,
20402		DeviceFormFactorTablet,
20403	}
20404}
20405
20406const (
20407	// DevicePlatformAndroid is a DevicePlatform enum value
20408	DevicePlatformAndroid = "ANDROID"
20409
20410	// DevicePlatformIos is a DevicePlatform enum value
20411	DevicePlatformIos = "IOS"
20412)
20413
20414// DevicePlatform_Values returns all elements of the DevicePlatform enum
20415func DevicePlatform_Values() []string {
20416	return []string{
20417		DevicePlatformAndroid,
20418		DevicePlatformIos,
20419	}
20420}
20421
20422const (
20423	// DevicePoolTypeCurated is a DevicePoolType enum value
20424	DevicePoolTypeCurated = "CURATED"
20425
20426	// DevicePoolTypePrivate is a DevicePoolType enum value
20427	DevicePoolTypePrivate = "PRIVATE"
20428)
20429
20430// DevicePoolType_Values returns all elements of the DevicePoolType enum
20431func DevicePoolType_Values() []string {
20432	return []string{
20433		DevicePoolTypeCurated,
20434		DevicePoolTypePrivate,
20435	}
20436}
20437
20438const (
20439	// ExecutionResultPending is a ExecutionResult enum value
20440	ExecutionResultPending = "PENDING"
20441
20442	// ExecutionResultPassed is a ExecutionResult enum value
20443	ExecutionResultPassed = "PASSED"
20444
20445	// ExecutionResultWarned is a ExecutionResult enum value
20446	ExecutionResultWarned = "WARNED"
20447
20448	// ExecutionResultFailed is a ExecutionResult enum value
20449	ExecutionResultFailed = "FAILED"
20450
20451	// ExecutionResultSkipped is a ExecutionResult enum value
20452	ExecutionResultSkipped = "SKIPPED"
20453
20454	// ExecutionResultErrored is a ExecutionResult enum value
20455	ExecutionResultErrored = "ERRORED"
20456
20457	// ExecutionResultStopped is a ExecutionResult enum value
20458	ExecutionResultStopped = "STOPPED"
20459)
20460
20461// ExecutionResult_Values returns all elements of the ExecutionResult enum
20462func ExecutionResult_Values() []string {
20463	return []string{
20464		ExecutionResultPending,
20465		ExecutionResultPassed,
20466		ExecutionResultWarned,
20467		ExecutionResultFailed,
20468		ExecutionResultSkipped,
20469		ExecutionResultErrored,
20470		ExecutionResultStopped,
20471	}
20472}
20473
20474const (
20475	// ExecutionResultCodeParsingFailed is a ExecutionResultCode enum value
20476	ExecutionResultCodeParsingFailed = "PARSING_FAILED"
20477
20478	// ExecutionResultCodeVpcEndpointSetupFailed is a ExecutionResultCode enum value
20479	ExecutionResultCodeVpcEndpointSetupFailed = "VPC_ENDPOINT_SETUP_FAILED"
20480)
20481
20482// ExecutionResultCode_Values returns all elements of the ExecutionResultCode enum
20483func ExecutionResultCode_Values() []string {
20484	return []string{
20485		ExecutionResultCodeParsingFailed,
20486		ExecutionResultCodeVpcEndpointSetupFailed,
20487	}
20488}
20489
20490const (
20491	// ExecutionStatusPending is a ExecutionStatus enum value
20492	ExecutionStatusPending = "PENDING"
20493
20494	// ExecutionStatusPendingConcurrency is a ExecutionStatus enum value
20495	ExecutionStatusPendingConcurrency = "PENDING_CONCURRENCY"
20496
20497	// ExecutionStatusPendingDevice is a ExecutionStatus enum value
20498	ExecutionStatusPendingDevice = "PENDING_DEVICE"
20499
20500	// ExecutionStatusProcessing is a ExecutionStatus enum value
20501	ExecutionStatusProcessing = "PROCESSING"
20502
20503	// ExecutionStatusScheduling is a ExecutionStatus enum value
20504	ExecutionStatusScheduling = "SCHEDULING"
20505
20506	// ExecutionStatusPreparing is a ExecutionStatus enum value
20507	ExecutionStatusPreparing = "PREPARING"
20508
20509	// ExecutionStatusRunning is a ExecutionStatus enum value
20510	ExecutionStatusRunning = "RUNNING"
20511
20512	// ExecutionStatusCompleted is a ExecutionStatus enum value
20513	ExecutionStatusCompleted = "COMPLETED"
20514
20515	// ExecutionStatusStopping is a ExecutionStatus enum value
20516	ExecutionStatusStopping = "STOPPING"
20517)
20518
20519// ExecutionStatus_Values returns all elements of the ExecutionStatus enum
20520func ExecutionStatus_Values() []string {
20521	return []string{
20522		ExecutionStatusPending,
20523		ExecutionStatusPendingConcurrency,
20524		ExecutionStatusPendingDevice,
20525		ExecutionStatusProcessing,
20526		ExecutionStatusScheduling,
20527		ExecutionStatusPreparing,
20528		ExecutionStatusRunning,
20529		ExecutionStatusCompleted,
20530		ExecutionStatusStopping,
20531	}
20532}
20533
20534const (
20535	// InstanceStatusInUse is a InstanceStatus enum value
20536	InstanceStatusInUse = "IN_USE"
20537
20538	// InstanceStatusPreparing is a InstanceStatus enum value
20539	InstanceStatusPreparing = "PREPARING"
20540
20541	// InstanceStatusAvailable is a InstanceStatus enum value
20542	InstanceStatusAvailable = "AVAILABLE"
20543
20544	// InstanceStatusNotAvailable is a InstanceStatus enum value
20545	InstanceStatusNotAvailable = "NOT_AVAILABLE"
20546)
20547
20548// InstanceStatus_Values returns all elements of the InstanceStatus enum
20549func InstanceStatus_Values() []string {
20550	return []string{
20551		InstanceStatusInUse,
20552		InstanceStatusPreparing,
20553		InstanceStatusAvailable,
20554		InstanceStatusNotAvailable,
20555	}
20556}
20557
20558const (
20559	// InteractionModeInteractive is a InteractionMode enum value
20560	InteractionModeInteractive = "INTERACTIVE"
20561
20562	// InteractionModeNoVideo is a InteractionMode enum value
20563	InteractionModeNoVideo = "NO_VIDEO"
20564
20565	// InteractionModeVideoOnly is a InteractionMode enum value
20566	InteractionModeVideoOnly = "VIDEO_ONLY"
20567)
20568
20569// InteractionMode_Values returns all elements of the InteractionMode enum
20570func InteractionMode_Values() []string {
20571	return []string{
20572		InteractionModeInteractive,
20573		InteractionModeNoVideo,
20574		InteractionModeVideoOnly,
20575	}
20576}
20577
20578const (
20579	// NetworkProfileTypeCurated is a NetworkProfileType enum value
20580	NetworkProfileTypeCurated = "CURATED"
20581
20582	// NetworkProfileTypePrivate is a NetworkProfileType enum value
20583	NetworkProfileTypePrivate = "PRIVATE"
20584)
20585
20586// NetworkProfileType_Values returns all elements of the NetworkProfileType enum
20587func NetworkProfileType_Values() []string {
20588	return []string{
20589		NetworkProfileTypeCurated,
20590		NetworkProfileTypePrivate,
20591	}
20592}
20593
20594const (
20595	// OfferingTransactionTypePurchase is a OfferingTransactionType enum value
20596	OfferingTransactionTypePurchase = "PURCHASE"
20597
20598	// OfferingTransactionTypeRenew is a OfferingTransactionType enum value
20599	OfferingTransactionTypeRenew = "RENEW"
20600
20601	// OfferingTransactionTypeSystem is a OfferingTransactionType enum value
20602	OfferingTransactionTypeSystem = "SYSTEM"
20603)
20604
20605// OfferingTransactionType_Values returns all elements of the OfferingTransactionType enum
20606func OfferingTransactionType_Values() []string {
20607	return []string{
20608		OfferingTransactionTypePurchase,
20609		OfferingTransactionTypeRenew,
20610		OfferingTransactionTypeSystem,
20611	}
20612}
20613
20614const (
20615	// OfferingTypeRecurring is a OfferingType enum value
20616	OfferingTypeRecurring = "RECURRING"
20617)
20618
20619// OfferingType_Values returns all elements of the OfferingType enum
20620func OfferingType_Values() []string {
20621	return []string{
20622		OfferingTypeRecurring,
20623	}
20624}
20625
20626const (
20627	// RecurringChargeFrequencyMonthly is a RecurringChargeFrequency enum value
20628	RecurringChargeFrequencyMonthly = "MONTHLY"
20629)
20630
20631// RecurringChargeFrequency_Values returns all elements of the RecurringChargeFrequency enum
20632func RecurringChargeFrequency_Values() []string {
20633	return []string{
20634		RecurringChargeFrequencyMonthly,
20635	}
20636}
20637
20638const (
20639	// RuleOperatorEquals is a RuleOperator enum value
20640	RuleOperatorEquals = "EQUALS"
20641
20642	// RuleOperatorLessThan is a RuleOperator enum value
20643	RuleOperatorLessThan = "LESS_THAN"
20644
20645	// RuleOperatorLessThanOrEquals is a RuleOperator enum value
20646	RuleOperatorLessThanOrEquals = "LESS_THAN_OR_EQUALS"
20647
20648	// RuleOperatorGreaterThan is a RuleOperator enum value
20649	RuleOperatorGreaterThan = "GREATER_THAN"
20650
20651	// RuleOperatorGreaterThanOrEquals is a RuleOperator enum value
20652	RuleOperatorGreaterThanOrEquals = "GREATER_THAN_OR_EQUALS"
20653
20654	// RuleOperatorIn is a RuleOperator enum value
20655	RuleOperatorIn = "IN"
20656
20657	// RuleOperatorNotIn is a RuleOperator enum value
20658	RuleOperatorNotIn = "NOT_IN"
20659
20660	// RuleOperatorContains is a RuleOperator enum value
20661	RuleOperatorContains = "CONTAINS"
20662)
20663
20664// RuleOperator_Values returns all elements of the RuleOperator enum
20665func RuleOperator_Values() []string {
20666	return []string{
20667		RuleOperatorEquals,
20668		RuleOperatorLessThan,
20669		RuleOperatorLessThanOrEquals,
20670		RuleOperatorGreaterThan,
20671		RuleOperatorGreaterThanOrEquals,
20672		RuleOperatorIn,
20673		RuleOperatorNotIn,
20674		RuleOperatorContains,
20675	}
20676}
20677
20678const (
20679	// SampleTypeCpu is a SampleType enum value
20680	SampleTypeCpu = "CPU"
20681
20682	// SampleTypeMemory is a SampleType enum value
20683	SampleTypeMemory = "MEMORY"
20684
20685	// SampleTypeThreads is a SampleType enum value
20686	SampleTypeThreads = "THREADS"
20687
20688	// SampleTypeRxRate is a SampleType enum value
20689	SampleTypeRxRate = "RX_RATE"
20690
20691	// SampleTypeTxRate is a SampleType enum value
20692	SampleTypeTxRate = "TX_RATE"
20693
20694	// SampleTypeRx is a SampleType enum value
20695	SampleTypeRx = "RX"
20696
20697	// SampleTypeTx is a SampleType enum value
20698	SampleTypeTx = "TX"
20699
20700	// SampleTypeNativeFrames is a SampleType enum value
20701	SampleTypeNativeFrames = "NATIVE_FRAMES"
20702
20703	// SampleTypeNativeFps is a SampleType enum value
20704	SampleTypeNativeFps = "NATIVE_FPS"
20705
20706	// SampleTypeNativeMinDrawtime is a SampleType enum value
20707	SampleTypeNativeMinDrawtime = "NATIVE_MIN_DRAWTIME"
20708
20709	// SampleTypeNativeAvgDrawtime is a SampleType enum value
20710	SampleTypeNativeAvgDrawtime = "NATIVE_AVG_DRAWTIME"
20711
20712	// SampleTypeNativeMaxDrawtime is a SampleType enum value
20713	SampleTypeNativeMaxDrawtime = "NATIVE_MAX_DRAWTIME"
20714
20715	// SampleTypeOpenglFrames is a SampleType enum value
20716	SampleTypeOpenglFrames = "OPENGL_FRAMES"
20717
20718	// SampleTypeOpenglFps is a SampleType enum value
20719	SampleTypeOpenglFps = "OPENGL_FPS"
20720
20721	// SampleTypeOpenglMinDrawtime is a SampleType enum value
20722	SampleTypeOpenglMinDrawtime = "OPENGL_MIN_DRAWTIME"
20723
20724	// SampleTypeOpenglAvgDrawtime is a SampleType enum value
20725	SampleTypeOpenglAvgDrawtime = "OPENGL_AVG_DRAWTIME"
20726
20727	// SampleTypeOpenglMaxDrawtime is a SampleType enum value
20728	SampleTypeOpenglMaxDrawtime = "OPENGL_MAX_DRAWTIME"
20729)
20730
20731// SampleType_Values returns all elements of the SampleType enum
20732func SampleType_Values() []string {
20733	return []string{
20734		SampleTypeCpu,
20735		SampleTypeMemory,
20736		SampleTypeThreads,
20737		SampleTypeRxRate,
20738		SampleTypeTxRate,
20739		SampleTypeRx,
20740		SampleTypeTx,
20741		SampleTypeNativeFrames,
20742		SampleTypeNativeFps,
20743		SampleTypeNativeMinDrawtime,
20744		SampleTypeNativeAvgDrawtime,
20745		SampleTypeNativeMaxDrawtime,
20746		SampleTypeOpenglFrames,
20747		SampleTypeOpenglFps,
20748		SampleTypeOpenglMinDrawtime,
20749		SampleTypeOpenglAvgDrawtime,
20750		SampleTypeOpenglMaxDrawtime,
20751	}
20752}
20753
20754const (
20755	// TestGridSessionArtifactCategoryVideo is a TestGridSessionArtifactCategory enum value
20756	TestGridSessionArtifactCategoryVideo = "VIDEO"
20757
20758	// TestGridSessionArtifactCategoryLog is a TestGridSessionArtifactCategory enum value
20759	TestGridSessionArtifactCategoryLog = "LOG"
20760)
20761
20762// TestGridSessionArtifactCategory_Values returns all elements of the TestGridSessionArtifactCategory enum
20763func TestGridSessionArtifactCategory_Values() []string {
20764	return []string{
20765		TestGridSessionArtifactCategoryVideo,
20766		TestGridSessionArtifactCategoryLog,
20767	}
20768}
20769
20770const (
20771	// TestGridSessionArtifactTypeUnknown is a TestGridSessionArtifactType enum value
20772	TestGridSessionArtifactTypeUnknown = "UNKNOWN"
20773
20774	// TestGridSessionArtifactTypeVideo is a TestGridSessionArtifactType enum value
20775	TestGridSessionArtifactTypeVideo = "VIDEO"
20776
20777	// TestGridSessionArtifactTypeSeleniumLog is a TestGridSessionArtifactType enum value
20778	TestGridSessionArtifactTypeSeleniumLog = "SELENIUM_LOG"
20779)
20780
20781// TestGridSessionArtifactType_Values returns all elements of the TestGridSessionArtifactType enum
20782func TestGridSessionArtifactType_Values() []string {
20783	return []string{
20784		TestGridSessionArtifactTypeUnknown,
20785		TestGridSessionArtifactTypeVideo,
20786		TestGridSessionArtifactTypeSeleniumLog,
20787	}
20788}
20789
20790const (
20791	// TestGridSessionStatusActive is a TestGridSessionStatus enum value
20792	TestGridSessionStatusActive = "ACTIVE"
20793
20794	// TestGridSessionStatusClosed is a TestGridSessionStatus enum value
20795	TestGridSessionStatusClosed = "CLOSED"
20796
20797	// TestGridSessionStatusErrored is a TestGridSessionStatus enum value
20798	TestGridSessionStatusErrored = "ERRORED"
20799)
20800
20801// TestGridSessionStatus_Values returns all elements of the TestGridSessionStatus enum
20802func TestGridSessionStatus_Values() []string {
20803	return []string{
20804		TestGridSessionStatusActive,
20805		TestGridSessionStatusClosed,
20806		TestGridSessionStatusErrored,
20807	}
20808}
20809
20810const (
20811	// TestTypeBuiltinFuzz is a TestType enum value
20812	TestTypeBuiltinFuzz = "BUILTIN_FUZZ"
20813
20814	// TestTypeBuiltinExplorer is a TestType enum value
20815	TestTypeBuiltinExplorer = "BUILTIN_EXPLORER"
20816
20817	// TestTypeWebPerformanceProfile is a TestType enum value
20818	TestTypeWebPerformanceProfile = "WEB_PERFORMANCE_PROFILE"
20819
20820	// TestTypeAppiumJavaJunit is a TestType enum value
20821	TestTypeAppiumJavaJunit = "APPIUM_JAVA_JUNIT"
20822
20823	// TestTypeAppiumJavaTestng is a TestType enum value
20824	TestTypeAppiumJavaTestng = "APPIUM_JAVA_TESTNG"
20825
20826	// TestTypeAppiumPython is a TestType enum value
20827	TestTypeAppiumPython = "APPIUM_PYTHON"
20828
20829	// TestTypeAppiumNode is a TestType enum value
20830	TestTypeAppiumNode = "APPIUM_NODE"
20831
20832	// TestTypeAppiumRuby is a TestType enum value
20833	TestTypeAppiumRuby = "APPIUM_RUBY"
20834
20835	// TestTypeAppiumWebJavaJunit is a TestType enum value
20836	TestTypeAppiumWebJavaJunit = "APPIUM_WEB_JAVA_JUNIT"
20837
20838	// TestTypeAppiumWebJavaTestng is a TestType enum value
20839	TestTypeAppiumWebJavaTestng = "APPIUM_WEB_JAVA_TESTNG"
20840
20841	// TestTypeAppiumWebPython is a TestType enum value
20842	TestTypeAppiumWebPython = "APPIUM_WEB_PYTHON"
20843
20844	// TestTypeAppiumWebNode is a TestType enum value
20845	TestTypeAppiumWebNode = "APPIUM_WEB_NODE"
20846
20847	// TestTypeAppiumWebRuby is a TestType enum value
20848	TestTypeAppiumWebRuby = "APPIUM_WEB_RUBY"
20849
20850	// TestTypeCalabash is a TestType enum value
20851	TestTypeCalabash = "CALABASH"
20852
20853	// TestTypeInstrumentation is a TestType enum value
20854	TestTypeInstrumentation = "INSTRUMENTATION"
20855
20856	// TestTypeUiautomation is a TestType enum value
20857	TestTypeUiautomation = "UIAUTOMATION"
20858
20859	// TestTypeUiautomator is a TestType enum value
20860	TestTypeUiautomator = "UIAUTOMATOR"
20861
20862	// TestTypeXctest is a TestType enum value
20863	TestTypeXctest = "XCTEST"
20864
20865	// TestTypeXctestUi is a TestType enum value
20866	TestTypeXctestUi = "XCTEST_UI"
20867
20868	// TestTypeRemoteAccessRecord is a TestType enum value
20869	TestTypeRemoteAccessRecord = "REMOTE_ACCESS_RECORD"
20870
20871	// TestTypeRemoteAccessReplay is a TestType enum value
20872	TestTypeRemoteAccessReplay = "REMOTE_ACCESS_REPLAY"
20873)
20874
20875// TestType_Values returns all elements of the TestType enum
20876func TestType_Values() []string {
20877	return []string{
20878		TestTypeBuiltinFuzz,
20879		TestTypeBuiltinExplorer,
20880		TestTypeWebPerformanceProfile,
20881		TestTypeAppiumJavaJunit,
20882		TestTypeAppiumJavaTestng,
20883		TestTypeAppiumPython,
20884		TestTypeAppiumNode,
20885		TestTypeAppiumRuby,
20886		TestTypeAppiumWebJavaJunit,
20887		TestTypeAppiumWebJavaTestng,
20888		TestTypeAppiumWebPython,
20889		TestTypeAppiumWebNode,
20890		TestTypeAppiumWebRuby,
20891		TestTypeCalabash,
20892		TestTypeInstrumentation,
20893		TestTypeUiautomation,
20894		TestTypeUiautomator,
20895		TestTypeXctest,
20896		TestTypeXctestUi,
20897		TestTypeRemoteAccessRecord,
20898		TestTypeRemoteAccessReplay,
20899	}
20900}
20901
20902const (
20903	// UploadCategoryCurated is a UploadCategory enum value
20904	UploadCategoryCurated = "CURATED"
20905
20906	// UploadCategoryPrivate is a UploadCategory enum value
20907	UploadCategoryPrivate = "PRIVATE"
20908)
20909
20910// UploadCategory_Values returns all elements of the UploadCategory enum
20911func UploadCategory_Values() []string {
20912	return []string{
20913		UploadCategoryCurated,
20914		UploadCategoryPrivate,
20915	}
20916}
20917
20918const (
20919	// UploadStatusInitialized is a UploadStatus enum value
20920	UploadStatusInitialized = "INITIALIZED"
20921
20922	// UploadStatusProcessing is a UploadStatus enum value
20923	UploadStatusProcessing = "PROCESSING"
20924
20925	// UploadStatusSucceeded is a UploadStatus enum value
20926	UploadStatusSucceeded = "SUCCEEDED"
20927
20928	// UploadStatusFailed is a UploadStatus enum value
20929	UploadStatusFailed = "FAILED"
20930)
20931
20932// UploadStatus_Values returns all elements of the UploadStatus enum
20933func UploadStatus_Values() []string {
20934	return []string{
20935		UploadStatusInitialized,
20936		UploadStatusProcessing,
20937		UploadStatusSucceeded,
20938		UploadStatusFailed,
20939	}
20940}
20941
20942const (
20943	// UploadTypeAndroidApp is a UploadType enum value
20944	UploadTypeAndroidApp = "ANDROID_APP"
20945
20946	// UploadTypeIosApp is a UploadType enum value
20947	UploadTypeIosApp = "IOS_APP"
20948
20949	// UploadTypeWebApp is a UploadType enum value
20950	UploadTypeWebApp = "WEB_APP"
20951
20952	// UploadTypeExternalData is a UploadType enum value
20953	UploadTypeExternalData = "EXTERNAL_DATA"
20954
20955	// UploadTypeAppiumJavaJunitTestPackage is a UploadType enum value
20956	UploadTypeAppiumJavaJunitTestPackage = "APPIUM_JAVA_JUNIT_TEST_PACKAGE"
20957
20958	// UploadTypeAppiumJavaTestngTestPackage is a UploadType enum value
20959	UploadTypeAppiumJavaTestngTestPackage = "APPIUM_JAVA_TESTNG_TEST_PACKAGE"
20960
20961	// UploadTypeAppiumPythonTestPackage is a UploadType enum value
20962	UploadTypeAppiumPythonTestPackage = "APPIUM_PYTHON_TEST_PACKAGE"
20963
20964	// UploadTypeAppiumNodeTestPackage is a UploadType enum value
20965	UploadTypeAppiumNodeTestPackage = "APPIUM_NODE_TEST_PACKAGE"
20966
20967	// UploadTypeAppiumRubyTestPackage is a UploadType enum value
20968	UploadTypeAppiumRubyTestPackage = "APPIUM_RUBY_TEST_PACKAGE"
20969
20970	// UploadTypeAppiumWebJavaJunitTestPackage is a UploadType enum value
20971	UploadTypeAppiumWebJavaJunitTestPackage = "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE"
20972
20973	// UploadTypeAppiumWebJavaTestngTestPackage is a UploadType enum value
20974	UploadTypeAppiumWebJavaTestngTestPackage = "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE"
20975
20976	// UploadTypeAppiumWebPythonTestPackage is a UploadType enum value
20977	UploadTypeAppiumWebPythonTestPackage = "APPIUM_WEB_PYTHON_TEST_PACKAGE"
20978
20979	// UploadTypeAppiumWebNodeTestPackage is a UploadType enum value
20980	UploadTypeAppiumWebNodeTestPackage = "APPIUM_WEB_NODE_TEST_PACKAGE"
20981
20982	// UploadTypeAppiumWebRubyTestPackage is a UploadType enum value
20983	UploadTypeAppiumWebRubyTestPackage = "APPIUM_WEB_RUBY_TEST_PACKAGE"
20984
20985	// UploadTypeCalabashTestPackage is a UploadType enum value
20986	UploadTypeCalabashTestPackage = "CALABASH_TEST_PACKAGE"
20987
20988	// UploadTypeInstrumentationTestPackage is a UploadType enum value
20989	UploadTypeInstrumentationTestPackage = "INSTRUMENTATION_TEST_PACKAGE"
20990
20991	// UploadTypeUiautomationTestPackage is a UploadType enum value
20992	UploadTypeUiautomationTestPackage = "UIAUTOMATION_TEST_PACKAGE"
20993
20994	// UploadTypeUiautomatorTestPackage is a UploadType enum value
20995	UploadTypeUiautomatorTestPackage = "UIAUTOMATOR_TEST_PACKAGE"
20996
20997	// UploadTypeXctestTestPackage is a UploadType enum value
20998	UploadTypeXctestTestPackage = "XCTEST_TEST_PACKAGE"
20999
21000	// UploadTypeXctestUiTestPackage is a UploadType enum value
21001	UploadTypeXctestUiTestPackage = "XCTEST_UI_TEST_PACKAGE"
21002
21003	// UploadTypeAppiumJavaJunitTestSpec is a UploadType enum value
21004	UploadTypeAppiumJavaJunitTestSpec = "APPIUM_JAVA_JUNIT_TEST_SPEC"
21005
21006	// UploadTypeAppiumJavaTestngTestSpec is a UploadType enum value
21007	UploadTypeAppiumJavaTestngTestSpec = "APPIUM_JAVA_TESTNG_TEST_SPEC"
21008
21009	// UploadTypeAppiumPythonTestSpec is a UploadType enum value
21010	UploadTypeAppiumPythonTestSpec = "APPIUM_PYTHON_TEST_SPEC"
21011
21012	// UploadTypeAppiumNodeTestSpec is a UploadType enum value
21013	UploadTypeAppiumNodeTestSpec = "APPIUM_NODE_TEST_SPEC"
21014
21015	// UploadTypeAppiumRubyTestSpec is a UploadType enum value
21016	UploadTypeAppiumRubyTestSpec = "APPIUM_RUBY_TEST_SPEC"
21017
21018	// UploadTypeAppiumWebJavaJunitTestSpec is a UploadType enum value
21019	UploadTypeAppiumWebJavaJunitTestSpec = "APPIUM_WEB_JAVA_JUNIT_TEST_SPEC"
21020
21021	// UploadTypeAppiumWebJavaTestngTestSpec is a UploadType enum value
21022	UploadTypeAppiumWebJavaTestngTestSpec = "APPIUM_WEB_JAVA_TESTNG_TEST_SPEC"
21023
21024	// UploadTypeAppiumWebPythonTestSpec is a UploadType enum value
21025	UploadTypeAppiumWebPythonTestSpec = "APPIUM_WEB_PYTHON_TEST_SPEC"
21026
21027	// UploadTypeAppiumWebNodeTestSpec is a UploadType enum value
21028	UploadTypeAppiumWebNodeTestSpec = "APPIUM_WEB_NODE_TEST_SPEC"
21029
21030	// UploadTypeAppiumWebRubyTestSpec is a UploadType enum value
21031	UploadTypeAppiumWebRubyTestSpec = "APPIUM_WEB_RUBY_TEST_SPEC"
21032
21033	// UploadTypeInstrumentationTestSpec is a UploadType enum value
21034	UploadTypeInstrumentationTestSpec = "INSTRUMENTATION_TEST_SPEC"
21035
21036	// UploadTypeXctestUiTestSpec is a UploadType enum value
21037	UploadTypeXctestUiTestSpec = "XCTEST_UI_TEST_SPEC"
21038)
21039
21040// UploadType_Values returns all elements of the UploadType enum
21041func UploadType_Values() []string {
21042	return []string{
21043		UploadTypeAndroidApp,
21044		UploadTypeIosApp,
21045		UploadTypeWebApp,
21046		UploadTypeExternalData,
21047		UploadTypeAppiumJavaJunitTestPackage,
21048		UploadTypeAppiumJavaTestngTestPackage,
21049		UploadTypeAppiumPythonTestPackage,
21050		UploadTypeAppiumNodeTestPackage,
21051		UploadTypeAppiumRubyTestPackage,
21052		UploadTypeAppiumWebJavaJunitTestPackage,
21053		UploadTypeAppiumWebJavaTestngTestPackage,
21054		UploadTypeAppiumWebPythonTestPackage,
21055		UploadTypeAppiumWebNodeTestPackage,
21056		UploadTypeAppiumWebRubyTestPackage,
21057		UploadTypeCalabashTestPackage,
21058		UploadTypeInstrumentationTestPackage,
21059		UploadTypeUiautomationTestPackage,
21060		UploadTypeUiautomatorTestPackage,
21061		UploadTypeXctestTestPackage,
21062		UploadTypeXctestUiTestPackage,
21063		UploadTypeAppiumJavaJunitTestSpec,
21064		UploadTypeAppiumJavaTestngTestSpec,
21065		UploadTypeAppiumPythonTestSpec,
21066		UploadTypeAppiumNodeTestSpec,
21067		UploadTypeAppiumRubyTestSpec,
21068		UploadTypeAppiumWebJavaJunitTestSpec,
21069		UploadTypeAppiumWebJavaTestngTestSpec,
21070		UploadTypeAppiumWebPythonTestSpec,
21071		UploadTypeAppiumWebNodeTestSpec,
21072		UploadTypeAppiumWebRubyTestSpec,
21073		UploadTypeInstrumentationTestSpec,
21074		UploadTypeXctestUiTestSpec,
21075	}
21076}
21077