1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package iotdeviceadvisor
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/restjson"
14)
15
16const opCreateSuiteDefinition = "CreateSuiteDefinition"
17
18// CreateSuiteDefinitionRequest generates a "aws/request.Request" representing the
19// client's request for the CreateSuiteDefinition 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 CreateSuiteDefinition for more information on using the CreateSuiteDefinition
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 CreateSuiteDefinitionRequest method.
34//    req, resp := client.CreateSuiteDefinitionRequest(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/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition
42func (c *IoTDeviceAdvisor) CreateSuiteDefinitionRequest(input *CreateSuiteDefinitionInput) (req *request.Request, output *CreateSuiteDefinitionOutput) {
43	op := &request.Operation{
44		Name:       opCreateSuiteDefinition,
45		HTTPMethod: "POST",
46		HTTPPath:   "/suiteDefinitions",
47	}
48
49	if input == nil {
50		input = &CreateSuiteDefinitionInput{}
51	}
52
53	output = &CreateSuiteDefinitionOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateSuiteDefinition API operation for AWS IoT Core Device Advisor.
59//
60// Creates a Device Advisor test suite.
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 IoT Core Device Advisor's
67// API operation CreateSuiteDefinition for usage and error information.
68//
69// Returned Error Types:
70//   * ValidationException
71//   Sends invalid request exception.
72//
73//   * InternalServerException
74//   Sends Internal Failure Exception.
75//
76// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition
77func (c *IoTDeviceAdvisor) CreateSuiteDefinition(input *CreateSuiteDefinitionInput) (*CreateSuiteDefinitionOutput, error) {
78	req, out := c.CreateSuiteDefinitionRequest(input)
79	return out, req.Send()
80}
81
82// CreateSuiteDefinitionWithContext is the same as CreateSuiteDefinition with the addition of
83// the ability to pass a context and additional request options.
84//
85// See CreateSuiteDefinition for details on how to use this API operation.
86//
87// The context must be non-nil and will be used for request cancellation. If
88// the context is nil a panic will occur. In the future the SDK may create
89// sub-contexts for http.Requests. See https://golang.org/pkg/context/
90// for more information on using Contexts.
91func (c *IoTDeviceAdvisor) CreateSuiteDefinitionWithContext(ctx aws.Context, input *CreateSuiteDefinitionInput, opts ...request.Option) (*CreateSuiteDefinitionOutput, error) {
92	req, out := c.CreateSuiteDefinitionRequest(input)
93	req.SetContext(ctx)
94	req.ApplyOptions(opts...)
95	return out, req.Send()
96}
97
98const opDeleteSuiteDefinition = "DeleteSuiteDefinition"
99
100// DeleteSuiteDefinitionRequest generates a "aws/request.Request" representing the
101// client's request for the DeleteSuiteDefinition operation. The "output" return
102// value will be populated with the request's response once the request completes
103// successfully.
104//
105// Use "Send" method on the returned Request to send the API call to the service.
106// the "output" return value is not valid until after Send returns without error.
107//
108// See DeleteSuiteDefinition for more information on using the DeleteSuiteDefinition
109// API call, and error handling.
110//
111// This method is useful when you want to inject custom logic or configuration
112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
113//
114//
115//    // Example sending a request using the DeleteSuiteDefinitionRequest method.
116//    req, resp := client.DeleteSuiteDefinitionRequest(params)
117//
118//    err := req.Send()
119//    if err == nil { // resp is now filled
120//        fmt.Println(resp)
121//    }
122//
123// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition
124func (c *IoTDeviceAdvisor) DeleteSuiteDefinitionRequest(input *DeleteSuiteDefinitionInput) (req *request.Request, output *DeleteSuiteDefinitionOutput) {
125	op := &request.Operation{
126		Name:       opDeleteSuiteDefinition,
127		HTTPMethod: "DELETE",
128		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}",
129	}
130
131	if input == nil {
132		input = &DeleteSuiteDefinitionInput{}
133	}
134
135	output = &DeleteSuiteDefinitionOutput{}
136	req = c.newRequest(op, input, output)
137	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
138	return
139}
140
141// DeleteSuiteDefinition API operation for AWS IoT Core Device Advisor.
142//
143// Deletes a Device Advisor test suite.
144//
145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
146// with awserr.Error's Code and Message methods to get detailed information about
147// the error.
148//
149// See the AWS API reference guide for AWS IoT Core Device Advisor's
150// API operation DeleteSuiteDefinition for usage and error information.
151//
152// Returned Error Types:
153//   * ValidationException
154//   Sends invalid request exception.
155//
156//   * InternalServerException
157//   Sends Internal Failure Exception.
158//
159// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition
160func (c *IoTDeviceAdvisor) DeleteSuiteDefinition(input *DeleteSuiteDefinitionInput) (*DeleteSuiteDefinitionOutput, error) {
161	req, out := c.DeleteSuiteDefinitionRequest(input)
162	return out, req.Send()
163}
164
165// DeleteSuiteDefinitionWithContext is the same as DeleteSuiteDefinition with the addition of
166// the ability to pass a context and additional request options.
167//
168// See DeleteSuiteDefinition for details on how to use this API operation.
169//
170// The context must be non-nil and will be used for request cancellation. If
171// the context is nil a panic will occur. In the future the SDK may create
172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
173// for more information on using Contexts.
174func (c *IoTDeviceAdvisor) DeleteSuiteDefinitionWithContext(ctx aws.Context, input *DeleteSuiteDefinitionInput, opts ...request.Option) (*DeleteSuiteDefinitionOutput, error) {
175	req, out := c.DeleteSuiteDefinitionRequest(input)
176	req.SetContext(ctx)
177	req.ApplyOptions(opts...)
178	return out, req.Send()
179}
180
181const opGetSuiteDefinition = "GetSuiteDefinition"
182
183// GetSuiteDefinitionRequest generates a "aws/request.Request" representing the
184// client's request for the GetSuiteDefinition operation. The "output" return
185// value will be populated with the request's response once the request completes
186// successfully.
187//
188// Use "Send" method on the returned Request to send the API call to the service.
189// the "output" return value is not valid until after Send returns without error.
190//
191// See GetSuiteDefinition for more information on using the GetSuiteDefinition
192// API call, and error handling.
193//
194// This method is useful when you want to inject custom logic or configuration
195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
196//
197//
198//    // Example sending a request using the GetSuiteDefinitionRequest method.
199//    req, resp := client.GetSuiteDefinitionRequest(params)
200//
201//    err := req.Send()
202//    if err == nil { // resp is now filled
203//        fmt.Println(resp)
204//    }
205//
206// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteDefinition
207func (c *IoTDeviceAdvisor) GetSuiteDefinitionRequest(input *GetSuiteDefinitionInput) (req *request.Request, output *GetSuiteDefinitionOutput) {
208	op := &request.Operation{
209		Name:       opGetSuiteDefinition,
210		HTTPMethod: "GET",
211		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}",
212	}
213
214	if input == nil {
215		input = &GetSuiteDefinitionInput{}
216	}
217
218	output = &GetSuiteDefinitionOutput{}
219	req = c.newRequest(op, input, output)
220	return
221}
222
223// GetSuiteDefinition API operation for AWS IoT Core Device Advisor.
224//
225// Gets information about a Device Advisor test suite.
226//
227// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
228// with awserr.Error's Code and Message methods to get detailed information about
229// the error.
230//
231// See the AWS API reference guide for AWS IoT Core Device Advisor's
232// API operation GetSuiteDefinition for usage and error information.
233//
234// Returned Error Types:
235//   * ValidationException
236//   Sends invalid request exception.
237//
238//   * InternalServerException
239//   Sends Internal Failure Exception.
240//
241//   * ResourceNotFoundException
242//   Sends Resource Not Found Exception.
243//
244// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteDefinition
245func (c *IoTDeviceAdvisor) GetSuiteDefinition(input *GetSuiteDefinitionInput) (*GetSuiteDefinitionOutput, error) {
246	req, out := c.GetSuiteDefinitionRequest(input)
247	return out, req.Send()
248}
249
250// GetSuiteDefinitionWithContext is the same as GetSuiteDefinition with the addition of
251// the ability to pass a context and additional request options.
252//
253// See GetSuiteDefinition for details on how to use this API operation.
254//
255// The context must be non-nil and will be used for request cancellation. If
256// the context is nil a panic will occur. In the future the SDK may create
257// sub-contexts for http.Requests. See https://golang.org/pkg/context/
258// for more information on using Contexts.
259func (c *IoTDeviceAdvisor) GetSuiteDefinitionWithContext(ctx aws.Context, input *GetSuiteDefinitionInput, opts ...request.Option) (*GetSuiteDefinitionOutput, error) {
260	req, out := c.GetSuiteDefinitionRequest(input)
261	req.SetContext(ctx)
262	req.ApplyOptions(opts...)
263	return out, req.Send()
264}
265
266const opGetSuiteRun = "GetSuiteRun"
267
268// GetSuiteRunRequest generates a "aws/request.Request" representing the
269// client's request for the GetSuiteRun operation. The "output" return
270// value will be populated with the request's response once the request completes
271// successfully.
272//
273// Use "Send" method on the returned Request to send the API call to the service.
274// the "output" return value is not valid until after Send returns without error.
275//
276// See GetSuiteRun for more information on using the GetSuiteRun
277// API call, and error handling.
278//
279// This method is useful when you want to inject custom logic or configuration
280// into the SDK's request lifecycle. Such as custom headers, or retry logic.
281//
282//
283//    // Example sending a request using the GetSuiteRunRequest method.
284//    req, resp := client.GetSuiteRunRequest(params)
285//
286//    err := req.Send()
287//    if err == nil { // resp is now filled
288//        fmt.Println(resp)
289//    }
290//
291// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRun
292func (c *IoTDeviceAdvisor) GetSuiteRunRequest(input *GetSuiteRunInput) (req *request.Request, output *GetSuiteRunOutput) {
293	op := &request.Operation{
294		Name:       opGetSuiteRun,
295		HTTPMethod: "GET",
296		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}/suiteRuns/{suiteRunId}",
297	}
298
299	if input == nil {
300		input = &GetSuiteRunInput{}
301	}
302
303	output = &GetSuiteRunOutput{}
304	req = c.newRequest(op, input, output)
305	return
306}
307
308// GetSuiteRun API operation for AWS IoT Core Device Advisor.
309//
310// Gets information about a Device Advisor test suite run.
311//
312// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
313// with awserr.Error's Code and Message methods to get detailed information about
314// the error.
315//
316// See the AWS API reference guide for AWS IoT Core Device Advisor's
317// API operation GetSuiteRun for usage and error information.
318//
319// Returned Error Types:
320//   * ValidationException
321//   Sends invalid request exception.
322//
323//   * InternalServerException
324//   Sends Internal Failure Exception.
325//
326//   * ResourceNotFoundException
327//   Sends Resource Not Found Exception.
328//
329// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRun
330func (c *IoTDeviceAdvisor) GetSuiteRun(input *GetSuiteRunInput) (*GetSuiteRunOutput, error) {
331	req, out := c.GetSuiteRunRequest(input)
332	return out, req.Send()
333}
334
335// GetSuiteRunWithContext is the same as GetSuiteRun with the addition of
336// the ability to pass a context and additional request options.
337//
338// See GetSuiteRun for details on how to use this API operation.
339//
340// The context must be non-nil and will be used for request cancellation. If
341// the context is nil a panic will occur. In the future the SDK may create
342// sub-contexts for http.Requests. See https://golang.org/pkg/context/
343// for more information on using Contexts.
344func (c *IoTDeviceAdvisor) GetSuiteRunWithContext(ctx aws.Context, input *GetSuiteRunInput, opts ...request.Option) (*GetSuiteRunOutput, error) {
345	req, out := c.GetSuiteRunRequest(input)
346	req.SetContext(ctx)
347	req.ApplyOptions(opts...)
348	return out, req.Send()
349}
350
351const opGetSuiteRunReport = "GetSuiteRunReport"
352
353// GetSuiteRunReportRequest generates a "aws/request.Request" representing the
354// client's request for the GetSuiteRunReport operation. The "output" return
355// value will be populated with the request's response once the request completes
356// successfully.
357//
358// Use "Send" method on the returned Request to send the API call to the service.
359// the "output" return value is not valid until after Send returns without error.
360//
361// See GetSuiteRunReport for more information on using the GetSuiteRunReport
362// API call, and error handling.
363//
364// This method is useful when you want to inject custom logic or configuration
365// into the SDK's request lifecycle. Such as custom headers, or retry logic.
366//
367//
368//    // Example sending a request using the GetSuiteRunReportRequest method.
369//    req, resp := client.GetSuiteRunReportRequest(params)
370//
371//    err := req.Send()
372//    if err == nil { // resp is now filled
373//        fmt.Println(resp)
374//    }
375//
376// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRunReport
377func (c *IoTDeviceAdvisor) GetSuiteRunReportRequest(input *GetSuiteRunReportInput) (req *request.Request, output *GetSuiteRunReportOutput) {
378	op := &request.Operation{
379		Name:       opGetSuiteRunReport,
380		HTTPMethod: "GET",
381		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}/suiteRuns/{suiteRunId}/report",
382	}
383
384	if input == nil {
385		input = &GetSuiteRunReportInput{}
386	}
387
388	output = &GetSuiteRunReportOutput{}
389	req = c.newRequest(op, input, output)
390	return
391}
392
393// GetSuiteRunReport API operation for AWS IoT Core Device Advisor.
394//
395// Gets a report download link for a successful Device Advisor qualifying test
396// suite run.
397//
398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
399// with awserr.Error's Code and Message methods to get detailed information about
400// the error.
401//
402// See the AWS API reference guide for AWS IoT Core Device Advisor's
403// API operation GetSuiteRunReport for usage and error information.
404//
405// Returned Error Types:
406//   * ValidationException
407//   Sends invalid request exception.
408//
409//   * InternalServerException
410//   Sends Internal Failure Exception.
411//
412//   * ResourceNotFoundException
413//   Sends Resource Not Found Exception.
414//
415// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRunReport
416func (c *IoTDeviceAdvisor) GetSuiteRunReport(input *GetSuiteRunReportInput) (*GetSuiteRunReportOutput, error) {
417	req, out := c.GetSuiteRunReportRequest(input)
418	return out, req.Send()
419}
420
421// GetSuiteRunReportWithContext is the same as GetSuiteRunReport with the addition of
422// the ability to pass a context and additional request options.
423//
424// See GetSuiteRunReport for details on how to use this API operation.
425//
426// The context must be non-nil and will be used for request cancellation. If
427// the context is nil a panic will occur. In the future the SDK may create
428// sub-contexts for http.Requests. See https://golang.org/pkg/context/
429// for more information on using Contexts.
430func (c *IoTDeviceAdvisor) GetSuiteRunReportWithContext(ctx aws.Context, input *GetSuiteRunReportInput, opts ...request.Option) (*GetSuiteRunReportOutput, error) {
431	req, out := c.GetSuiteRunReportRequest(input)
432	req.SetContext(ctx)
433	req.ApplyOptions(opts...)
434	return out, req.Send()
435}
436
437const opListSuiteDefinitions = "ListSuiteDefinitions"
438
439// ListSuiteDefinitionsRequest generates a "aws/request.Request" representing the
440// client's request for the ListSuiteDefinitions operation. The "output" return
441// value will be populated with the request's response once the request completes
442// successfully.
443//
444// Use "Send" method on the returned Request to send the API call to the service.
445// the "output" return value is not valid until after Send returns without error.
446//
447// See ListSuiteDefinitions for more information on using the ListSuiteDefinitions
448// API call, and error handling.
449//
450// This method is useful when you want to inject custom logic or configuration
451// into the SDK's request lifecycle. Such as custom headers, or retry logic.
452//
453//
454//    // Example sending a request using the ListSuiteDefinitionsRequest method.
455//    req, resp := client.ListSuiteDefinitionsRequest(params)
456//
457//    err := req.Send()
458//    if err == nil { // resp is now filled
459//        fmt.Println(resp)
460//    }
461//
462// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions
463func (c *IoTDeviceAdvisor) ListSuiteDefinitionsRequest(input *ListSuiteDefinitionsInput) (req *request.Request, output *ListSuiteDefinitionsOutput) {
464	op := &request.Operation{
465		Name:       opListSuiteDefinitions,
466		HTTPMethod: "GET",
467		HTTPPath:   "/suiteDefinitions",
468		Paginator: &request.Paginator{
469			InputTokens:     []string{"nextToken"},
470			OutputTokens:    []string{"nextToken"},
471			LimitToken:      "maxResults",
472			TruncationToken: "",
473		},
474	}
475
476	if input == nil {
477		input = &ListSuiteDefinitionsInput{}
478	}
479
480	output = &ListSuiteDefinitionsOutput{}
481	req = c.newRequest(op, input, output)
482	return
483}
484
485// ListSuiteDefinitions API operation for AWS IoT Core Device Advisor.
486//
487// Lists the Device Advisor test suites you have created.
488//
489// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
490// with awserr.Error's Code and Message methods to get detailed information about
491// the error.
492//
493// See the AWS API reference guide for AWS IoT Core Device Advisor's
494// API operation ListSuiteDefinitions for usage and error information.
495//
496// Returned Error Types:
497//   * ValidationException
498//   Sends invalid request exception.
499//
500//   * InternalServerException
501//   Sends Internal Failure Exception.
502//
503// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions
504func (c *IoTDeviceAdvisor) ListSuiteDefinitions(input *ListSuiteDefinitionsInput) (*ListSuiteDefinitionsOutput, error) {
505	req, out := c.ListSuiteDefinitionsRequest(input)
506	return out, req.Send()
507}
508
509// ListSuiteDefinitionsWithContext is the same as ListSuiteDefinitions with the addition of
510// the ability to pass a context and additional request options.
511//
512// See ListSuiteDefinitions for details on how to use this API operation.
513//
514// The context must be non-nil and will be used for request cancellation. If
515// the context is nil a panic will occur. In the future the SDK may create
516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
517// for more information on using Contexts.
518func (c *IoTDeviceAdvisor) ListSuiteDefinitionsWithContext(ctx aws.Context, input *ListSuiteDefinitionsInput, opts ...request.Option) (*ListSuiteDefinitionsOutput, error) {
519	req, out := c.ListSuiteDefinitionsRequest(input)
520	req.SetContext(ctx)
521	req.ApplyOptions(opts...)
522	return out, req.Send()
523}
524
525// ListSuiteDefinitionsPages iterates over the pages of a ListSuiteDefinitions operation,
526// calling the "fn" function with the response data for each page. To stop
527// iterating, return false from the fn function.
528//
529// See ListSuiteDefinitions method for more information on how to use this operation.
530//
531// Note: This operation can generate multiple requests to a service.
532//
533//    // Example iterating over at most 3 pages of a ListSuiteDefinitions operation.
534//    pageNum := 0
535//    err := client.ListSuiteDefinitionsPages(params,
536//        func(page *iotdeviceadvisor.ListSuiteDefinitionsOutput, lastPage bool) bool {
537//            pageNum++
538//            fmt.Println(page)
539//            return pageNum <= 3
540//        })
541//
542func (c *IoTDeviceAdvisor) ListSuiteDefinitionsPages(input *ListSuiteDefinitionsInput, fn func(*ListSuiteDefinitionsOutput, bool) bool) error {
543	return c.ListSuiteDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn)
544}
545
546// ListSuiteDefinitionsPagesWithContext same as ListSuiteDefinitionsPages except
547// it takes a Context and allows setting request options on the pages.
548//
549// The context must be non-nil and will be used for request cancellation. If
550// the context is nil a panic will occur. In the future the SDK may create
551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
552// for more information on using Contexts.
553func (c *IoTDeviceAdvisor) ListSuiteDefinitionsPagesWithContext(ctx aws.Context, input *ListSuiteDefinitionsInput, fn func(*ListSuiteDefinitionsOutput, bool) bool, opts ...request.Option) error {
554	p := request.Pagination{
555		NewRequest: func() (*request.Request, error) {
556			var inCpy *ListSuiteDefinitionsInput
557			if input != nil {
558				tmp := *input
559				inCpy = &tmp
560			}
561			req, _ := c.ListSuiteDefinitionsRequest(inCpy)
562			req.SetContext(ctx)
563			req.ApplyOptions(opts...)
564			return req, nil
565		},
566	}
567
568	for p.Next() {
569		if !fn(p.Page().(*ListSuiteDefinitionsOutput), !p.HasNextPage()) {
570			break
571		}
572	}
573
574	return p.Err()
575}
576
577const opListSuiteRuns = "ListSuiteRuns"
578
579// ListSuiteRunsRequest generates a "aws/request.Request" representing the
580// client's request for the ListSuiteRuns operation. The "output" return
581// value will be populated with the request's response once the request completes
582// successfully.
583//
584// Use "Send" method on the returned Request to send the API call to the service.
585// the "output" return value is not valid until after Send returns without error.
586//
587// See ListSuiteRuns for more information on using the ListSuiteRuns
588// API call, and error handling.
589//
590// This method is useful when you want to inject custom logic or configuration
591// into the SDK's request lifecycle. Such as custom headers, or retry logic.
592//
593//
594//    // Example sending a request using the ListSuiteRunsRequest method.
595//    req, resp := client.ListSuiteRunsRequest(params)
596//
597//    err := req.Send()
598//    if err == nil { // resp is now filled
599//        fmt.Println(resp)
600//    }
601//
602// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteRuns
603func (c *IoTDeviceAdvisor) ListSuiteRunsRequest(input *ListSuiteRunsInput) (req *request.Request, output *ListSuiteRunsOutput) {
604	op := &request.Operation{
605		Name:       opListSuiteRuns,
606		HTTPMethod: "GET",
607		HTTPPath:   "/suiteRuns",
608		Paginator: &request.Paginator{
609			InputTokens:     []string{"nextToken"},
610			OutputTokens:    []string{"nextToken"},
611			LimitToken:      "maxResults",
612			TruncationToken: "",
613		},
614	}
615
616	if input == nil {
617		input = &ListSuiteRunsInput{}
618	}
619
620	output = &ListSuiteRunsOutput{}
621	req = c.newRequest(op, input, output)
622	return
623}
624
625// ListSuiteRuns API operation for AWS IoT Core Device Advisor.
626//
627// Lists the runs of the specified Device Advisor test suite. You can list all
628// runs of the test suite, or the runs of a specific version of the test suite.
629//
630// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
631// with awserr.Error's Code and Message methods to get detailed information about
632// the error.
633//
634// See the AWS API reference guide for AWS IoT Core Device Advisor's
635// API operation ListSuiteRuns for usage and error information.
636//
637// Returned Error Types:
638//   * ValidationException
639//   Sends invalid request exception.
640//
641//   * InternalServerException
642//   Sends Internal Failure Exception.
643//
644// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteRuns
645func (c *IoTDeviceAdvisor) ListSuiteRuns(input *ListSuiteRunsInput) (*ListSuiteRunsOutput, error) {
646	req, out := c.ListSuiteRunsRequest(input)
647	return out, req.Send()
648}
649
650// ListSuiteRunsWithContext is the same as ListSuiteRuns with the addition of
651// the ability to pass a context and additional request options.
652//
653// See ListSuiteRuns for details on how to use this API operation.
654//
655// The context must be non-nil and will be used for request cancellation. If
656// the context is nil a panic will occur. In the future the SDK may create
657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
658// for more information on using Contexts.
659func (c *IoTDeviceAdvisor) ListSuiteRunsWithContext(ctx aws.Context, input *ListSuiteRunsInput, opts ...request.Option) (*ListSuiteRunsOutput, error) {
660	req, out := c.ListSuiteRunsRequest(input)
661	req.SetContext(ctx)
662	req.ApplyOptions(opts...)
663	return out, req.Send()
664}
665
666// ListSuiteRunsPages iterates over the pages of a ListSuiteRuns operation,
667// calling the "fn" function with the response data for each page. To stop
668// iterating, return false from the fn function.
669//
670// See ListSuiteRuns method for more information on how to use this operation.
671//
672// Note: This operation can generate multiple requests to a service.
673//
674//    // Example iterating over at most 3 pages of a ListSuiteRuns operation.
675//    pageNum := 0
676//    err := client.ListSuiteRunsPages(params,
677//        func(page *iotdeviceadvisor.ListSuiteRunsOutput, lastPage bool) bool {
678//            pageNum++
679//            fmt.Println(page)
680//            return pageNum <= 3
681//        })
682//
683func (c *IoTDeviceAdvisor) ListSuiteRunsPages(input *ListSuiteRunsInput, fn func(*ListSuiteRunsOutput, bool) bool) error {
684	return c.ListSuiteRunsPagesWithContext(aws.BackgroundContext(), input, fn)
685}
686
687// ListSuiteRunsPagesWithContext same as ListSuiteRunsPages except
688// it takes a Context and allows setting request options on the pages.
689//
690// The context must be non-nil and will be used for request cancellation. If
691// the context is nil a panic will occur. In the future the SDK may create
692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
693// for more information on using Contexts.
694func (c *IoTDeviceAdvisor) ListSuiteRunsPagesWithContext(ctx aws.Context, input *ListSuiteRunsInput, fn func(*ListSuiteRunsOutput, bool) bool, opts ...request.Option) error {
695	p := request.Pagination{
696		NewRequest: func() (*request.Request, error) {
697			var inCpy *ListSuiteRunsInput
698			if input != nil {
699				tmp := *input
700				inCpy = &tmp
701			}
702			req, _ := c.ListSuiteRunsRequest(inCpy)
703			req.SetContext(ctx)
704			req.ApplyOptions(opts...)
705			return req, nil
706		},
707	}
708
709	for p.Next() {
710		if !fn(p.Page().(*ListSuiteRunsOutput), !p.HasNextPage()) {
711			break
712		}
713	}
714
715	return p.Err()
716}
717
718const opListTagsForResource = "ListTagsForResource"
719
720// ListTagsForResourceRequest generates a "aws/request.Request" representing the
721// client's request for the ListTagsForResource operation. The "output" return
722// value will be populated with the request's response once the request completes
723// successfully.
724//
725// Use "Send" method on the returned Request to send the API call to the service.
726// the "output" return value is not valid until after Send returns without error.
727//
728// See ListTagsForResource for more information on using the ListTagsForResource
729// API call, and error handling.
730//
731// This method is useful when you want to inject custom logic or configuration
732// into the SDK's request lifecycle. Such as custom headers, or retry logic.
733//
734//
735//    // Example sending a request using the ListTagsForResourceRequest method.
736//    req, resp := client.ListTagsForResourceRequest(params)
737//
738//    err := req.Send()
739//    if err == nil { // resp is now filled
740//        fmt.Println(resp)
741//    }
742//
743// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListTagsForResource
744func (c *IoTDeviceAdvisor) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
745	op := &request.Operation{
746		Name:       opListTagsForResource,
747		HTTPMethod: "GET",
748		HTTPPath:   "/tags/{resourceArn}",
749	}
750
751	if input == nil {
752		input = &ListTagsForResourceInput{}
753	}
754
755	output = &ListTagsForResourceOutput{}
756	req = c.newRequest(op, input, output)
757	return
758}
759
760// ListTagsForResource API operation for AWS IoT Core Device Advisor.
761//
762// Lists the tags attached to an IoT Device Advisor resource.
763//
764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
765// with awserr.Error's Code and Message methods to get detailed information about
766// the error.
767//
768// See the AWS API reference guide for AWS IoT Core Device Advisor's
769// API operation ListTagsForResource for usage and error information.
770//
771// Returned Error Types:
772//   * InternalServerException
773//   Sends Internal Failure Exception.
774//
775//   * ValidationException
776//   Sends invalid request exception.
777//
778//   * ResourceNotFoundException
779//   Sends Resource Not Found Exception.
780//
781// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListTagsForResource
782func (c *IoTDeviceAdvisor) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
783	req, out := c.ListTagsForResourceRequest(input)
784	return out, req.Send()
785}
786
787// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
788// the ability to pass a context and additional request options.
789//
790// See ListTagsForResource for details on how to use this API operation.
791//
792// The context must be non-nil and will be used for request cancellation. If
793// the context is nil a panic will occur. In the future the SDK may create
794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
795// for more information on using Contexts.
796func (c *IoTDeviceAdvisor) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
797	req, out := c.ListTagsForResourceRequest(input)
798	req.SetContext(ctx)
799	req.ApplyOptions(opts...)
800	return out, req.Send()
801}
802
803const opStartSuiteRun = "StartSuiteRun"
804
805// StartSuiteRunRequest generates a "aws/request.Request" representing the
806// client's request for the StartSuiteRun operation. The "output" return
807// value will be populated with the request's response once the request completes
808// successfully.
809//
810// Use "Send" method on the returned Request to send the API call to the service.
811// the "output" return value is not valid until after Send returns without error.
812//
813// See StartSuiteRun for more information on using the StartSuiteRun
814// API call, and error handling.
815//
816// This method is useful when you want to inject custom logic or configuration
817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
818//
819//
820//    // Example sending a request using the StartSuiteRunRequest method.
821//    req, resp := client.StartSuiteRunRequest(params)
822//
823//    err := req.Send()
824//    if err == nil { // resp is now filled
825//        fmt.Println(resp)
826//    }
827//
828// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/StartSuiteRun
829func (c *IoTDeviceAdvisor) StartSuiteRunRequest(input *StartSuiteRunInput) (req *request.Request, output *StartSuiteRunOutput) {
830	op := &request.Operation{
831		Name:       opStartSuiteRun,
832		HTTPMethod: "POST",
833		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}/suiteRuns",
834	}
835
836	if input == nil {
837		input = &StartSuiteRunInput{}
838	}
839
840	output = &StartSuiteRunOutput{}
841	req = c.newRequest(op, input, output)
842	return
843}
844
845// StartSuiteRun API operation for AWS IoT Core Device Advisor.
846//
847// Starts a Device Advisor test suite run.
848//
849// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
850// with awserr.Error's Code and Message methods to get detailed information about
851// the error.
852//
853// See the AWS API reference guide for AWS IoT Core Device Advisor's
854// API operation StartSuiteRun for usage and error information.
855//
856// Returned Error Types:
857//   * ValidationException
858//   Sends invalid request exception.
859//
860//   * InternalServerException
861//   Sends Internal Failure Exception.
862//
863//   * ConflictException
864//   Sends Conflict Exception.
865//
866// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/StartSuiteRun
867func (c *IoTDeviceAdvisor) StartSuiteRun(input *StartSuiteRunInput) (*StartSuiteRunOutput, error) {
868	req, out := c.StartSuiteRunRequest(input)
869	return out, req.Send()
870}
871
872// StartSuiteRunWithContext is the same as StartSuiteRun with the addition of
873// the ability to pass a context and additional request options.
874//
875// See StartSuiteRun for details on how to use this API operation.
876//
877// The context must be non-nil and will be used for request cancellation. If
878// the context is nil a panic will occur. In the future the SDK may create
879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
880// for more information on using Contexts.
881func (c *IoTDeviceAdvisor) StartSuiteRunWithContext(ctx aws.Context, input *StartSuiteRunInput, opts ...request.Option) (*StartSuiteRunOutput, error) {
882	req, out := c.StartSuiteRunRequest(input)
883	req.SetContext(ctx)
884	req.ApplyOptions(opts...)
885	return out, req.Send()
886}
887
888const opStopSuiteRun = "StopSuiteRun"
889
890// StopSuiteRunRequest generates a "aws/request.Request" representing the
891// client's request for the StopSuiteRun operation. The "output" return
892// value will be populated with the request's response once the request completes
893// successfully.
894//
895// Use "Send" method on the returned Request to send the API call to the service.
896// the "output" return value is not valid until after Send returns without error.
897//
898// See StopSuiteRun for more information on using the StopSuiteRun
899// API call, and error handling.
900//
901// This method is useful when you want to inject custom logic or configuration
902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
903//
904//
905//    // Example sending a request using the StopSuiteRunRequest method.
906//    req, resp := client.StopSuiteRunRequest(params)
907//
908//    err := req.Send()
909//    if err == nil { // resp is now filled
910//        fmt.Println(resp)
911//    }
912//
913// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/StopSuiteRun
914func (c *IoTDeviceAdvisor) StopSuiteRunRequest(input *StopSuiteRunInput) (req *request.Request, output *StopSuiteRunOutput) {
915	op := &request.Operation{
916		Name:       opStopSuiteRun,
917		HTTPMethod: "POST",
918		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}/suiteRuns/{suiteRunId}/stop",
919	}
920
921	if input == nil {
922		input = &StopSuiteRunInput{}
923	}
924
925	output = &StopSuiteRunOutput{}
926	req = c.newRequest(op, input, output)
927	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
928	return
929}
930
931// StopSuiteRun API operation for AWS IoT Core Device Advisor.
932//
933// Stops a Device Advisor test suite run that is currently running.
934//
935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
936// with awserr.Error's Code and Message methods to get detailed information about
937// the error.
938//
939// See the AWS API reference guide for AWS IoT Core Device Advisor's
940// API operation StopSuiteRun for usage and error information.
941//
942// Returned Error Types:
943//   * ValidationException
944//   Sends invalid request exception.
945//
946//   * ResourceNotFoundException
947//   Sends Resource Not Found Exception.
948//
949//   * InternalServerException
950//   Sends Internal Failure Exception.
951//
952// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/StopSuiteRun
953func (c *IoTDeviceAdvisor) StopSuiteRun(input *StopSuiteRunInput) (*StopSuiteRunOutput, error) {
954	req, out := c.StopSuiteRunRequest(input)
955	return out, req.Send()
956}
957
958// StopSuiteRunWithContext is the same as StopSuiteRun with the addition of
959// the ability to pass a context and additional request options.
960//
961// See StopSuiteRun for details on how to use this API operation.
962//
963// The context must be non-nil and will be used for request cancellation. If
964// the context is nil a panic will occur. In the future the SDK may create
965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
966// for more information on using Contexts.
967func (c *IoTDeviceAdvisor) StopSuiteRunWithContext(ctx aws.Context, input *StopSuiteRunInput, opts ...request.Option) (*StopSuiteRunOutput, error) {
968	req, out := c.StopSuiteRunRequest(input)
969	req.SetContext(ctx)
970	req.ApplyOptions(opts...)
971	return out, req.Send()
972}
973
974const opTagResource = "TagResource"
975
976// TagResourceRequest generates a "aws/request.Request" representing the
977// client's request for the TagResource operation. The "output" return
978// value will be populated with the request's response once the request completes
979// successfully.
980//
981// Use "Send" method on the returned Request to send the API call to the service.
982// the "output" return value is not valid until after Send returns without error.
983//
984// See TagResource for more information on using the TagResource
985// API call, and error handling.
986//
987// This method is useful when you want to inject custom logic or configuration
988// into the SDK's request lifecycle. Such as custom headers, or retry logic.
989//
990//
991//    // Example sending a request using the TagResourceRequest method.
992//    req, resp := client.TagResourceRequest(params)
993//
994//    err := req.Send()
995//    if err == nil { // resp is now filled
996//        fmt.Println(resp)
997//    }
998//
999// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/TagResource
1000func (c *IoTDeviceAdvisor) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
1001	op := &request.Operation{
1002		Name:       opTagResource,
1003		HTTPMethod: "POST",
1004		HTTPPath:   "/tags/{resourceArn}",
1005	}
1006
1007	if input == nil {
1008		input = &TagResourceInput{}
1009	}
1010
1011	output = &TagResourceOutput{}
1012	req = c.newRequest(op, input, output)
1013	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1014	return
1015}
1016
1017// TagResource API operation for AWS IoT Core Device Advisor.
1018//
1019// Adds to and modifies existing tags of an IoT Device Advisor resource.
1020//
1021// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1022// with awserr.Error's Code and Message methods to get detailed information about
1023// the error.
1024//
1025// See the AWS API reference guide for AWS IoT Core Device Advisor's
1026// API operation TagResource for usage and error information.
1027//
1028// Returned Error Types:
1029//   * InternalServerException
1030//   Sends Internal Failure Exception.
1031//
1032//   * ValidationException
1033//   Sends invalid request exception.
1034//
1035//   * ResourceNotFoundException
1036//   Sends Resource Not Found Exception.
1037//
1038// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/TagResource
1039func (c *IoTDeviceAdvisor) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
1040	req, out := c.TagResourceRequest(input)
1041	return out, req.Send()
1042}
1043
1044// TagResourceWithContext is the same as TagResource with the addition of
1045// the ability to pass a context and additional request options.
1046//
1047// See TagResource for details on how to use this API operation.
1048//
1049// The context must be non-nil and will be used for request cancellation. If
1050// the context is nil a panic will occur. In the future the SDK may create
1051// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1052// for more information on using Contexts.
1053func (c *IoTDeviceAdvisor) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
1054	req, out := c.TagResourceRequest(input)
1055	req.SetContext(ctx)
1056	req.ApplyOptions(opts...)
1057	return out, req.Send()
1058}
1059
1060const opUntagResource = "UntagResource"
1061
1062// UntagResourceRequest generates a "aws/request.Request" representing the
1063// client's request for the UntagResource operation. The "output" return
1064// value will be populated with the request's response once the request completes
1065// successfully.
1066//
1067// Use "Send" method on the returned Request to send the API call to the service.
1068// the "output" return value is not valid until after Send returns without error.
1069//
1070// See UntagResource for more information on using the UntagResource
1071// API call, and error handling.
1072//
1073// This method is useful when you want to inject custom logic or configuration
1074// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1075//
1076//
1077//    // Example sending a request using the UntagResourceRequest method.
1078//    req, resp := client.UntagResourceRequest(params)
1079//
1080//    err := req.Send()
1081//    if err == nil { // resp is now filled
1082//        fmt.Println(resp)
1083//    }
1084//
1085// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/UntagResource
1086func (c *IoTDeviceAdvisor) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
1087	op := &request.Operation{
1088		Name:       opUntagResource,
1089		HTTPMethod: "DELETE",
1090		HTTPPath:   "/tags/{resourceArn}",
1091	}
1092
1093	if input == nil {
1094		input = &UntagResourceInput{}
1095	}
1096
1097	output = &UntagResourceOutput{}
1098	req = c.newRequest(op, input, output)
1099	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1100	return
1101}
1102
1103// UntagResource API operation for AWS IoT Core Device Advisor.
1104//
1105// Removes tags from an IoT Device Advisor resource.
1106//
1107// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1108// with awserr.Error's Code and Message methods to get detailed information about
1109// the error.
1110//
1111// See the AWS API reference guide for AWS IoT Core Device Advisor's
1112// API operation UntagResource for usage and error information.
1113//
1114// Returned Error Types:
1115//   * InternalServerException
1116//   Sends Internal Failure Exception.
1117//
1118//   * ValidationException
1119//   Sends invalid request exception.
1120//
1121//   * ResourceNotFoundException
1122//   Sends Resource Not Found Exception.
1123//
1124// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/UntagResource
1125func (c *IoTDeviceAdvisor) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
1126	req, out := c.UntagResourceRequest(input)
1127	return out, req.Send()
1128}
1129
1130// UntagResourceWithContext is the same as UntagResource with the addition of
1131// the ability to pass a context and additional request options.
1132//
1133// See UntagResource for details on how to use this API operation.
1134//
1135// The context must be non-nil and will be used for request cancellation. If
1136// the context is nil a panic will occur. In the future the SDK may create
1137// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1138// for more information on using Contexts.
1139func (c *IoTDeviceAdvisor) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
1140	req, out := c.UntagResourceRequest(input)
1141	req.SetContext(ctx)
1142	req.ApplyOptions(opts...)
1143	return out, req.Send()
1144}
1145
1146const opUpdateSuiteDefinition = "UpdateSuiteDefinition"
1147
1148// UpdateSuiteDefinitionRequest generates a "aws/request.Request" representing the
1149// client's request for the UpdateSuiteDefinition operation. The "output" return
1150// value will be populated with the request's response once the request completes
1151// successfully.
1152//
1153// Use "Send" method on the returned Request to send the API call to the service.
1154// the "output" return value is not valid until after Send returns without error.
1155//
1156// See UpdateSuiteDefinition for more information on using the UpdateSuiteDefinition
1157// API call, and error handling.
1158//
1159// This method is useful when you want to inject custom logic or configuration
1160// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1161//
1162//
1163//    // Example sending a request using the UpdateSuiteDefinitionRequest method.
1164//    req, resp := client.UpdateSuiteDefinitionRequest(params)
1165//
1166//    err := req.Send()
1167//    if err == nil { // resp is now filled
1168//        fmt.Println(resp)
1169//    }
1170//
1171// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition
1172func (c *IoTDeviceAdvisor) UpdateSuiteDefinitionRequest(input *UpdateSuiteDefinitionInput) (req *request.Request, output *UpdateSuiteDefinitionOutput) {
1173	op := &request.Operation{
1174		Name:       opUpdateSuiteDefinition,
1175		HTTPMethod: "PATCH",
1176		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}",
1177	}
1178
1179	if input == nil {
1180		input = &UpdateSuiteDefinitionInput{}
1181	}
1182
1183	output = &UpdateSuiteDefinitionOutput{}
1184	req = c.newRequest(op, input, output)
1185	return
1186}
1187
1188// UpdateSuiteDefinition API operation for AWS IoT Core Device Advisor.
1189//
1190// Updates a Device Advisor test suite.
1191//
1192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1193// with awserr.Error's Code and Message methods to get detailed information about
1194// the error.
1195//
1196// See the AWS API reference guide for AWS IoT Core Device Advisor's
1197// API operation UpdateSuiteDefinition for usage and error information.
1198//
1199// Returned Error Types:
1200//   * ValidationException
1201//   Sends invalid request exception.
1202//
1203//   * InternalServerException
1204//   Sends Internal Failure Exception.
1205//
1206// See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition
1207func (c *IoTDeviceAdvisor) UpdateSuiteDefinition(input *UpdateSuiteDefinitionInput) (*UpdateSuiteDefinitionOutput, error) {
1208	req, out := c.UpdateSuiteDefinitionRequest(input)
1209	return out, req.Send()
1210}
1211
1212// UpdateSuiteDefinitionWithContext is the same as UpdateSuiteDefinition with the addition of
1213// the ability to pass a context and additional request options.
1214//
1215// See UpdateSuiteDefinition for details on how to use this API operation.
1216//
1217// The context must be non-nil and will be used for request cancellation. If
1218// the context is nil a panic will occur. In the future the SDK may create
1219// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1220// for more information on using Contexts.
1221func (c *IoTDeviceAdvisor) UpdateSuiteDefinitionWithContext(ctx aws.Context, input *UpdateSuiteDefinitionInput, opts ...request.Option) (*UpdateSuiteDefinitionOutput, error) {
1222	req, out := c.UpdateSuiteDefinitionRequest(input)
1223	req.SetContext(ctx)
1224	req.ApplyOptions(opts...)
1225	return out, req.Send()
1226}
1227
1228// Sends Conflict Exception.
1229type ConflictException struct {
1230	_            struct{}                  `type:"structure"`
1231	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1232
1233	// Sends Conflict Exception message.
1234	Message_ *string `locationName:"message" min:"1" type:"string"`
1235}
1236
1237// String returns the string representation
1238func (s ConflictException) String() string {
1239	return awsutil.Prettify(s)
1240}
1241
1242// GoString returns the string representation
1243func (s ConflictException) GoString() string {
1244	return s.String()
1245}
1246
1247func newErrorConflictException(v protocol.ResponseMetadata) error {
1248	return &ConflictException{
1249		RespMetadata: v,
1250	}
1251}
1252
1253// Code returns the exception type name.
1254func (s *ConflictException) Code() string {
1255	return "ConflictException"
1256}
1257
1258// Message returns the exception's message.
1259func (s *ConflictException) Message() string {
1260	if s.Message_ != nil {
1261		return *s.Message_
1262	}
1263	return ""
1264}
1265
1266// OrigErr always returns nil, satisfies awserr.Error interface.
1267func (s *ConflictException) OrigErr() error {
1268	return nil
1269}
1270
1271func (s *ConflictException) Error() string {
1272	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1273}
1274
1275// Status code returns the HTTP status code for the request's response error.
1276func (s *ConflictException) StatusCode() int {
1277	return s.RespMetadata.StatusCode
1278}
1279
1280// RequestID returns the service's response RequestID for request.
1281func (s *ConflictException) RequestID() string {
1282	return s.RespMetadata.RequestID
1283}
1284
1285type CreateSuiteDefinitionInput struct {
1286	_ struct{} `type:"structure"`
1287
1288	// Creates a Device Advisor test suite with suite definition configuration.
1289	SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure"`
1290
1291	// The tags to be attached to the suite definition.
1292	Tags map[string]*string `locationName:"tags" type:"map"`
1293}
1294
1295// String returns the string representation
1296func (s CreateSuiteDefinitionInput) String() string {
1297	return awsutil.Prettify(s)
1298}
1299
1300// GoString returns the string representation
1301func (s CreateSuiteDefinitionInput) GoString() string {
1302	return s.String()
1303}
1304
1305// Validate inspects the fields of the type to determine if they are valid.
1306func (s *CreateSuiteDefinitionInput) Validate() error {
1307	invalidParams := request.ErrInvalidParams{Context: "CreateSuiteDefinitionInput"}
1308	if s.SuiteDefinitionConfiguration != nil {
1309		if err := s.SuiteDefinitionConfiguration.Validate(); err != nil {
1310			invalidParams.AddNested("SuiteDefinitionConfiguration", err.(request.ErrInvalidParams))
1311		}
1312	}
1313
1314	if invalidParams.Len() > 0 {
1315		return invalidParams
1316	}
1317	return nil
1318}
1319
1320// SetSuiteDefinitionConfiguration sets the SuiteDefinitionConfiguration field's value.
1321func (s *CreateSuiteDefinitionInput) SetSuiteDefinitionConfiguration(v *SuiteDefinitionConfiguration) *CreateSuiteDefinitionInput {
1322	s.SuiteDefinitionConfiguration = v
1323	return s
1324}
1325
1326// SetTags sets the Tags field's value.
1327func (s *CreateSuiteDefinitionInput) SetTags(v map[string]*string) *CreateSuiteDefinitionInput {
1328	s.Tags = v
1329	return s
1330}
1331
1332type CreateSuiteDefinitionOutput struct {
1333	_ struct{} `type:"structure"`
1334
1335	// Creates a Device Advisor test suite with TimeStamp of when it was created.
1336	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
1337
1338	// Creates a Device Advisor test suite with Amazon Resource name.
1339	SuiteDefinitionArn *string `locationName:"suiteDefinitionArn" min:"20" type:"string"`
1340
1341	// Creates a Device Advisor test suite with suite UUID.
1342	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
1343
1344	// Creates a Device Advisor test suite with suite definition name.
1345	SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
1346}
1347
1348// String returns the string representation
1349func (s CreateSuiteDefinitionOutput) String() string {
1350	return awsutil.Prettify(s)
1351}
1352
1353// GoString returns the string representation
1354func (s CreateSuiteDefinitionOutput) GoString() string {
1355	return s.String()
1356}
1357
1358// SetCreatedAt sets the CreatedAt field's value.
1359func (s *CreateSuiteDefinitionOutput) SetCreatedAt(v time.Time) *CreateSuiteDefinitionOutput {
1360	s.CreatedAt = &v
1361	return s
1362}
1363
1364// SetSuiteDefinitionArn sets the SuiteDefinitionArn field's value.
1365func (s *CreateSuiteDefinitionOutput) SetSuiteDefinitionArn(v string) *CreateSuiteDefinitionOutput {
1366	s.SuiteDefinitionArn = &v
1367	return s
1368}
1369
1370// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
1371func (s *CreateSuiteDefinitionOutput) SetSuiteDefinitionId(v string) *CreateSuiteDefinitionOutput {
1372	s.SuiteDefinitionId = &v
1373	return s
1374}
1375
1376// SetSuiteDefinitionName sets the SuiteDefinitionName field's value.
1377func (s *CreateSuiteDefinitionOutput) SetSuiteDefinitionName(v string) *CreateSuiteDefinitionOutput {
1378	s.SuiteDefinitionName = &v
1379	return s
1380}
1381
1382type DeleteSuiteDefinitionInput struct {
1383	_ struct{} `type:"structure"`
1384
1385	// Suite definition Id of the test suite to be deleted.
1386	//
1387	// SuiteDefinitionId is a required field
1388	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
1389}
1390
1391// String returns the string representation
1392func (s DeleteSuiteDefinitionInput) String() string {
1393	return awsutil.Prettify(s)
1394}
1395
1396// GoString returns the string representation
1397func (s DeleteSuiteDefinitionInput) GoString() string {
1398	return s.String()
1399}
1400
1401// Validate inspects the fields of the type to determine if they are valid.
1402func (s *DeleteSuiteDefinitionInput) Validate() error {
1403	invalidParams := request.ErrInvalidParams{Context: "DeleteSuiteDefinitionInput"}
1404	if s.SuiteDefinitionId == nil {
1405		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
1406	}
1407	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
1408		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
1409	}
1410
1411	if invalidParams.Len() > 0 {
1412		return invalidParams
1413	}
1414	return nil
1415}
1416
1417// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
1418func (s *DeleteSuiteDefinitionInput) SetSuiteDefinitionId(v string) *DeleteSuiteDefinitionInput {
1419	s.SuiteDefinitionId = &v
1420	return s
1421}
1422
1423type DeleteSuiteDefinitionOutput struct {
1424	_ struct{} `type:"structure"`
1425}
1426
1427// String returns the string representation
1428func (s DeleteSuiteDefinitionOutput) String() string {
1429	return awsutil.Prettify(s)
1430}
1431
1432// GoString returns the string representation
1433func (s DeleteSuiteDefinitionOutput) GoString() string {
1434	return s.String()
1435}
1436
1437// Lists all the devices under test
1438type DeviceUnderTest struct {
1439	_ struct{} `type:"structure"`
1440
1441	// Lists devices certificate arn
1442	CertificateArn *string `locationName:"certificateArn" min:"20" type:"string"`
1443
1444	// Lists devices thing arn
1445	ThingArn *string `locationName:"thingArn" min:"20" type:"string"`
1446}
1447
1448// String returns the string representation
1449func (s DeviceUnderTest) String() string {
1450	return awsutil.Prettify(s)
1451}
1452
1453// GoString returns the string representation
1454func (s DeviceUnderTest) GoString() string {
1455	return s.String()
1456}
1457
1458// Validate inspects the fields of the type to determine if they are valid.
1459func (s *DeviceUnderTest) Validate() error {
1460	invalidParams := request.ErrInvalidParams{Context: "DeviceUnderTest"}
1461	if s.CertificateArn != nil && len(*s.CertificateArn) < 20 {
1462		invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 20))
1463	}
1464	if s.ThingArn != nil && len(*s.ThingArn) < 20 {
1465		invalidParams.Add(request.NewErrParamMinLen("ThingArn", 20))
1466	}
1467
1468	if invalidParams.Len() > 0 {
1469		return invalidParams
1470	}
1471	return nil
1472}
1473
1474// SetCertificateArn sets the CertificateArn field's value.
1475func (s *DeviceUnderTest) SetCertificateArn(v string) *DeviceUnderTest {
1476	s.CertificateArn = &v
1477	return s
1478}
1479
1480// SetThingArn sets the ThingArn field's value.
1481func (s *DeviceUnderTest) SetThingArn(v string) *DeviceUnderTest {
1482	s.ThingArn = &v
1483	return s
1484}
1485
1486type GetSuiteDefinitionInput struct {
1487	_ struct{} `type:"structure"`
1488
1489	// Suite definition Id of the test suite to get.
1490	//
1491	// SuiteDefinitionId is a required field
1492	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
1493
1494	// Suite definition version of the test suite to get.
1495	SuiteDefinitionVersion *string `location:"querystring" locationName:"suiteDefinitionVersion" min:"2" type:"string"`
1496}
1497
1498// String returns the string representation
1499func (s GetSuiteDefinitionInput) String() string {
1500	return awsutil.Prettify(s)
1501}
1502
1503// GoString returns the string representation
1504func (s GetSuiteDefinitionInput) GoString() string {
1505	return s.String()
1506}
1507
1508// Validate inspects the fields of the type to determine if they are valid.
1509func (s *GetSuiteDefinitionInput) Validate() error {
1510	invalidParams := request.ErrInvalidParams{Context: "GetSuiteDefinitionInput"}
1511	if s.SuiteDefinitionId == nil {
1512		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
1513	}
1514	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
1515		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
1516	}
1517	if s.SuiteDefinitionVersion != nil && len(*s.SuiteDefinitionVersion) < 2 {
1518		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionVersion", 2))
1519	}
1520
1521	if invalidParams.Len() > 0 {
1522		return invalidParams
1523	}
1524	return nil
1525}
1526
1527// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
1528func (s *GetSuiteDefinitionInput) SetSuiteDefinitionId(v string) *GetSuiteDefinitionInput {
1529	s.SuiteDefinitionId = &v
1530	return s
1531}
1532
1533// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
1534func (s *GetSuiteDefinitionInput) SetSuiteDefinitionVersion(v string) *GetSuiteDefinitionInput {
1535	s.SuiteDefinitionVersion = &v
1536	return s
1537}
1538
1539type GetSuiteDefinitionOutput struct {
1540	_ struct{} `type:"structure"`
1541
1542	// Date (in Unix epoch time) when the suite definition was created.
1543	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
1544
1545	// Date (in Unix epoch time) when the suite definition was last modified.
1546	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp"`
1547
1548	// Latest suite definition version of the suite definition.
1549	LatestVersion *string `locationName:"latestVersion" min:"2" type:"string"`
1550
1551	// The ARN of the suite definition.
1552	SuiteDefinitionArn *string `locationName:"suiteDefinitionArn" min:"20" type:"string"`
1553
1554	// Suite configuration of the suite definition.
1555	SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure"`
1556
1557	// Suite definition Id of the suite definition.
1558	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
1559
1560	// Suite definition version of the suite definition.
1561	SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"`
1562
1563	// Tags attached to the suite definition.
1564	Tags map[string]*string `locationName:"tags" type:"map"`
1565}
1566
1567// String returns the string representation
1568func (s GetSuiteDefinitionOutput) String() string {
1569	return awsutil.Prettify(s)
1570}
1571
1572// GoString returns the string representation
1573func (s GetSuiteDefinitionOutput) GoString() string {
1574	return s.String()
1575}
1576
1577// SetCreatedAt sets the CreatedAt field's value.
1578func (s *GetSuiteDefinitionOutput) SetCreatedAt(v time.Time) *GetSuiteDefinitionOutput {
1579	s.CreatedAt = &v
1580	return s
1581}
1582
1583// SetLastModifiedAt sets the LastModifiedAt field's value.
1584func (s *GetSuiteDefinitionOutput) SetLastModifiedAt(v time.Time) *GetSuiteDefinitionOutput {
1585	s.LastModifiedAt = &v
1586	return s
1587}
1588
1589// SetLatestVersion sets the LatestVersion field's value.
1590func (s *GetSuiteDefinitionOutput) SetLatestVersion(v string) *GetSuiteDefinitionOutput {
1591	s.LatestVersion = &v
1592	return s
1593}
1594
1595// SetSuiteDefinitionArn sets the SuiteDefinitionArn field's value.
1596func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionArn(v string) *GetSuiteDefinitionOutput {
1597	s.SuiteDefinitionArn = &v
1598	return s
1599}
1600
1601// SetSuiteDefinitionConfiguration sets the SuiteDefinitionConfiguration field's value.
1602func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionConfiguration(v *SuiteDefinitionConfiguration) *GetSuiteDefinitionOutput {
1603	s.SuiteDefinitionConfiguration = v
1604	return s
1605}
1606
1607// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
1608func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionId(v string) *GetSuiteDefinitionOutput {
1609	s.SuiteDefinitionId = &v
1610	return s
1611}
1612
1613// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
1614func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionVersion(v string) *GetSuiteDefinitionOutput {
1615	s.SuiteDefinitionVersion = &v
1616	return s
1617}
1618
1619// SetTags sets the Tags field's value.
1620func (s *GetSuiteDefinitionOutput) SetTags(v map[string]*string) *GetSuiteDefinitionOutput {
1621	s.Tags = v
1622	return s
1623}
1624
1625type GetSuiteRunInput struct {
1626	_ struct{} `type:"structure"`
1627
1628	// Suite definition Id for the test suite run.
1629	//
1630	// SuiteDefinitionId is a required field
1631	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
1632
1633	// Suite run Id for the test suite run.
1634	//
1635	// SuiteRunId is a required field
1636	SuiteRunId *string `location:"uri" locationName:"suiteRunId" min:"12" type:"string" required:"true"`
1637}
1638
1639// String returns the string representation
1640func (s GetSuiteRunInput) String() string {
1641	return awsutil.Prettify(s)
1642}
1643
1644// GoString returns the string representation
1645func (s GetSuiteRunInput) GoString() string {
1646	return s.String()
1647}
1648
1649// Validate inspects the fields of the type to determine if they are valid.
1650func (s *GetSuiteRunInput) Validate() error {
1651	invalidParams := request.ErrInvalidParams{Context: "GetSuiteRunInput"}
1652	if s.SuiteDefinitionId == nil {
1653		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
1654	}
1655	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
1656		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
1657	}
1658	if s.SuiteRunId == nil {
1659		invalidParams.Add(request.NewErrParamRequired("SuiteRunId"))
1660	}
1661	if s.SuiteRunId != nil && len(*s.SuiteRunId) < 12 {
1662		invalidParams.Add(request.NewErrParamMinLen("SuiteRunId", 12))
1663	}
1664
1665	if invalidParams.Len() > 0 {
1666		return invalidParams
1667	}
1668	return nil
1669}
1670
1671// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
1672func (s *GetSuiteRunInput) SetSuiteDefinitionId(v string) *GetSuiteRunInput {
1673	s.SuiteDefinitionId = &v
1674	return s
1675}
1676
1677// SetSuiteRunId sets the SuiteRunId field's value.
1678func (s *GetSuiteRunInput) SetSuiteRunId(v string) *GetSuiteRunInput {
1679	s.SuiteRunId = &v
1680	return s
1681}
1682
1683type GetSuiteRunOutput struct {
1684	_ struct{} `type:"structure"`
1685
1686	// Date (in Unix epoch time) when the test suite run ended.
1687	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
1688
1689	// Error reason for any test suite run failure.
1690	ErrorReason *string `locationName:"errorReason" type:"string"`
1691
1692	// Date (in Unix epoch time) when the test suite run was started.
1693	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
1694
1695	// Status for the test suite run.
1696	Status *string `locationName:"status" type:"string" enum:"SuiteRunStatus"`
1697
1698	// Suite definition Id for the test suite run.
1699	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
1700
1701	// Suite definition version for the test suite run.
1702	SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"`
1703
1704	// The ARN of the suite run.
1705	SuiteRunArn *string `locationName:"suiteRunArn" min:"20" type:"string"`
1706
1707	// Suite run configuration for the test suite run.
1708	SuiteRunConfiguration *SuiteRunConfiguration `locationName:"suiteRunConfiguration" type:"structure"`
1709
1710	// Suite run Id for the test suite run.
1711	SuiteRunId *string `locationName:"suiteRunId" min:"12" type:"string"`
1712
1713	// The tags attached to the suite run.
1714	Tags map[string]*string `locationName:"tags" type:"map"`
1715
1716	// Test results for the test suite run.
1717	TestResult *TestResult `locationName:"testResult" type:"structure"`
1718}
1719
1720// String returns the string representation
1721func (s GetSuiteRunOutput) String() string {
1722	return awsutil.Prettify(s)
1723}
1724
1725// GoString returns the string representation
1726func (s GetSuiteRunOutput) GoString() string {
1727	return s.String()
1728}
1729
1730// SetEndTime sets the EndTime field's value.
1731func (s *GetSuiteRunOutput) SetEndTime(v time.Time) *GetSuiteRunOutput {
1732	s.EndTime = &v
1733	return s
1734}
1735
1736// SetErrorReason sets the ErrorReason field's value.
1737func (s *GetSuiteRunOutput) SetErrorReason(v string) *GetSuiteRunOutput {
1738	s.ErrorReason = &v
1739	return s
1740}
1741
1742// SetStartTime sets the StartTime field's value.
1743func (s *GetSuiteRunOutput) SetStartTime(v time.Time) *GetSuiteRunOutput {
1744	s.StartTime = &v
1745	return s
1746}
1747
1748// SetStatus sets the Status field's value.
1749func (s *GetSuiteRunOutput) SetStatus(v string) *GetSuiteRunOutput {
1750	s.Status = &v
1751	return s
1752}
1753
1754// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
1755func (s *GetSuiteRunOutput) SetSuiteDefinitionId(v string) *GetSuiteRunOutput {
1756	s.SuiteDefinitionId = &v
1757	return s
1758}
1759
1760// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
1761func (s *GetSuiteRunOutput) SetSuiteDefinitionVersion(v string) *GetSuiteRunOutput {
1762	s.SuiteDefinitionVersion = &v
1763	return s
1764}
1765
1766// SetSuiteRunArn sets the SuiteRunArn field's value.
1767func (s *GetSuiteRunOutput) SetSuiteRunArn(v string) *GetSuiteRunOutput {
1768	s.SuiteRunArn = &v
1769	return s
1770}
1771
1772// SetSuiteRunConfiguration sets the SuiteRunConfiguration field's value.
1773func (s *GetSuiteRunOutput) SetSuiteRunConfiguration(v *SuiteRunConfiguration) *GetSuiteRunOutput {
1774	s.SuiteRunConfiguration = v
1775	return s
1776}
1777
1778// SetSuiteRunId sets the SuiteRunId field's value.
1779func (s *GetSuiteRunOutput) SetSuiteRunId(v string) *GetSuiteRunOutput {
1780	s.SuiteRunId = &v
1781	return s
1782}
1783
1784// SetTags sets the Tags field's value.
1785func (s *GetSuiteRunOutput) SetTags(v map[string]*string) *GetSuiteRunOutput {
1786	s.Tags = v
1787	return s
1788}
1789
1790// SetTestResult sets the TestResult field's value.
1791func (s *GetSuiteRunOutput) SetTestResult(v *TestResult) *GetSuiteRunOutput {
1792	s.TestResult = v
1793	return s
1794}
1795
1796type GetSuiteRunReportInput struct {
1797	_ struct{} `type:"structure"`
1798
1799	// Suite definition Id of the test suite.
1800	//
1801	// SuiteDefinitionId is a required field
1802	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
1803
1804	// Suite run Id of the test suite run.
1805	//
1806	// SuiteRunId is a required field
1807	SuiteRunId *string `location:"uri" locationName:"suiteRunId" min:"12" type:"string" required:"true"`
1808}
1809
1810// String returns the string representation
1811func (s GetSuiteRunReportInput) String() string {
1812	return awsutil.Prettify(s)
1813}
1814
1815// GoString returns the string representation
1816func (s GetSuiteRunReportInput) GoString() string {
1817	return s.String()
1818}
1819
1820// Validate inspects the fields of the type to determine if they are valid.
1821func (s *GetSuiteRunReportInput) Validate() error {
1822	invalidParams := request.ErrInvalidParams{Context: "GetSuiteRunReportInput"}
1823	if s.SuiteDefinitionId == nil {
1824		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
1825	}
1826	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
1827		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
1828	}
1829	if s.SuiteRunId == nil {
1830		invalidParams.Add(request.NewErrParamRequired("SuiteRunId"))
1831	}
1832	if s.SuiteRunId != nil && len(*s.SuiteRunId) < 12 {
1833		invalidParams.Add(request.NewErrParamMinLen("SuiteRunId", 12))
1834	}
1835
1836	if invalidParams.Len() > 0 {
1837		return invalidParams
1838	}
1839	return nil
1840}
1841
1842// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
1843func (s *GetSuiteRunReportInput) SetSuiteDefinitionId(v string) *GetSuiteRunReportInput {
1844	s.SuiteDefinitionId = &v
1845	return s
1846}
1847
1848// SetSuiteRunId sets the SuiteRunId field's value.
1849func (s *GetSuiteRunReportInput) SetSuiteRunId(v string) *GetSuiteRunReportInput {
1850	s.SuiteRunId = &v
1851	return s
1852}
1853
1854type GetSuiteRunReportOutput struct {
1855	_ struct{} `type:"structure"`
1856
1857	// Download URL of the qualification report.
1858	QualificationReportDownloadUrl *string `locationName:"qualificationReportDownloadUrl" type:"string"`
1859}
1860
1861// String returns the string representation
1862func (s GetSuiteRunReportOutput) String() string {
1863	return awsutil.Prettify(s)
1864}
1865
1866// GoString returns the string representation
1867func (s GetSuiteRunReportOutput) GoString() string {
1868	return s.String()
1869}
1870
1871// SetQualificationReportDownloadUrl sets the QualificationReportDownloadUrl field's value.
1872func (s *GetSuiteRunReportOutput) SetQualificationReportDownloadUrl(v string) *GetSuiteRunReportOutput {
1873	s.QualificationReportDownloadUrl = &v
1874	return s
1875}
1876
1877// Show Group Result.
1878type GroupResult struct {
1879	_ struct{} `type:"structure"`
1880
1881	// Group result Id.
1882	GroupId *string `locationName:"groupId" min:"12" type:"string"`
1883
1884	// Group Result Name.
1885	GroupName *string `locationName:"groupName" type:"string"`
1886
1887	// Tests under Group Result.
1888	Tests []*TestCaseRun `locationName:"tests" type:"list"`
1889}
1890
1891// String returns the string representation
1892func (s GroupResult) String() string {
1893	return awsutil.Prettify(s)
1894}
1895
1896// GoString returns the string representation
1897func (s GroupResult) GoString() string {
1898	return s.String()
1899}
1900
1901// SetGroupId sets the GroupId field's value.
1902func (s *GroupResult) SetGroupId(v string) *GroupResult {
1903	s.GroupId = &v
1904	return s
1905}
1906
1907// SetGroupName sets the GroupName field's value.
1908func (s *GroupResult) SetGroupName(v string) *GroupResult {
1909	s.GroupName = &v
1910	return s
1911}
1912
1913// SetTests sets the Tests field's value.
1914func (s *GroupResult) SetTests(v []*TestCaseRun) *GroupResult {
1915	s.Tests = v
1916	return s
1917}
1918
1919// Sends Internal Failure Exception.
1920type InternalServerException struct {
1921	_            struct{}                  `type:"structure"`
1922	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1923
1924	// Sends Internal Failure Exception message.
1925	Message_ *string `locationName:"message" min:"1" type:"string"`
1926}
1927
1928// String returns the string representation
1929func (s InternalServerException) String() string {
1930	return awsutil.Prettify(s)
1931}
1932
1933// GoString returns the string representation
1934func (s InternalServerException) GoString() string {
1935	return s.String()
1936}
1937
1938func newErrorInternalServerException(v protocol.ResponseMetadata) error {
1939	return &InternalServerException{
1940		RespMetadata: v,
1941	}
1942}
1943
1944// Code returns the exception type name.
1945func (s *InternalServerException) Code() string {
1946	return "InternalServerException"
1947}
1948
1949// Message returns the exception's message.
1950func (s *InternalServerException) Message() string {
1951	if s.Message_ != nil {
1952		return *s.Message_
1953	}
1954	return ""
1955}
1956
1957// OrigErr always returns nil, satisfies awserr.Error interface.
1958func (s *InternalServerException) OrigErr() error {
1959	return nil
1960}
1961
1962func (s *InternalServerException) Error() string {
1963	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1964}
1965
1966// Status code returns the HTTP status code for the request's response error.
1967func (s *InternalServerException) StatusCode() int {
1968	return s.RespMetadata.StatusCode
1969}
1970
1971// RequestID returns the service's response RequestID for request.
1972func (s *InternalServerException) RequestID() string {
1973	return s.RespMetadata.RequestID
1974}
1975
1976type ListSuiteDefinitionsInput struct {
1977	_ struct{} `type:"structure"`
1978
1979	// The maximum number of results to return at once.
1980	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
1981
1982	// A token used to get the next set of results.
1983	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
1984}
1985
1986// String returns the string representation
1987func (s ListSuiteDefinitionsInput) String() string {
1988	return awsutil.Prettify(s)
1989}
1990
1991// GoString returns the string representation
1992func (s ListSuiteDefinitionsInput) GoString() string {
1993	return s.String()
1994}
1995
1996// Validate inspects the fields of the type to determine if they are valid.
1997func (s *ListSuiteDefinitionsInput) Validate() error {
1998	invalidParams := request.ErrInvalidParams{Context: "ListSuiteDefinitionsInput"}
1999	if s.MaxResults != nil && *s.MaxResults < 1 {
2000		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
2001	}
2002
2003	if invalidParams.Len() > 0 {
2004		return invalidParams
2005	}
2006	return nil
2007}
2008
2009// SetMaxResults sets the MaxResults field's value.
2010func (s *ListSuiteDefinitionsInput) SetMaxResults(v int64) *ListSuiteDefinitionsInput {
2011	s.MaxResults = &v
2012	return s
2013}
2014
2015// SetNextToken sets the NextToken field's value.
2016func (s *ListSuiteDefinitionsInput) SetNextToken(v string) *ListSuiteDefinitionsInput {
2017	s.NextToken = &v
2018	return s
2019}
2020
2021type ListSuiteDefinitionsOutput struct {
2022	_ struct{} `type:"structure"`
2023
2024	// A token used to get the next set of results.
2025	NextToken *string `locationName:"nextToken" type:"string"`
2026
2027	// An array of objects that provide summaries of information about the suite
2028	// definitions in the list.
2029	SuiteDefinitionInformationList []*SuiteDefinitionInformation `locationName:"suiteDefinitionInformationList" type:"list"`
2030}
2031
2032// String returns the string representation
2033func (s ListSuiteDefinitionsOutput) String() string {
2034	return awsutil.Prettify(s)
2035}
2036
2037// GoString returns the string representation
2038func (s ListSuiteDefinitionsOutput) GoString() string {
2039	return s.String()
2040}
2041
2042// SetNextToken sets the NextToken field's value.
2043func (s *ListSuiteDefinitionsOutput) SetNextToken(v string) *ListSuiteDefinitionsOutput {
2044	s.NextToken = &v
2045	return s
2046}
2047
2048// SetSuiteDefinitionInformationList sets the SuiteDefinitionInformationList field's value.
2049func (s *ListSuiteDefinitionsOutput) SetSuiteDefinitionInformationList(v []*SuiteDefinitionInformation) *ListSuiteDefinitionsOutput {
2050	s.SuiteDefinitionInformationList = v
2051	return s
2052}
2053
2054type ListSuiteRunsInput struct {
2055	_ struct{} `type:"structure"`
2056
2057	// The maximum number of results to return at once.
2058	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
2059
2060	// A token to retrieve the next set of results.
2061	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
2062
2063	// Lists the test suite runs of the specified test suite based on suite definition
2064	// Id.
2065	SuiteDefinitionId *string `location:"querystring" locationName:"suiteDefinitionId" min:"12" type:"string"`
2066
2067	// Must be passed along with suiteDefinitionId. Lists the test suite runs of
2068	// the specified test suite based on suite definition version.
2069	SuiteDefinitionVersion *string `location:"querystring" locationName:"suiteDefinitionVersion" min:"2" type:"string"`
2070}
2071
2072// String returns the string representation
2073func (s ListSuiteRunsInput) String() string {
2074	return awsutil.Prettify(s)
2075}
2076
2077// GoString returns the string representation
2078func (s ListSuiteRunsInput) GoString() string {
2079	return s.String()
2080}
2081
2082// Validate inspects the fields of the type to determine if they are valid.
2083func (s *ListSuiteRunsInput) Validate() error {
2084	invalidParams := request.ErrInvalidParams{Context: "ListSuiteRunsInput"}
2085	if s.MaxResults != nil && *s.MaxResults < 1 {
2086		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
2087	}
2088	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
2089		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
2090	}
2091	if s.SuiteDefinitionVersion != nil && len(*s.SuiteDefinitionVersion) < 2 {
2092		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionVersion", 2))
2093	}
2094
2095	if invalidParams.Len() > 0 {
2096		return invalidParams
2097	}
2098	return nil
2099}
2100
2101// SetMaxResults sets the MaxResults field's value.
2102func (s *ListSuiteRunsInput) SetMaxResults(v int64) *ListSuiteRunsInput {
2103	s.MaxResults = &v
2104	return s
2105}
2106
2107// SetNextToken sets the NextToken field's value.
2108func (s *ListSuiteRunsInput) SetNextToken(v string) *ListSuiteRunsInput {
2109	s.NextToken = &v
2110	return s
2111}
2112
2113// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
2114func (s *ListSuiteRunsInput) SetSuiteDefinitionId(v string) *ListSuiteRunsInput {
2115	s.SuiteDefinitionId = &v
2116	return s
2117}
2118
2119// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
2120func (s *ListSuiteRunsInput) SetSuiteDefinitionVersion(v string) *ListSuiteRunsInput {
2121	s.SuiteDefinitionVersion = &v
2122	return s
2123}
2124
2125type ListSuiteRunsOutput struct {
2126	_ struct{} `type:"structure"`
2127
2128	// A token to retrieve the next set of results.
2129	NextToken *string `locationName:"nextToken" type:"string"`
2130
2131	// An array of objects that provide summaries of information about the suite
2132	// runs in the list.
2133	SuiteRunsList []*SuiteRunInformation `locationName:"suiteRunsList" type:"list"`
2134}
2135
2136// String returns the string representation
2137func (s ListSuiteRunsOutput) String() string {
2138	return awsutil.Prettify(s)
2139}
2140
2141// GoString returns the string representation
2142func (s ListSuiteRunsOutput) GoString() string {
2143	return s.String()
2144}
2145
2146// SetNextToken sets the NextToken field's value.
2147func (s *ListSuiteRunsOutput) SetNextToken(v string) *ListSuiteRunsOutput {
2148	s.NextToken = &v
2149	return s
2150}
2151
2152// SetSuiteRunsList sets the SuiteRunsList field's value.
2153func (s *ListSuiteRunsOutput) SetSuiteRunsList(v []*SuiteRunInformation) *ListSuiteRunsOutput {
2154	s.SuiteRunsList = v
2155	return s
2156}
2157
2158type ListTagsForResourceInput struct {
2159	_ struct{} `type:"structure"`
2160
2161	// The ARN of the IoT Device Advisor resource.
2162	//
2163	// ResourceArn is a required field
2164	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
2165}
2166
2167// String returns the string representation
2168func (s ListTagsForResourceInput) String() string {
2169	return awsutil.Prettify(s)
2170}
2171
2172// GoString returns the string representation
2173func (s ListTagsForResourceInput) GoString() string {
2174	return s.String()
2175}
2176
2177// Validate inspects the fields of the type to determine if they are valid.
2178func (s *ListTagsForResourceInput) Validate() error {
2179	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
2180	if s.ResourceArn == nil {
2181		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2182	}
2183	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
2184		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
2185	}
2186
2187	if invalidParams.Len() > 0 {
2188		return invalidParams
2189	}
2190	return nil
2191}
2192
2193// SetResourceArn sets the ResourceArn field's value.
2194func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
2195	s.ResourceArn = &v
2196	return s
2197}
2198
2199type ListTagsForResourceOutput struct {
2200	_ struct{} `type:"structure"`
2201
2202	// The tags attached to the IoT Device Advisor resource.
2203	Tags map[string]*string `locationName:"tags" type:"map"`
2204}
2205
2206// String returns the string representation
2207func (s ListTagsForResourceOutput) String() string {
2208	return awsutil.Prettify(s)
2209}
2210
2211// GoString returns the string representation
2212func (s ListTagsForResourceOutput) GoString() string {
2213	return s.String()
2214}
2215
2216// SetTags sets the Tags field's value.
2217func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
2218	s.Tags = v
2219	return s
2220}
2221
2222// Sends Resource Not Found Exception.
2223type ResourceNotFoundException struct {
2224	_            struct{}                  `type:"structure"`
2225	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2226
2227	// Sends Resource Not Found Exception message.
2228	Message_ *string `locationName:"message" min:"1" type:"string"`
2229}
2230
2231// String returns the string representation
2232func (s ResourceNotFoundException) String() string {
2233	return awsutil.Prettify(s)
2234}
2235
2236// GoString returns the string representation
2237func (s ResourceNotFoundException) GoString() string {
2238	return s.String()
2239}
2240
2241func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
2242	return &ResourceNotFoundException{
2243		RespMetadata: v,
2244	}
2245}
2246
2247// Code returns the exception type name.
2248func (s *ResourceNotFoundException) Code() string {
2249	return "ResourceNotFoundException"
2250}
2251
2252// Message returns the exception's message.
2253func (s *ResourceNotFoundException) Message() string {
2254	if s.Message_ != nil {
2255		return *s.Message_
2256	}
2257	return ""
2258}
2259
2260// OrigErr always returns nil, satisfies awserr.Error interface.
2261func (s *ResourceNotFoundException) OrigErr() error {
2262	return nil
2263}
2264
2265func (s *ResourceNotFoundException) Error() string {
2266	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2267}
2268
2269// Status code returns the HTTP status code for the request's response error.
2270func (s *ResourceNotFoundException) StatusCode() int {
2271	return s.RespMetadata.StatusCode
2272}
2273
2274// RequestID returns the service's response RequestID for request.
2275func (s *ResourceNotFoundException) RequestID() string {
2276	return s.RespMetadata.RequestID
2277}
2278
2279type StartSuiteRunInput struct {
2280	_ struct{} `type:"structure"`
2281
2282	// Suite definition Id of the test suite.
2283	//
2284	// SuiteDefinitionId is a required field
2285	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
2286
2287	// Suite definition version of the test suite.
2288	SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"`
2289
2290	// Suite run configuration.
2291	SuiteRunConfiguration *SuiteRunConfiguration `locationName:"suiteRunConfiguration" type:"structure"`
2292
2293	// The tags to be attached to the suite run.
2294	Tags map[string]*string `locationName:"tags" type:"map"`
2295}
2296
2297// String returns the string representation
2298func (s StartSuiteRunInput) String() string {
2299	return awsutil.Prettify(s)
2300}
2301
2302// GoString returns the string representation
2303func (s StartSuiteRunInput) GoString() string {
2304	return s.String()
2305}
2306
2307// Validate inspects the fields of the type to determine if they are valid.
2308func (s *StartSuiteRunInput) Validate() error {
2309	invalidParams := request.ErrInvalidParams{Context: "StartSuiteRunInput"}
2310	if s.SuiteDefinitionId == nil {
2311		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
2312	}
2313	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
2314		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
2315	}
2316	if s.SuiteDefinitionVersion != nil && len(*s.SuiteDefinitionVersion) < 2 {
2317		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionVersion", 2))
2318	}
2319	if s.SuiteRunConfiguration != nil {
2320		if err := s.SuiteRunConfiguration.Validate(); err != nil {
2321			invalidParams.AddNested("SuiteRunConfiguration", err.(request.ErrInvalidParams))
2322		}
2323	}
2324
2325	if invalidParams.Len() > 0 {
2326		return invalidParams
2327	}
2328	return nil
2329}
2330
2331// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
2332func (s *StartSuiteRunInput) SetSuiteDefinitionId(v string) *StartSuiteRunInput {
2333	s.SuiteDefinitionId = &v
2334	return s
2335}
2336
2337// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
2338func (s *StartSuiteRunInput) SetSuiteDefinitionVersion(v string) *StartSuiteRunInput {
2339	s.SuiteDefinitionVersion = &v
2340	return s
2341}
2342
2343// SetSuiteRunConfiguration sets the SuiteRunConfiguration field's value.
2344func (s *StartSuiteRunInput) SetSuiteRunConfiguration(v *SuiteRunConfiguration) *StartSuiteRunInput {
2345	s.SuiteRunConfiguration = v
2346	return s
2347}
2348
2349// SetTags sets the Tags field's value.
2350func (s *StartSuiteRunInput) SetTags(v map[string]*string) *StartSuiteRunInput {
2351	s.Tags = v
2352	return s
2353}
2354
2355type StartSuiteRunOutput struct {
2356	_ struct{} `type:"structure"`
2357
2358	// Date (in Unix epoch time) when the suite run was created.
2359	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
2360
2361	// Amazon resource name of the started suite run.
2362	SuiteRunArn *string `locationName:"suiteRunArn" min:"20" type:"string"`
2363
2364	// Suite Run Id of the started suite run.
2365	SuiteRunId *string `locationName:"suiteRunId" min:"12" type:"string"`
2366}
2367
2368// String returns the string representation
2369func (s StartSuiteRunOutput) String() string {
2370	return awsutil.Prettify(s)
2371}
2372
2373// GoString returns the string representation
2374func (s StartSuiteRunOutput) GoString() string {
2375	return s.String()
2376}
2377
2378// SetCreatedAt sets the CreatedAt field's value.
2379func (s *StartSuiteRunOutput) SetCreatedAt(v time.Time) *StartSuiteRunOutput {
2380	s.CreatedAt = &v
2381	return s
2382}
2383
2384// SetSuiteRunArn sets the SuiteRunArn field's value.
2385func (s *StartSuiteRunOutput) SetSuiteRunArn(v string) *StartSuiteRunOutput {
2386	s.SuiteRunArn = &v
2387	return s
2388}
2389
2390// SetSuiteRunId sets the SuiteRunId field's value.
2391func (s *StartSuiteRunOutput) SetSuiteRunId(v string) *StartSuiteRunOutput {
2392	s.SuiteRunId = &v
2393	return s
2394}
2395
2396type StopSuiteRunInput struct {
2397	_ struct{} `type:"structure"`
2398
2399	// Suite definition Id of the test suite run to be stopped.
2400	//
2401	// SuiteDefinitionId is a required field
2402	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
2403
2404	// Suite run Id of the test suite run to be stopped.
2405	//
2406	// SuiteRunId is a required field
2407	SuiteRunId *string `location:"uri" locationName:"suiteRunId" min:"12" type:"string" required:"true"`
2408}
2409
2410// String returns the string representation
2411func (s StopSuiteRunInput) String() string {
2412	return awsutil.Prettify(s)
2413}
2414
2415// GoString returns the string representation
2416func (s StopSuiteRunInput) GoString() string {
2417	return s.String()
2418}
2419
2420// Validate inspects the fields of the type to determine if they are valid.
2421func (s *StopSuiteRunInput) Validate() error {
2422	invalidParams := request.ErrInvalidParams{Context: "StopSuiteRunInput"}
2423	if s.SuiteDefinitionId == nil {
2424		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
2425	}
2426	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
2427		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
2428	}
2429	if s.SuiteRunId == nil {
2430		invalidParams.Add(request.NewErrParamRequired("SuiteRunId"))
2431	}
2432	if s.SuiteRunId != nil && len(*s.SuiteRunId) < 12 {
2433		invalidParams.Add(request.NewErrParamMinLen("SuiteRunId", 12))
2434	}
2435
2436	if invalidParams.Len() > 0 {
2437		return invalidParams
2438	}
2439	return nil
2440}
2441
2442// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
2443func (s *StopSuiteRunInput) SetSuiteDefinitionId(v string) *StopSuiteRunInput {
2444	s.SuiteDefinitionId = &v
2445	return s
2446}
2447
2448// SetSuiteRunId sets the SuiteRunId field's value.
2449func (s *StopSuiteRunInput) SetSuiteRunId(v string) *StopSuiteRunInput {
2450	s.SuiteRunId = &v
2451	return s
2452}
2453
2454type StopSuiteRunOutput struct {
2455	_ struct{} `type:"structure"`
2456}
2457
2458// String returns the string representation
2459func (s StopSuiteRunOutput) String() string {
2460	return awsutil.Prettify(s)
2461}
2462
2463// GoString returns the string representation
2464func (s StopSuiteRunOutput) GoString() string {
2465	return s.String()
2466}
2467
2468// Gets Suite Definition Configuration.
2469type SuiteDefinitionConfiguration struct {
2470	_ struct{} `type:"structure"`
2471
2472	// Gets device permission arn.
2473	DevicePermissionRoleArn *string `locationName:"devicePermissionRoleArn" min:"20" type:"string"`
2474
2475	// Gets the devices configured.
2476	Devices []*DeviceUnderTest `locationName:"devices" type:"list"`
2477
2478	// Gets the tests intended for qualification in a suite.
2479	IntendedForQualification *bool `locationName:"intendedForQualification" type:"boolean"`
2480
2481	// Gets test suite root group.
2482	RootGroup *string `locationName:"rootGroup" min:"1" type:"string"`
2483
2484	// Gets Suite Definition Configuration name.
2485	SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
2486}
2487
2488// String returns the string representation
2489func (s SuiteDefinitionConfiguration) String() string {
2490	return awsutil.Prettify(s)
2491}
2492
2493// GoString returns the string representation
2494func (s SuiteDefinitionConfiguration) GoString() string {
2495	return s.String()
2496}
2497
2498// Validate inspects the fields of the type to determine if they are valid.
2499func (s *SuiteDefinitionConfiguration) Validate() error {
2500	invalidParams := request.ErrInvalidParams{Context: "SuiteDefinitionConfiguration"}
2501	if s.DevicePermissionRoleArn != nil && len(*s.DevicePermissionRoleArn) < 20 {
2502		invalidParams.Add(request.NewErrParamMinLen("DevicePermissionRoleArn", 20))
2503	}
2504	if s.RootGroup != nil && len(*s.RootGroup) < 1 {
2505		invalidParams.Add(request.NewErrParamMinLen("RootGroup", 1))
2506	}
2507	if s.SuiteDefinitionName != nil && len(*s.SuiteDefinitionName) < 1 {
2508		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionName", 1))
2509	}
2510	if s.Devices != nil {
2511		for i, v := range s.Devices {
2512			if v == nil {
2513				continue
2514			}
2515			if err := v.Validate(); err != nil {
2516				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams))
2517			}
2518		}
2519	}
2520
2521	if invalidParams.Len() > 0 {
2522		return invalidParams
2523	}
2524	return nil
2525}
2526
2527// SetDevicePermissionRoleArn sets the DevicePermissionRoleArn field's value.
2528func (s *SuiteDefinitionConfiguration) SetDevicePermissionRoleArn(v string) *SuiteDefinitionConfiguration {
2529	s.DevicePermissionRoleArn = &v
2530	return s
2531}
2532
2533// SetDevices sets the Devices field's value.
2534func (s *SuiteDefinitionConfiguration) SetDevices(v []*DeviceUnderTest) *SuiteDefinitionConfiguration {
2535	s.Devices = v
2536	return s
2537}
2538
2539// SetIntendedForQualification sets the IntendedForQualification field's value.
2540func (s *SuiteDefinitionConfiguration) SetIntendedForQualification(v bool) *SuiteDefinitionConfiguration {
2541	s.IntendedForQualification = &v
2542	return s
2543}
2544
2545// SetRootGroup sets the RootGroup field's value.
2546func (s *SuiteDefinitionConfiguration) SetRootGroup(v string) *SuiteDefinitionConfiguration {
2547	s.RootGroup = &v
2548	return s
2549}
2550
2551// SetSuiteDefinitionName sets the SuiteDefinitionName field's value.
2552func (s *SuiteDefinitionConfiguration) SetSuiteDefinitionName(v string) *SuiteDefinitionConfiguration {
2553	s.SuiteDefinitionName = &v
2554	return s
2555}
2556
2557// Information about the suite definition.
2558type SuiteDefinitionInformation struct {
2559	_ struct{} `type:"structure"`
2560
2561	// Date (in Unix epoch time) when the test suite was created.
2562	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
2563
2564	// Specifies the devices under test for the test suite.
2565	DefaultDevices []*DeviceUnderTest `locationName:"defaultDevices" type:"list"`
2566
2567	// Specifies if the test suite is intended for qualification.
2568	IntendedForQualification *bool `locationName:"intendedForQualification" type:"boolean"`
2569
2570	// Suite definition Id of the test suite.
2571	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
2572
2573	// Suite name of the test suite.
2574	SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
2575}
2576
2577// String returns the string representation
2578func (s SuiteDefinitionInformation) String() string {
2579	return awsutil.Prettify(s)
2580}
2581
2582// GoString returns the string representation
2583func (s SuiteDefinitionInformation) GoString() string {
2584	return s.String()
2585}
2586
2587// SetCreatedAt sets the CreatedAt field's value.
2588func (s *SuiteDefinitionInformation) SetCreatedAt(v time.Time) *SuiteDefinitionInformation {
2589	s.CreatedAt = &v
2590	return s
2591}
2592
2593// SetDefaultDevices sets the DefaultDevices field's value.
2594func (s *SuiteDefinitionInformation) SetDefaultDevices(v []*DeviceUnderTest) *SuiteDefinitionInformation {
2595	s.DefaultDevices = v
2596	return s
2597}
2598
2599// SetIntendedForQualification sets the IntendedForQualification field's value.
2600func (s *SuiteDefinitionInformation) SetIntendedForQualification(v bool) *SuiteDefinitionInformation {
2601	s.IntendedForQualification = &v
2602	return s
2603}
2604
2605// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
2606func (s *SuiteDefinitionInformation) SetSuiteDefinitionId(v string) *SuiteDefinitionInformation {
2607	s.SuiteDefinitionId = &v
2608	return s
2609}
2610
2611// SetSuiteDefinitionName sets the SuiteDefinitionName field's value.
2612func (s *SuiteDefinitionInformation) SetSuiteDefinitionName(v string) *SuiteDefinitionInformation {
2613	s.SuiteDefinitionName = &v
2614	return s
2615}
2616
2617// Gets suite run configuration.
2618type SuiteRunConfiguration struct {
2619	_ struct{} `type:"structure"`
2620
2621	// Gets the primary device for suite run.
2622	PrimaryDevice *DeviceUnderTest `locationName:"primaryDevice" type:"structure"`
2623
2624	// Gets test case list.
2625	SelectedTestList []*string `locationName:"selectedTestList" type:"list"`
2626}
2627
2628// String returns the string representation
2629func (s SuiteRunConfiguration) String() string {
2630	return awsutil.Prettify(s)
2631}
2632
2633// GoString returns the string representation
2634func (s SuiteRunConfiguration) GoString() string {
2635	return s.String()
2636}
2637
2638// Validate inspects the fields of the type to determine if they are valid.
2639func (s *SuiteRunConfiguration) Validate() error {
2640	invalidParams := request.ErrInvalidParams{Context: "SuiteRunConfiguration"}
2641	if s.PrimaryDevice != nil {
2642		if err := s.PrimaryDevice.Validate(); err != nil {
2643			invalidParams.AddNested("PrimaryDevice", err.(request.ErrInvalidParams))
2644		}
2645	}
2646
2647	if invalidParams.Len() > 0 {
2648		return invalidParams
2649	}
2650	return nil
2651}
2652
2653// SetPrimaryDevice sets the PrimaryDevice field's value.
2654func (s *SuiteRunConfiguration) SetPrimaryDevice(v *DeviceUnderTest) *SuiteRunConfiguration {
2655	s.PrimaryDevice = v
2656	return s
2657}
2658
2659// SetSelectedTestList sets the SelectedTestList field's value.
2660func (s *SuiteRunConfiguration) SetSelectedTestList(v []*string) *SuiteRunConfiguration {
2661	s.SelectedTestList = v
2662	return s
2663}
2664
2665// Information about the suite run.
2666type SuiteRunInformation struct {
2667	_ struct{} `type:"structure"`
2668
2669	// Date (in Unix epoch time) when the suite run was created.
2670	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
2671
2672	// Date (in Unix epoch time) when the suite run ended.
2673	EndAt *time.Time `locationName:"endAt" type:"timestamp"`
2674
2675	// Number of test cases that failed in the suite run.
2676	Failed *int64 `locationName:"failed" type:"integer"`
2677
2678	// Number of test cases that passed in the suite run.
2679	Passed *int64 `locationName:"passed" type:"integer"`
2680
2681	// Date (in Unix epoch time) when the suite run was started.
2682	StartedAt *time.Time `locationName:"startedAt" type:"timestamp"`
2683
2684	// Status of the suite run.
2685	Status *string `locationName:"status" type:"string" enum:"SuiteRunStatus"`
2686
2687	// Suite definition Id of the suite run.
2688	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
2689
2690	// Suite definition name of the suite run.
2691	SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
2692
2693	// Suite definition version of the suite run.
2694	SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"`
2695
2696	// Suite run Id of the suite run.
2697	SuiteRunId *string `locationName:"suiteRunId" min:"12" type:"string"`
2698}
2699
2700// String returns the string representation
2701func (s SuiteRunInformation) String() string {
2702	return awsutil.Prettify(s)
2703}
2704
2705// GoString returns the string representation
2706func (s SuiteRunInformation) GoString() string {
2707	return s.String()
2708}
2709
2710// SetCreatedAt sets the CreatedAt field's value.
2711func (s *SuiteRunInformation) SetCreatedAt(v time.Time) *SuiteRunInformation {
2712	s.CreatedAt = &v
2713	return s
2714}
2715
2716// SetEndAt sets the EndAt field's value.
2717func (s *SuiteRunInformation) SetEndAt(v time.Time) *SuiteRunInformation {
2718	s.EndAt = &v
2719	return s
2720}
2721
2722// SetFailed sets the Failed field's value.
2723func (s *SuiteRunInformation) SetFailed(v int64) *SuiteRunInformation {
2724	s.Failed = &v
2725	return s
2726}
2727
2728// SetPassed sets the Passed field's value.
2729func (s *SuiteRunInformation) SetPassed(v int64) *SuiteRunInformation {
2730	s.Passed = &v
2731	return s
2732}
2733
2734// SetStartedAt sets the StartedAt field's value.
2735func (s *SuiteRunInformation) SetStartedAt(v time.Time) *SuiteRunInformation {
2736	s.StartedAt = &v
2737	return s
2738}
2739
2740// SetStatus sets the Status field's value.
2741func (s *SuiteRunInformation) SetStatus(v string) *SuiteRunInformation {
2742	s.Status = &v
2743	return s
2744}
2745
2746// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
2747func (s *SuiteRunInformation) SetSuiteDefinitionId(v string) *SuiteRunInformation {
2748	s.SuiteDefinitionId = &v
2749	return s
2750}
2751
2752// SetSuiteDefinitionName sets the SuiteDefinitionName field's value.
2753func (s *SuiteRunInformation) SetSuiteDefinitionName(v string) *SuiteRunInformation {
2754	s.SuiteDefinitionName = &v
2755	return s
2756}
2757
2758// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
2759func (s *SuiteRunInformation) SetSuiteDefinitionVersion(v string) *SuiteRunInformation {
2760	s.SuiteDefinitionVersion = &v
2761	return s
2762}
2763
2764// SetSuiteRunId sets the SuiteRunId field's value.
2765func (s *SuiteRunInformation) SetSuiteRunId(v string) *SuiteRunInformation {
2766	s.SuiteRunId = &v
2767	return s
2768}
2769
2770type TagResourceInput struct {
2771	_ struct{} `type:"structure"`
2772
2773	// The resource ARN of an IoT Device Advisor resource.
2774	//
2775	// ResourceArn is a required field
2776	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
2777
2778	// The tags to be attached to the IoT Device Advisor resource.
2779	//
2780	// Tags is a required field
2781	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
2782}
2783
2784// String returns the string representation
2785func (s TagResourceInput) String() string {
2786	return awsutil.Prettify(s)
2787}
2788
2789// GoString returns the string representation
2790func (s TagResourceInput) GoString() string {
2791	return s.String()
2792}
2793
2794// Validate inspects the fields of the type to determine if they are valid.
2795func (s *TagResourceInput) Validate() error {
2796	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
2797	if s.ResourceArn == nil {
2798		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2799	}
2800	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
2801		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
2802	}
2803	if s.Tags == nil {
2804		invalidParams.Add(request.NewErrParamRequired("Tags"))
2805	}
2806
2807	if invalidParams.Len() > 0 {
2808		return invalidParams
2809	}
2810	return nil
2811}
2812
2813// SetResourceArn sets the ResourceArn field's value.
2814func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
2815	s.ResourceArn = &v
2816	return s
2817}
2818
2819// SetTags sets the Tags field's value.
2820func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
2821	s.Tags = v
2822	return s
2823}
2824
2825type TagResourceOutput struct {
2826	_ struct{} `type:"structure"`
2827}
2828
2829// String returns the string representation
2830func (s TagResourceOutput) String() string {
2831	return awsutil.Prettify(s)
2832}
2833
2834// GoString returns the string representation
2835func (s TagResourceOutput) GoString() string {
2836	return s.String()
2837}
2838
2839// Provides test case run.
2840type TestCaseRun struct {
2841	_ struct{} `type:"structure"`
2842
2843	// Provides test case run end time.
2844	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
2845
2846	// Provides test case run failure result.
2847	Failure *string `locationName:"failure" type:"string"`
2848
2849	// Provides test case run log Url.
2850	LogUrl *string `locationName:"logUrl" type:"string"`
2851
2852	// Provides test case run start time.
2853	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
2854
2855	// Provides test case run status.
2856	Status *string `locationName:"status" type:"string" enum:"Status"`
2857
2858	// Provides test case run definition Id.
2859	TestCaseDefinitionId *string `locationName:"testCaseDefinitionId" min:"12" type:"string"`
2860
2861	// Provides test case run definition Name.
2862	TestCaseDefinitionName *string `locationName:"testCaseDefinitionName" type:"string"`
2863
2864	// Provides test case run Id.
2865	TestCaseRunId *string `locationName:"testCaseRunId" min:"12" type:"string"`
2866
2867	// Provides test case run warnings.
2868	Warnings *string `locationName:"warnings" type:"string"`
2869}
2870
2871// String returns the string representation
2872func (s TestCaseRun) String() string {
2873	return awsutil.Prettify(s)
2874}
2875
2876// GoString returns the string representation
2877func (s TestCaseRun) GoString() string {
2878	return s.String()
2879}
2880
2881// SetEndTime sets the EndTime field's value.
2882func (s *TestCaseRun) SetEndTime(v time.Time) *TestCaseRun {
2883	s.EndTime = &v
2884	return s
2885}
2886
2887// SetFailure sets the Failure field's value.
2888func (s *TestCaseRun) SetFailure(v string) *TestCaseRun {
2889	s.Failure = &v
2890	return s
2891}
2892
2893// SetLogUrl sets the LogUrl field's value.
2894func (s *TestCaseRun) SetLogUrl(v string) *TestCaseRun {
2895	s.LogUrl = &v
2896	return s
2897}
2898
2899// SetStartTime sets the StartTime field's value.
2900func (s *TestCaseRun) SetStartTime(v time.Time) *TestCaseRun {
2901	s.StartTime = &v
2902	return s
2903}
2904
2905// SetStatus sets the Status field's value.
2906func (s *TestCaseRun) SetStatus(v string) *TestCaseRun {
2907	s.Status = &v
2908	return s
2909}
2910
2911// SetTestCaseDefinitionId sets the TestCaseDefinitionId field's value.
2912func (s *TestCaseRun) SetTestCaseDefinitionId(v string) *TestCaseRun {
2913	s.TestCaseDefinitionId = &v
2914	return s
2915}
2916
2917// SetTestCaseDefinitionName sets the TestCaseDefinitionName field's value.
2918func (s *TestCaseRun) SetTestCaseDefinitionName(v string) *TestCaseRun {
2919	s.TestCaseDefinitionName = &v
2920	return s
2921}
2922
2923// SetTestCaseRunId sets the TestCaseRunId field's value.
2924func (s *TestCaseRun) SetTestCaseRunId(v string) *TestCaseRun {
2925	s.TestCaseRunId = &v
2926	return s
2927}
2928
2929// SetWarnings sets the Warnings field's value.
2930func (s *TestCaseRun) SetWarnings(v string) *TestCaseRun {
2931	s.Warnings = &v
2932	return s
2933}
2934
2935// Show each group result.
2936type TestResult struct {
2937	_ struct{} `type:"structure"`
2938
2939	// Show each group of test results.
2940	Groups []*GroupResult `locationName:"groups" type:"list"`
2941}
2942
2943// String returns the string representation
2944func (s TestResult) String() string {
2945	return awsutil.Prettify(s)
2946}
2947
2948// GoString returns the string representation
2949func (s TestResult) GoString() string {
2950	return s.String()
2951}
2952
2953// SetGroups sets the Groups field's value.
2954func (s *TestResult) SetGroups(v []*GroupResult) *TestResult {
2955	s.Groups = v
2956	return s
2957}
2958
2959type UntagResourceInput struct {
2960	_ struct{} `type:"structure"`
2961
2962	// The resource ARN of an IoT Device Advisor resource.
2963	//
2964	// ResourceArn is a required field
2965	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
2966
2967	// List of tag keys to remove from the IoT Device Advisor resource.
2968	//
2969	// TagKeys is a required field
2970	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
2971}
2972
2973// String returns the string representation
2974func (s UntagResourceInput) String() string {
2975	return awsutil.Prettify(s)
2976}
2977
2978// GoString returns the string representation
2979func (s UntagResourceInput) GoString() string {
2980	return s.String()
2981}
2982
2983// Validate inspects the fields of the type to determine if they are valid.
2984func (s *UntagResourceInput) Validate() error {
2985	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
2986	if s.ResourceArn == nil {
2987		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2988	}
2989	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
2990		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
2991	}
2992	if s.TagKeys == nil {
2993		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
2994	}
2995
2996	if invalidParams.Len() > 0 {
2997		return invalidParams
2998	}
2999	return nil
3000}
3001
3002// SetResourceArn sets the ResourceArn field's value.
3003func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
3004	s.ResourceArn = &v
3005	return s
3006}
3007
3008// SetTagKeys sets the TagKeys field's value.
3009func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
3010	s.TagKeys = v
3011	return s
3012}
3013
3014type UntagResourceOutput struct {
3015	_ struct{} `type:"structure"`
3016}
3017
3018// String returns the string representation
3019func (s UntagResourceOutput) String() string {
3020	return awsutil.Prettify(s)
3021}
3022
3023// GoString returns the string representation
3024func (s UntagResourceOutput) GoString() string {
3025	return s.String()
3026}
3027
3028type UpdateSuiteDefinitionInput struct {
3029	_ struct{} `type:"structure"`
3030
3031	// Updates a Device Advisor test suite with suite definition configuration.
3032	SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure"`
3033
3034	// Suite definition Id of the test suite to be updated.
3035	//
3036	// SuiteDefinitionId is a required field
3037	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
3038}
3039
3040// String returns the string representation
3041func (s UpdateSuiteDefinitionInput) String() string {
3042	return awsutil.Prettify(s)
3043}
3044
3045// GoString returns the string representation
3046func (s UpdateSuiteDefinitionInput) GoString() string {
3047	return s.String()
3048}
3049
3050// Validate inspects the fields of the type to determine if they are valid.
3051func (s *UpdateSuiteDefinitionInput) Validate() error {
3052	invalidParams := request.ErrInvalidParams{Context: "UpdateSuiteDefinitionInput"}
3053	if s.SuiteDefinitionId == nil {
3054		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
3055	}
3056	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
3057		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
3058	}
3059	if s.SuiteDefinitionConfiguration != nil {
3060		if err := s.SuiteDefinitionConfiguration.Validate(); err != nil {
3061			invalidParams.AddNested("SuiteDefinitionConfiguration", err.(request.ErrInvalidParams))
3062		}
3063	}
3064
3065	if invalidParams.Len() > 0 {
3066		return invalidParams
3067	}
3068	return nil
3069}
3070
3071// SetSuiteDefinitionConfiguration sets the SuiteDefinitionConfiguration field's value.
3072func (s *UpdateSuiteDefinitionInput) SetSuiteDefinitionConfiguration(v *SuiteDefinitionConfiguration) *UpdateSuiteDefinitionInput {
3073	s.SuiteDefinitionConfiguration = v
3074	return s
3075}
3076
3077// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
3078func (s *UpdateSuiteDefinitionInput) SetSuiteDefinitionId(v string) *UpdateSuiteDefinitionInput {
3079	s.SuiteDefinitionId = &v
3080	return s
3081}
3082
3083type UpdateSuiteDefinitionOutput struct {
3084	_ struct{} `type:"structure"`
3085
3086	// Timestamp of when the test suite was created.
3087	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
3088
3089	// Timestamp of when the test suite was updated.
3090	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
3091
3092	// Amazon Resource name of the updated test suite.
3093	SuiteDefinitionArn *string `locationName:"suiteDefinitionArn" min:"20" type:"string"`
3094
3095	// Suite definition Id of the updated test suite.
3096	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
3097
3098	// Suite definition name of the updated test suite.
3099	SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
3100
3101	// Suite definition version of the updated test suite.
3102	SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"`
3103}
3104
3105// String returns the string representation
3106func (s UpdateSuiteDefinitionOutput) String() string {
3107	return awsutil.Prettify(s)
3108}
3109
3110// GoString returns the string representation
3111func (s UpdateSuiteDefinitionOutput) GoString() string {
3112	return s.String()
3113}
3114
3115// SetCreatedAt sets the CreatedAt field's value.
3116func (s *UpdateSuiteDefinitionOutput) SetCreatedAt(v time.Time) *UpdateSuiteDefinitionOutput {
3117	s.CreatedAt = &v
3118	return s
3119}
3120
3121// SetLastUpdatedAt sets the LastUpdatedAt field's value.
3122func (s *UpdateSuiteDefinitionOutput) SetLastUpdatedAt(v time.Time) *UpdateSuiteDefinitionOutput {
3123	s.LastUpdatedAt = &v
3124	return s
3125}
3126
3127// SetSuiteDefinitionArn sets the SuiteDefinitionArn field's value.
3128func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionArn(v string) *UpdateSuiteDefinitionOutput {
3129	s.SuiteDefinitionArn = &v
3130	return s
3131}
3132
3133// SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
3134func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionId(v string) *UpdateSuiteDefinitionOutput {
3135	s.SuiteDefinitionId = &v
3136	return s
3137}
3138
3139// SetSuiteDefinitionName sets the SuiteDefinitionName field's value.
3140func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionName(v string) *UpdateSuiteDefinitionOutput {
3141	s.SuiteDefinitionName = &v
3142	return s
3143}
3144
3145// SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
3146func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionVersion(v string) *UpdateSuiteDefinitionOutput {
3147	s.SuiteDefinitionVersion = &v
3148	return s
3149}
3150
3151// Sends invalid request exception.
3152type ValidationException struct {
3153	_            struct{}                  `type:"structure"`
3154	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3155
3156	// Sends invalid request exception message.
3157	Message_ *string `locationName:"message" min:"1" type:"string"`
3158}
3159
3160// String returns the string representation
3161func (s ValidationException) String() string {
3162	return awsutil.Prettify(s)
3163}
3164
3165// GoString returns the string representation
3166func (s ValidationException) GoString() string {
3167	return s.String()
3168}
3169
3170func newErrorValidationException(v protocol.ResponseMetadata) error {
3171	return &ValidationException{
3172		RespMetadata: v,
3173	}
3174}
3175
3176// Code returns the exception type name.
3177func (s *ValidationException) Code() string {
3178	return "ValidationException"
3179}
3180
3181// Message returns the exception's message.
3182func (s *ValidationException) Message() string {
3183	if s.Message_ != nil {
3184		return *s.Message_
3185	}
3186	return ""
3187}
3188
3189// OrigErr always returns nil, satisfies awserr.Error interface.
3190func (s *ValidationException) OrigErr() error {
3191	return nil
3192}
3193
3194func (s *ValidationException) Error() string {
3195	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3196}
3197
3198// Status code returns the HTTP status code for the request's response error.
3199func (s *ValidationException) StatusCode() int {
3200	return s.RespMetadata.StatusCode
3201}
3202
3203// RequestID returns the service's response RequestID for request.
3204func (s *ValidationException) RequestID() string {
3205	return s.RespMetadata.RequestID
3206}
3207
3208const (
3209	// StatusPass is a Status enum value
3210	StatusPass = "PASS"
3211
3212	// StatusFail is a Status enum value
3213	StatusFail = "FAIL"
3214
3215	// StatusCanceled is a Status enum value
3216	StatusCanceled = "CANCELED"
3217
3218	// StatusPending is a Status enum value
3219	StatusPending = "PENDING"
3220
3221	// StatusRunning is a Status enum value
3222	StatusRunning = "RUNNING"
3223
3224	// StatusStopping is a Status enum value
3225	StatusStopping = "STOPPING"
3226
3227	// StatusStopped is a Status enum value
3228	StatusStopped = "STOPPED"
3229
3230	// StatusPassWithWarnings is a Status enum value
3231	StatusPassWithWarnings = "PASS_WITH_WARNINGS"
3232
3233	// StatusError is a Status enum value
3234	StatusError = "ERROR"
3235)
3236
3237// Status_Values returns all elements of the Status enum
3238func Status_Values() []string {
3239	return []string{
3240		StatusPass,
3241		StatusFail,
3242		StatusCanceled,
3243		StatusPending,
3244		StatusRunning,
3245		StatusStopping,
3246		StatusStopped,
3247		StatusPassWithWarnings,
3248		StatusError,
3249	}
3250}
3251
3252const (
3253	// SuiteRunStatusPass is a SuiteRunStatus enum value
3254	SuiteRunStatusPass = "PASS"
3255
3256	// SuiteRunStatusFail is a SuiteRunStatus enum value
3257	SuiteRunStatusFail = "FAIL"
3258
3259	// SuiteRunStatusCanceled is a SuiteRunStatus enum value
3260	SuiteRunStatusCanceled = "CANCELED"
3261
3262	// SuiteRunStatusPending is a SuiteRunStatus enum value
3263	SuiteRunStatusPending = "PENDING"
3264
3265	// SuiteRunStatusRunning is a SuiteRunStatus enum value
3266	SuiteRunStatusRunning = "RUNNING"
3267
3268	// SuiteRunStatusStopping is a SuiteRunStatus enum value
3269	SuiteRunStatusStopping = "STOPPING"
3270
3271	// SuiteRunStatusStopped is a SuiteRunStatus enum value
3272	SuiteRunStatusStopped = "STOPPED"
3273
3274	// SuiteRunStatusPassWithWarnings is a SuiteRunStatus enum value
3275	SuiteRunStatusPassWithWarnings = "PASS_WITH_WARNINGS"
3276
3277	// SuiteRunStatusError is a SuiteRunStatus enum value
3278	SuiteRunStatusError = "ERROR"
3279)
3280
3281// SuiteRunStatus_Values returns all elements of the SuiteRunStatus enum
3282func SuiteRunStatus_Values() []string {
3283	return []string{
3284		SuiteRunStatusPass,
3285		SuiteRunStatusFail,
3286		SuiteRunStatusCanceled,
3287		SuiteRunStatusPending,
3288		SuiteRunStatusRunning,
3289		SuiteRunStatusStopping,
3290		SuiteRunStatusStopped,
3291		SuiteRunStatusPassWithWarnings,
3292		SuiteRunStatusError,
3293	}
3294}
3295