1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package iotevents
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 opCreateAlarmModel = "CreateAlarmModel"
17
18// CreateAlarmModelRequest generates a "aws/request.Request" representing the
19// client's request for the CreateAlarmModel 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 CreateAlarmModel for more information on using the CreateAlarmModel
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 CreateAlarmModelRequest method.
34//    req, resp := client.CreateAlarmModelRequest(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/iotevents-2018-07-27/CreateAlarmModel
42func (c *IoTEvents) CreateAlarmModelRequest(input *CreateAlarmModelInput) (req *request.Request, output *CreateAlarmModelOutput) {
43	op := &request.Operation{
44		Name:       opCreateAlarmModel,
45		HTTPMethod: "POST",
46		HTTPPath:   "/alarm-models",
47	}
48
49	if input == nil {
50		input = &CreateAlarmModelInput{}
51	}
52
53	output = &CreateAlarmModelOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateAlarmModel API operation for AWS IoT Events.
59//
60// Creates an alarm model to monitor an AWS IoT Events input attribute. You
61// can use the alarm to get notified when the value is outside a specified range.
62// For more information, see Create an alarm model (https://docs.aws.amazon.com/iotevents/latest/developerguide/create-alarms.html)
63// in the AWS IoT Events Developer Guide.
64//
65// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
66// with awserr.Error's Code and Message methods to get detailed information about
67// the error.
68//
69// See the AWS API reference guide for AWS IoT Events's
70// API operation CreateAlarmModel for usage and error information.
71//
72// Returned Error Types:
73//   * InvalidRequestException
74//   The request was invalid.
75//
76//   * ResourceInUseException
77//   The resource is in use.
78//
79//   * ResourceAlreadyExistsException
80//   The resource already exists.
81//
82//   * LimitExceededException
83//   A limit was exceeded.
84//
85//   * ThrottlingException
86//   The request could not be completed due to throttling.
87//
88//   * InternalFailureException
89//   An internal failure occurred.
90//
91//   * ServiceUnavailableException
92//   The service is currently unavailable.
93//
94// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateAlarmModel
95func (c *IoTEvents) CreateAlarmModel(input *CreateAlarmModelInput) (*CreateAlarmModelOutput, error) {
96	req, out := c.CreateAlarmModelRequest(input)
97	return out, req.Send()
98}
99
100// CreateAlarmModelWithContext is the same as CreateAlarmModel with the addition of
101// the ability to pass a context and additional request options.
102//
103// See CreateAlarmModel for details on how to use this API operation.
104//
105// The context must be non-nil and will be used for request cancellation. If
106// the context is nil a panic will occur. In the future the SDK may create
107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
108// for more information on using Contexts.
109func (c *IoTEvents) CreateAlarmModelWithContext(ctx aws.Context, input *CreateAlarmModelInput, opts ...request.Option) (*CreateAlarmModelOutput, error) {
110	req, out := c.CreateAlarmModelRequest(input)
111	req.SetContext(ctx)
112	req.ApplyOptions(opts...)
113	return out, req.Send()
114}
115
116const opCreateDetectorModel = "CreateDetectorModel"
117
118// CreateDetectorModelRequest generates a "aws/request.Request" representing the
119// client's request for the CreateDetectorModel operation. The "output" return
120// value will be populated with the request's response once the request completes
121// successfully.
122//
123// Use "Send" method on the returned Request to send the API call to the service.
124// the "output" return value is not valid until after Send returns without error.
125//
126// See CreateDetectorModel for more information on using the CreateDetectorModel
127// API call, and error handling.
128//
129// This method is useful when you want to inject custom logic or configuration
130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
131//
132//
133//    // Example sending a request using the CreateDetectorModelRequest method.
134//    req, resp := client.CreateDetectorModelRequest(params)
135//
136//    err := req.Send()
137//    if err == nil { // resp is now filled
138//        fmt.Println(resp)
139//    }
140//
141// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateDetectorModel
142func (c *IoTEvents) CreateDetectorModelRequest(input *CreateDetectorModelInput) (req *request.Request, output *CreateDetectorModelOutput) {
143	op := &request.Operation{
144		Name:       opCreateDetectorModel,
145		HTTPMethod: "POST",
146		HTTPPath:   "/detector-models",
147	}
148
149	if input == nil {
150		input = &CreateDetectorModelInput{}
151	}
152
153	output = &CreateDetectorModelOutput{}
154	req = c.newRequest(op, input, output)
155	return
156}
157
158// CreateDetectorModel API operation for AWS IoT Events.
159//
160// Creates a detector model.
161//
162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
163// with awserr.Error's Code and Message methods to get detailed information about
164// the error.
165//
166// See the AWS API reference guide for AWS IoT Events's
167// API operation CreateDetectorModel for usage and error information.
168//
169// Returned Error Types:
170//   * InvalidRequestException
171//   The request was invalid.
172//
173//   * ResourceInUseException
174//   The resource is in use.
175//
176//   * ResourceAlreadyExistsException
177//   The resource already exists.
178//
179//   * LimitExceededException
180//   A limit was exceeded.
181//
182//   * ThrottlingException
183//   The request could not be completed due to throttling.
184//
185//   * InternalFailureException
186//   An internal failure occurred.
187//
188//   * ServiceUnavailableException
189//   The service is currently unavailable.
190//
191// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateDetectorModel
192func (c *IoTEvents) CreateDetectorModel(input *CreateDetectorModelInput) (*CreateDetectorModelOutput, error) {
193	req, out := c.CreateDetectorModelRequest(input)
194	return out, req.Send()
195}
196
197// CreateDetectorModelWithContext is the same as CreateDetectorModel with the addition of
198// the ability to pass a context and additional request options.
199//
200// See CreateDetectorModel for details on how to use this API operation.
201//
202// The context must be non-nil and will be used for request cancellation. If
203// the context is nil a panic will occur. In the future the SDK may create
204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
205// for more information on using Contexts.
206func (c *IoTEvents) CreateDetectorModelWithContext(ctx aws.Context, input *CreateDetectorModelInput, opts ...request.Option) (*CreateDetectorModelOutput, error) {
207	req, out := c.CreateDetectorModelRequest(input)
208	req.SetContext(ctx)
209	req.ApplyOptions(opts...)
210	return out, req.Send()
211}
212
213const opCreateInput = "CreateInput"
214
215// CreateInputRequest generates a "aws/request.Request" representing the
216// client's request for the CreateInput operation. The "output" return
217// value will be populated with the request's response once the request completes
218// successfully.
219//
220// Use "Send" method on the returned Request to send the API call to the service.
221// the "output" return value is not valid until after Send returns without error.
222//
223// See CreateInput for more information on using the CreateInput
224// API call, and error handling.
225//
226// This method is useful when you want to inject custom logic or configuration
227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
228//
229//
230//    // Example sending a request using the CreateInputRequest method.
231//    req, resp := client.CreateInputRequest(params)
232//
233//    err := req.Send()
234//    if err == nil { // resp is now filled
235//        fmt.Println(resp)
236//    }
237//
238// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateInput
239func (c *IoTEvents) CreateInputRequest(input *CreateInputInput) (req *request.Request, output *CreateInputOutput) {
240	op := &request.Operation{
241		Name:       opCreateInput,
242		HTTPMethod: "POST",
243		HTTPPath:   "/inputs",
244	}
245
246	if input == nil {
247		input = &CreateInputInput{}
248	}
249
250	output = &CreateInputOutput{}
251	req = c.newRequest(op, input, output)
252	return
253}
254
255// CreateInput API operation for AWS IoT Events.
256//
257// Creates an input.
258//
259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
260// with awserr.Error's Code and Message methods to get detailed information about
261// the error.
262//
263// See the AWS API reference guide for AWS IoT Events's
264// API operation CreateInput for usage and error information.
265//
266// Returned Error Types:
267//   * InvalidRequestException
268//   The request was invalid.
269//
270//   * ThrottlingException
271//   The request could not be completed due to throttling.
272//
273//   * InternalFailureException
274//   An internal failure occurred.
275//
276//   * ServiceUnavailableException
277//   The service is currently unavailable.
278//
279//   * ResourceAlreadyExistsException
280//   The resource already exists.
281//
282// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateInput
283func (c *IoTEvents) CreateInput(input *CreateInputInput) (*CreateInputOutput, error) {
284	req, out := c.CreateInputRequest(input)
285	return out, req.Send()
286}
287
288// CreateInputWithContext is the same as CreateInput with the addition of
289// the ability to pass a context and additional request options.
290//
291// See CreateInput for details on how to use this API operation.
292//
293// The context must be non-nil and will be used for request cancellation. If
294// the context is nil a panic will occur. In the future the SDK may create
295// sub-contexts for http.Requests. See https://golang.org/pkg/context/
296// for more information on using Contexts.
297func (c *IoTEvents) CreateInputWithContext(ctx aws.Context, input *CreateInputInput, opts ...request.Option) (*CreateInputOutput, error) {
298	req, out := c.CreateInputRequest(input)
299	req.SetContext(ctx)
300	req.ApplyOptions(opts...)
301	return out, req.Send()
302}
303
304const opDeleteAlarmModel = "DeleteAlarmModel"
305
306// DeleteAlarmModelRequest generates a "aws/request.Request" representing the
307// client's request for the DeleteAlarmModel operation. The "output" return
308// value will be populated with the request's response once the request completes
309// successfully.
310//
311// Use "Send" method on the returned Request to send the API call to the service.
312// the "output" return value is not valid until after Send returns without error.
313//
314// See DeleteAlarmModel for more information on using the DeleteAlarmModel
315// API call, and error handling.
316//
317// This method is useful when you want to inject custom logic or configuration
318// into the SDK's request lifecycle. Such as custom headers, or retry logic.
319//
320//
321//    // Example sending a request using the DeleteAlarmModelRequest method.
322//    req, resp := client.DeleteAlarmModelRequest(params)
323//
324//    err := req.Send()
325//    if err == nil { // resp is now filled
326//        fmt.Println(resp)
327//    }
328//
329// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteAlarmModel
330func (c *IoTEvents) DeleteAlarmModelRequest(input *DeleteAlarmModelInput) (req *request.Request, output *DeleteAlarmModelOutput) {
331	op := &request.Operation{
332		Name:       opDeleteAlarmModel,
333		HTTPMethod: "DELETE",
334		HTTPPath:   "/alarm-models/{alarmModelName}",
335	}
336
337	if input == nil {
338		input = &DeleteAlarmModelInput{}
339	}
340
341	output = &DeleteAlarmModelOutput{}
342	req = c.newRequest(op, input, output)
343	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
344	return
345}
346
347// DeleteAlarmModel API operation for AWS IoT Events.
348//
349// Deletes an alarm model. Any alarm instances that were created based on this
350// alarm model are also deleted. This action can't be undone.
351//
352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
353// with awserr.Error's Code and Message methods to get detailed information about
354// the error.
355//
356// See the AWS API reference guide for AWS IoT Events's
357// API operation DeleteAlarmModel for usage and error information.
358//
359// Returned Error Types:
360//   * InvalidRequestException
361//   The request was invalid.
362//
363//   * ResourceInUseException
364//   The resource is in use.
365//
366//   * ResourceNotFoundException
367//   The resource was not found.
368//
369//   * ThrottlingException
370//   The request could not be completed due to throttling.
371//
372//   * InternalFailureException
373//   An internal failure occurred.
374//
375//   * ServiceUnavailableException
376//   The service is currently unavailable.
377//
378// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteAlarmModel
379func (c *IoTEvents) DeleteAlarmModel(input *DeleteAlarmModelInput) (*DeleteAlarmModelOutput, error) {
380	req, out := c.DeleteAlarmModelRequest(input)
381	return out, req.Send()
382}
383
384// DeleteAlarmModelWithContext is the same as DeleteAlarmModel with the addition of
385// the ability to pass a context and additional request options.
386//
387// See DeleteAlarmModel for details on how to use this API operation.
388//
389// The context must be non-nil and will be used for request cancellation. If
390// the context is nil a panic will occur. In the future the SDK may create
391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
392// for more information on using Contexts.
393func (c *IoTEvents) DeleteAlarmModelWithContext(ctx aws.Context, input *DeleteAlarmModelInput, opts ...request.Option) (*DeleteAlarmModelOutput, error) {
394	req, out := c.DeleteAlarmModelRequest(input)
395	req.SetContext(ctx)
396	req.ApplyOptions(opts...)
397	return out, req.Send()
398}
399
400const opDeleteDetectorModel = "DeleteDetectorModel"
401
402// DeleteDetectorModelRequest generates a "aws/request.Request" representing the
403// client's request for the DeleteDetectorModel operation. The "output" return
404// value will be populated with the request's response once the request completes
405// successfully.
406//
407// Use "Send" method on the returned Request to send the API call to the service.
408// the "output" return value is not valid until after Send returns without error.
409//
410// See DeleteDetectorModel for more information on using the DeleteDetectorModel
411// API call, and error handling.
412//
413// This method is useful when you want to inject custom logic or configuration
414// into the SDK's request lifecycle. Such as custom headers, or retry logic.
415//
416//
417//    // Example sending a request using the DeleteDetectorModelRequest method.
418//    req, resp := client.DeleteDetectorModelRequest(params)
419//
420//    err := req.Send()
421//    if err == nil { // resp is now filled
422//        fmt.Println(resp)
423//    }
424//
425// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteDetectorModel
426func (c *IoTEvents) DeleteDetectorModelRequest(input *DeleteDetectorModelInput) (req *request.Request, output *DeleteDetectorModelOutput) {
427	op := &request.Operation{
428		Name:       opDeleteDetectorModel,
429		HTTPMethod: "DELETE",
430		HTTPPath:   "/detector-models/{detectorModelName}",
431	}
432
433	if input == nil {
434		input = &DeleteDetectorModelInput{}
435	}
436
437	output = &DeleteDetectorModelOutput{}
438	req = c.newRequest(op, input, output)
439	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
440	return
441}
442
443// DeleteDetectorModel API operation for AWS IoT Events.
444//
445// Deletes a detector model. Any active instances of the detector model are
446// also deleted.
447//
448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
449// with awserr.Error's Code and Message methods to get detailed information about
450// the error.
451//
452// See the AWS API reference guide for AWS IoT Events's
453// API operation DeleteDetectorModel for usage and error information.
454//
455// Returned Error Types:
456//   * InvalidRequestException
457//   The request was invalid.
458//
459//   * ResourceInUseException
460//   The resource is in use.
461//
462//   * ResourceNotFoundException
463//   The resource was not found.
464//
465//   * ThrottlingException
466//   The request could not be completed due to throttling.
467//
468//   * InternalFailureException
469//   An internal failure occurred.
470//
471//   * ServiceUnavailableException
472//   The service is currently unavailable.
473//
474// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteDetectorModel
475func (c *IoTEvents) DeleteDetectorModel(input *DeleteDetectorModelInput) (*DeleteDetectorModelOutput, error) {
476	req, out := c.DeleteDetectorModelRequest(input)
477	return out, req.Send()
478}
479
480// DeleteDetectorModelWithContext is the same as DeleteDetectorModel with the addition of
481// the ability to pass a context and additional request options.
482//
483// See DeleteDetectorModel for details on how to use this API operation.
484//
485// The context must be non-nil and will be used for request cancellation. If
486// the context is nil a panic will occur. In the future the SDK may create
487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
488// for more information on using Contexts.
489func (c *IoTEvents) DeleteDetectorModelWithContext(ctx aws.Context, input *DeleteDetectorModelInput, opts ...request.Option) (*DeleteDetectorModelOutput, error) {
490	req, out := c.DeleteDetectorModelRequest(input)
491	req.SetContext(ctx)
492	req.ApplyOptions(opts...)
493	return out, req.Send()
494}
495
496const opDeleteInput = "DeleteInput"
497
498// DeleteInputRequest generates a "aws/request.Request" representing the
499// client's request for the DeleteInput operation. The "output" return
500// value will be populated with the request's response once the request completes
501// successfully.
502//
503// Use "Send" method on the returned Request to send the API call to the service.
504// the "output" return value is not valid until after Send returns without error.
505//
506// See DeleteInput for more information on using the DeleteInput
507// API call, and error handling.
508//
509// This method is useful when you want to inject custom logic or configuration
510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
511//
512//
513//    // Example sending a request using the DeleteInputRequest method.
514//    req, resp := client.DeleteInputRequest(params)
515//
516//    err := req.Send()
517//    if err == nil { // resp is now filled
518//        fmt.Println(resp)
519//    }
520//
521// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteInput
522func (c *IoTEvents) DeleteInputRequest(input *DeleteInputInput) (req *request.Request, output *DeleteInputOutput) {
523	op := &request.Operation{
524		Name:       opDeleteInput,
525		HTTPMethod: "DELETE",
526		HTTPPath:   "/inputs/{inputName}",
527	}
528
529	if input == nil {
530		input = &DeleteInputInput{}
531	}
532
533	output = &DeleteInputOutput{}
534	req = c.newRequest(op, input, output)
535	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
536	return
537}
538
539// DeleteInput API operation for AWS IoT Events.
540//
541// Deletes an input.
542//
543// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
544// with awserr.Error's Code and Message methods to get detailed information about
545// the error.
546//
547// See the AWS API reference guide for AWS IoT Events's
548// API operation DeleteInput for usage and error information.
549//
550// Returned Error Types:
551//   * InvalidRequestException
552//   The request was invalid.
553//
554//   * ResourceNotFoundException
555//   The resource was not found.
556//
557//   * ThrottlingException
558//   The request could not be completed due to throttling.
559//
560//   * InternalFailureException
561//   An internal failure occurred.
562//
563//   * ServiceUnavailableException
564//   The service is currently unavailable.
565//
566//   * ResourceInUseException
567//   The resource is in use.
568//
569// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteInput
570func (c *IoTEvents) DeleteInput(input *DeleteInputInput) (*DeleteInputOutput, error) {
571	req, out := c.DeleteInputRequest(input)
572	return out, req.Send()
573}
574
575// DeleteInputWithContext is the same as DeleteInput with the addition of
576// the ability to pass a context and additional request options.
577//
578// See DeleteInput for details on how to use this API operation.
579//
580// The context must be non-nil and will be used for request cancellation. If
581// the context is nil a panic will occur. In the future the SDK may create
582// sub-contexts for http.Requests. See https://golang.org/pkg/context/
583// for more information on using Contexts.
584func (c *IoTEvents) DeleteInputWithContext(ctx aws.Context, input *DeleteInputInput, opts ...request.Option) (*DeleteInputOutput, error) {
585	req, out := c.DeleteInputRequest(input)
586	req.SetContext(ctx)
587	req.ApplyOptions(opts...)
588	return out, req.Send()
589}
590
591const opDescribeAlarmModel = "DescribeAlarmModel"
592
593// DescribeAlarmModelRequest generates a "aws/request.Request" representing the
594// client's request for the DescribeAlarmModel operation. The "output" return
595// value will be populated with the request's response once the request completes
596// successfully.
597//
598// Use "Send" method on the returned Request to send the API call to the service.
599// the "output" return value is not valid until after Send returns without error.
600//
601// See DescribeAlarmModel for more information on using the DescribeAlarmModel
602// API call, and error handling.
603//
604// This method is useful when you want to inject custom logic or configuration
605// into the SDK's request lifecycle. Such as custom headers, or retry logic.
606//
607//
608//    // Example sending a request using the DescribeAlarmModelRequest method.
609//    req, resp := client.DescribeAlarmModelRequest(params)
610//
611//    err := req.Send()
612//    if err == nil { // resp is now filled
613//        fmt.Println(resp)
614//    }
615//
616// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeAlarmModel
617func (c *IoTEvents) DescribeAlarmModelRequest(input *DescribeAlarmModelInput) (req *request.Request, output *DescribeAlarmModelOutput) {
618	op := &request.Operation{
619		Name:       opDescribeAlarmModel,
620		HTTPMethod: "GET",
621		HTTPPath:   "/alarm-models/{alarmModelName}",
622	}
623
624	if input == nil {
625		input = &DescribeAlarmModelInput{}
626	}
627
628	output = &DescribeAlarmModelOutput{}
629	req = c.newRequest(op, input, output)
630	return
631}
632
633// DescribeAlarmModel API operation for AWS IoT Events.
634//
635// Retrieves information about an alarm model. If you don't specify a value
636// for the alarmModelVersion parameter, the latest version is returned.
637//
638// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
639// with awserr.Error's Code and Message methods to get detailed information about
640// the error.
641//
642// See the AWS API reference guide for AWS IoT Events's
643// API operation DescribeAlarmModel for usage and error information.
644//
645// Returned Error Types:
646//   * InvalidRequestException
647//   The request was invalid.
648//
649//   * ResourceNotFoundException
650//   The resource was not found.
651//
652//   * ThrottlingException
653//   The request could not be completed due to throttling.
654//
655//   * InternalFailureException
656//   An internal failure occurred.
657//
658//   * ServiceUnavailableException
659//   The service is currently unavailable.
660//
661// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeAlarmModel
662func (c *IoTEvents) DescribeAlarmModel(input *DescribeAlarmModelInput) (*DescribeAlarmModelOutput, error) {
663	req, out := c.DescribeAlarmModelRequest(input)
664	return out, req.Send()
665}
666
667// DescribeAlarmModelWithContext is the same as DescribeAlarmModel with the addition of
668// the ability to pass a context and additional request options.
669//
670// See DescribeAlarmModel for details on how to use this API operation.
671//
672// The context must be non-nil and will be used for request cancellation. If
673// the context is nil a panic will occur. In the future the SDK may create
674// sub-contexts for http.Requests. See https://golang.org/pkg/context/
675// for more information on using Contexts.
676func (c *IoTEvents) DescribeAlarmModelWithContext(ctx aws.Context, input *DescribeAlarmModelInput, opts ...request.Option) (*DescribeAlarmModelOutput, error) {
677	req, out := c.DescribeAlarmModelRequest(input)
678	req.SetContext(ctx)
679	req.ApplyOptions(opts...)
680	return out, req.Send()
681}
682
683const opDescribeDetectorModel = "DescribeDetectorModel"
684
685// DescribeDetectorModelRequest generates a "aws/request.Request" representing the
686// client's request for the DescribeDetectorModel operation. The "output" return
687// value will be populated with the request's response once the request completes
688// successfully.
689//
690// Use "Send" method on the returned Request to send the API call to the service.
691// the "output" return value is not valid until after Send returns without error.
692//
693// See DescribeDetectorModel for more information on using the DescribeDetectorModel
694// API call, and error handling.
695//
696// This method is useful when you want to inject custom logic or configuration
697// into the SDK's request lifecycle. Such as custom headers, or retry logic.
698//
699//
700//    // Example sending a request using the DescribeDetectorModelRequest method.
701//    req, resp := client.DescribeDetectorModelRequest(params)
702//
703//    err := req.Send()
704//    if err == nil { // resp is now filled
705//        fmt.Println(resp)
706//    }
707//
708// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeDetectorModel
709func (c *IoTEvents) DescribeDetectorModelRequest(input *DescribeDetectorModelInput) (req *request.Request, output *DescribeDetectorModelOutput) {
710	op := &request.Operation{
711		Name:       opDescribeDetectorModel,
712		HTTPMethod: "GET",
713		HTTPPath:   "/detector-models/{detectorModelName}",
714	}
715
716	if input == nil {
717		input = &DescribeDetectorModelInput{}
718	}
719
720	output = &DescribeDetectorModelOutput{}
721	req = c.newRequest(op, input, output)
722	return
723}
724
725// DescribeDetectorModel API operation for AWS IoT Events.
726//
727// Describes a detector model. If the version parameter is not specified, information
728// about the latest version is returned.
729//
730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
731// with awserr.Error's Code and Message methods to get detailed information about
732// the error.
733//
734// See the AWS API reference guide for AWS IoT Events's
735// API operation DescribeDetectorModel for usage and error information.
736//
737// Returned Error Types:
738//   * InvalidRequestException
739//   The request was invalid.
740//
741//   * ResourceNotFoundException
742//   The resource was not found.
743//
744//   * ThrottlingException
745//   The request could not be completed due to throttling.
746//
747//   * InternalFailureException
748//   An internal failure occurred.
749//
750//   * ServiceUnavailableException
751//   The service is currently unavailable.
752//
753// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeDetectorModel
754func (c *IoTEvents) DescribeDetectorModel(input *DescribeDetectorModelInput) (*DescribeDetectorModelOutput, error) {
755	req, out := c.DescribeDetectorModelRequest(input)
756	return out, req.Send()
757}
758
759// DescribeDetectorModelWithContext is the same as DescribeDetectorModel with the addition of
760// the ability to pass a context and additional request options.
761//
762// See DescribeDetectorModel for details on how to use this API operation.
763//
764// The context must be non-nil and will be used for request cancellation. If
765// the context is nil a panic will occur. In the future the SDK may create
766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
767// for more information on using Contexts.
768func (c *IoTEvents) DescribeDetectorModelWithContext(ctx aws.Context, input *DescribeDetectorModelInput, opts ...request.Option) (*DescribeDetectorModelOutput, error) {
769	req, out := c.DescribeDetectorModelRequest(input)
770	req.SetContext(ctx)
771	req.ApplyOptions(opts...)
772	return out, req.Send()
773}
774
775const opDescribeDetectorModelAnalysis = "DescribeDetectorModelAnalysis"
776
777// DescribeDetectorModelAnalysisRequest generates a "aws/request.Request" representing the
778// client's request for the DescribeDetectorModelAnalysis operation. The "output" return
779// value will be populated with the request's response once the request completes
780// successfully.
781//
782// Use "Send" method on the returned Request to send the API call to the service.
783// the "output" return value is not valid until after Send returns without error.
784//
785// See DescribeDetectorModelAnalysis for more information on using the DescribeDetectorModelAnalysis
786// API call, and error handling.
787//
788// This method is useful when you want to inject custom logic or configuration
789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
790//
791//
792//    // Example sending a request using the DescribeDetectorModelAnalysisRequest method.
793//    req, resp := client.DescribeDetectorModelAnalysisRequest(params)
794//
795//    err := req.Send()
796//    if err == nil { // resp is now filled
797//        fmt.Println(resp)
798//    }
799//
800// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeDetectorModelAnalysis
801func (c *IoTEvents) DescribeDetectorModelAnalysisRequest(input *DescribeDetectorModelAnalysisInput) (req *request.Request, output *DescribeDetectorModelAnalysisOutput) {
802	op := &request.Operation{
803		Name:       opDescribeDetectorModelAnalysis,
804		HTTPMethod: "GET",
805		HTTPPath:   "/analysis/detector-models/{analysisId}",
806	}
807
808	if input == nil {
809		input = &DescribeDetectorModelAnalysisInput{}
810	}
811
812	output = &DescribeDetectorModelAnalysisOutput{}
813	req = c.newRequest(op, input, output)
814	return
815}
816
817// DescribeDetectorModelAnalysis API operation for AWS IoT Events.
818//
819// Retrieves runtime information about a detector model analysis.
820//
821// After AWS IoT Events starts analyzing your detector model, you have up to
822// 24 hours to retrieve the analysis results.
823//
824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
825// with awserr.Error's Code and Message methods to get detailed information about
826// the error.
827//
828// See the AWS API reference guide for AWS IoT Events's
829// API operation DescribeDetectorModelAnalysis for usage and error information.
830//
831// Returned Error Types:
832//   * InvalidRequestException
833//   The request was invalid.
834//
835//   * ResourceNotFoundException
836//   The resource was not found.
837//
838//   * ThrottlingException
839//   The request could not be completed due to throttling.
840//
841//   * InternalFailureException
842//   An internal failure occurred.
843//
844//   * ServiceUnavailableException
845//   The service is currently unavailable.
846//
847// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeDetectorModelAnalysis
848func (c *IoTEvents) DescribeDetectorModelAnalysis(input *DescribeDetectorModelAnalysisInput) (*DescribeDetectorModelAnalysisOutput, error) {
849	req, out := c.DescribeDetectorModelAnalysisRequest(input)
850	return out, req.Send()
851}
852
853// DescribeDetectorModelAnalysisWithContext is the same as DescribeDetectorModelAnalysis with the addition of
854// the ability to pass a context and additional request options.
855//
856// See DescribeDetectorModelAnalysis for details on how to use this API operation.
857//
858// The context must be non-nil and will be used for request cancellation. If
859// the context is nil a panic will occur. In the future the SDK may create
860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
861// for more information on using Contexts.
862func (c *IoTEvents) DescribeDetectorModelAnalysisWithContext(ctx aws.Context, input *DescribeDetectorModelAnalysisInput, opts ...request.Option) (*DescribeDetectorModelAnalysisOutput, error) {
863	req, out := c.DescribeDetectorModelAnalysisRequest(input)
864	req.SetContext(ctx)
865	req.ApplyOptions(opts...)
866	return out, req.Send()
867}
868
869const opDescribeInput = "DescribeInput"
870
871// DescribeInputRequest generates a "aws/request.Request" representing the
872// client's request for the DescribeInput operation. The "output" return
873// value will be populated with the request's response once the request completes
874// successfully.
875//
876// Use "Send" method on the returned Request to send the API call to the service.
877// the "output" return value is not valid until after Send returns without error.
878//
879// See DescribeInput for more information on using the DescribeInput
880// API call, and error handling.
881//
882// This method is useful when you want to inject custom logic or configuration
883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
884//
885//
886//    // Example sending a request using the DescribeInputRequest method.
887//    req, resp := client.DescribeInputRequest(params)
888//
889//    err := req.Send()
890//    if err == nil { // resp is now filled
891//        fmt.Println(resp)
892//    }
893//
894// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeInput
895func (c *IoTEvents) DescribeInputRequest(input *DescribeInputInput) (req *request.Request, output *DescribeInputOutput) {
896	op := &request.Operation{
897		Name:       opDescribeInput,
898		HTTPMethod: "GET",
899		HTTPPath:   "/inputs/{inputName}",
900	}
901
902	if input == nil {
903		input = &DescribeInputInput{}
904	}
905
906	output = &DescribeInputOutput{}
907	req = c.newRequest(op, input, output)
908	return
909}
910
911// DescribeInput API operation for AWS IoT Events.
912//
913// Describes an input.
914//
915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
916// with awserr.Error's Code and Message methods to get detailed information about
917// the error.
918//
919// See the AWS API reference guide for AWS IoT Events's
920// API operation DescribeInput for usage and error information.
921//
922// Returned Error Types:
923//   * InvalidRequestException
924//   The request was invalid.
925//
926//   * ResourceNotFoundException
927//   The resource was not found.
928//
929//   * ThrottlingException
930//   The request could not be completed due to throttling.
931//
932//   * InternalFailureException
933//   An internal failure occurred.
934//
935//   * ServiceUnavailableException
936//   The service is currently unavailable.
937//
938// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeInput
939func (c *IoTEvents) DescribeInput(input *DescribeInputInput) (*DescribeInputOutput, error) {
940	req, out := c.DescribeInputRequest(input)
941	return out, req.Send()
942}
943
944// DescribeInputWithContext is the same as DescribeInput with the addition of
945// the ability to pass a context and additional request options.
946//
947// See DescribeInput for details on how to use this API operation.
948//
949// The context must be non-nil and will be used for request cancellation. If
950// the context is nil a panic will occur. In the future the SDK may create
951// sub-contexts for http.Requests. See https://golang.org/pkg/context/
952// for more information on using Contexts.
953func (c *IoTEvents) DescribeInputWithContext(ctx aws.Context, input *DescribeInputInput, opts ...request.Option) (*DescribeInputOutput, error) {
954	req, out := c.DescribeInputRequest(input)
955	req.SetContext(ctx)
956	req.ApplyOptions(opts...)
957	return out, req.Send()
958}
959
960const opDescribeLoggingOptions = "DescribeLoggingOptions"
961
962// DescribeLoggingOptionsRequest generates a "aws/request.Request" representing the
963// client's request for the DescribeLoggingOptions operation. The "output" return
964// value will be populated with the request's response once the request completes
965// successfully.
966//
967// Use "Send" method on the returned Request to send the API call to the service.
968// the "output" return value is not valid until after Send returns without error.
969//
970// See DescribeLoggingOptions for more information on using the DescribeLoggingOptions
971// API call, and error handling.
972//
973// This method is useful when you want to inject custom logic or configuration
974// into the SDK's request lifecycle. Such as custom headers, or retry logic.
975//
976//
977//    // Example sending a request using the DescribeLoggingOptionsRequest method.
978//    req, resp := client.DescribeLoggingOptionsRequest(params)
979//
980//    err := req.Send()
981//    if err == nil { // resp is now filled
982//        fmt.Println(resp)
983//    }
984//
985// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeLoggingOptions
986func (c *IoTEvents) DescribeLoggingOptionsRequest(input *DescribeLoggingOptionsInput) (req *request.Request, output *DescribeLoggingOptionsOutput) {
987	op := &request.Operation{
988		Name:       opDescribeLoggingOptions,
989		HTTPMethod: "GET",
990		HTTPPath:   "/logging",
991	}
992
993	if input == nil {
994		input = &DescribeLoggingOptionsInput{}
995	}
996
997	output = &DescribeLoggingOptionsOutput{}
998	req = c.newRequest(op, input, output)
999	return
1000}
1001
1002// DescribeLoggingOptions API operation for AWS IoT Events.
1003//
1004// Retrieves the current settings of the AWS IoT Events logging options.
1005//
1006// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1007// with awserr.Error's Code and Message methods to get detailed information about
1008// the error.
1009//
1010// See the AWS API reference guide for AWS IoT Events's
1011// API operation DescribeLoggingOptions for usage and error information.
1012//
1013// Returned Error Types:
1014//   * InvalidRequestException
1015//   The request was invalid.
1016//
1017//   * ThrottlingException
1018//   The request could not be completed due to throttling.
1019//
1020//   * InternalFailureException
1021//   An internal failure occurred.
1022//
1023//   * ResourceNotFoundException
1024//   The resource was not found.
1025//
1026//   * ServiceUnavailableException
1027//   The service is currently unavailable.
1028//
1029//   * UnsupportedOperationException
1030//   The requested operation is not supported.
1031//
1032// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeLoggingOptions
1033func (c *IoTEvents) DescribeLoggingOptions(input *DescribeLoggingOptionsInput) (*DescribeLoggingOptionsOutput, error) {
1034	req, out := c.DescribeLoggingOptionsRequest(input)
1035	return out, req.Send()
1036}
1037
1038// DescribeLoggingOptionsWithContext is the same as DescribeLoggingOptions with the addition of
1039// the ability to pass a context and additional request options.
1040//
1041// See DescribeLoggingOptions for details on how to use this API operation.
1042//
1043// The context must be non-nil and will be used for request cancellation. If
1044// the context is nil a panic will occur. In the future the SDK may create
1045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1046// for more information on using Contexts.
1047func (c *IoTEvents) DescribeLoggingOptionsWithContext(ctx aws.Context, input *DescribeLoggingOptionsInput, opts ...request.Option) (*DescribeLoggingOptionsOutput, error) {
1048	req, out := c.DescribeLoggingOptionsRequest(input)
1049	req.SetContext(ctx)
1050	req.ApplyOptions(opts...)
1051	return out, req.Send()
1052}
1053
1054const opGetDetectorModelAnalysisResults = "GetDetectorModelAnalysisResults"
1055
1056// GetDetectorModelAnalysisResultsRequest generates a "aws/request.Request" representing the
1057// client's request for the GetDetectorModelAnalysisResults operation. The "output" return
1058// value will be populated with the request's response once the request completes
1059// successfully.
1060//
1061// Use "Send" method on the returned Request to send the API call to the service.
1062// the "output" return value is not valid until after Send returns without error.
1063//
1064// See GetDetectorModelAnalysisResults for more information on using the GetDetectorModelAnalysisResults
1065// API call, and error handling.
1066//
1067// This method is useful when you want to inject custom logic or configuration
1068// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1069//
1070//
1071//    // Example sending a request using the GetDetectorModelAnalysisResultsRequest method.
1072//    req, resp := client.GetDetectorModelAnalysisResultsRequest(params)
1073//
1074//    err := req.Send()
1075//    if err == nil { // resp is now filled
1076//        fmt.Println(resp)
1077//    }
1078//
1079// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/GetDetectorModelAnalysisResults
1080func (c *IoTEvents) GetDetectorModelAnalysisResultsRequest(input *GetDetectorModelAnalysisResultsInput) (req *request.Request, output *GetDetectorModelAnalysisResultsOutput) {
1081	op := &request.Operation{
1082		Name:       opGetDetectorModelAnalysisResults,
1083		HTTPMethod: "GET",
1084		HTTPPath:   "/analysis/detector-models/{analysisId}/results",
1085	}
1086
1087	if input == nil {
1088		input = &GetDetectorModelAnalysisResultsInput{}
1089	}
1090
1091	output = &GetDetectorModelAnalysisResultsOutput{}
1092	req = c.newRequest(op, input, output)
1093	return
1094}
1095
1096// GetDetectorModelAnalysisResults API operation for AWS IoT Events.
1097//
1098// Retrieves one or more analysis results of the detector model.
1099//
1100// After AWS IoT Events starts analyzing your detector model, you have up to
1101// 24 hours to retrieve the analysis results.
1102//
1103// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1104// with awserr.Error's Code and Message methods to get detailed information about
1105// the error.
1106//
1107// See the AWS API reference guide for AWS IoT Events's
1108// API operation GetDetectorModelAnalysisResults for usage and error information.
1109//
1110// Returned Error Types:
1111//   * InvalidRequestException
1112//   The request was invalid.
1113//
1114//   * ResourceNotFoundException
1115//   The resource was not found.
1116//
1117//   * ThrottlingException
1118//   The request could not be completed due to throttling.
1119//
1120//   * InternalFailureException
1121//   An internal failure occurred.
1122//
1123//   * ServiceUnavailableException
1124//   The service is currently unavailable.
1125//
1126// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/GetDetectorModelAnalysisResults
1127func (c *IoTEvents) GetDetectorModelAnalysisResults(input *GetDetectorModelAnalysisResultsInput) (*GetDetectorModelAnalysisResultsOutput, error) {
1128	req, out := c.GetDetectorModelAnalysisResultsRequest(input)
1129	return out, req.Send()
1130}
1131
1132// GetDetectorModelAnalysisResultsWithContext is the same as GetDetectorModelAnalysisResults with the addition of
1133// the ability to pass a context and additional request options.
1134//
1135// See GetDetectorModelAnalysisResults for details on how to use this API operation.
1136//
1137// The context must be non-nil and will be used for request cancellation. If
1138// the context is nil a panic will occur. In the future the SDK may create
1139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1140// for more information on using Contexts.
1141func (c *IoTEvents) GetDetectorModelAnalysisResultsWithContext(ctx aws.Context, input *GetDetectorModelAnalysisResultsInput, opts ...request.Option) (*GetDetectorModelAnalysisResultsOutput, error) {
1142	req, out := c.GetDetectorModelAnalysisResultsRequest(input)
1143	req.SetContext(ctx)
1144	req.ApplyOptions(opts...)
1145	return out, req.Send()
1146}
1147
1148const opListAlarmModelVersions = "ListAlarmModelVersions"
1149
1150// ListAlarmModelVersionsRequest generates a "aws/request.Request" representing the
1151// client's request for the ListAlarmModelVersions operation. The "output" return
1152// value will be populated with the request's response once the request completes
1153// successfully.
1154//
1155// Use "Send" method on the returned Request to send the API call to the service.
1156// the "output" return value is not valid until after Send returns without error.
1157//
1158// See ListAlarmModelVersions for more information on using the ListAlarmModelVersions
1159// API call, and error handling.
1160//
1161// This method is useful when you want to inject custom logic or configuration
1162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1163//
1164//
1165//    // Example sending a request using the ListAlarmModelVersionsRequest method.
1166//    req, resp := client.ListAlarmModelVersionsRequest(params)
1167//
1168//    err := req.Send()
1169//    if err == nil { // resp is now filled
1170//        fmt.Println(resp)
1171//    }
1172//
1173// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModelVersions
1174func (c *IoTEvents) ListAlarmModelVersionsRequest(input *ListAlarmModelVersionsInput) (req *request.Request, output *ListAlarmModelVersionsOutput) {
1175	op := &request.Operation{
1176		Name:       opListAlarmModelVersions,
1177		HTTPMethod: "GET",
1178		HTTPPath:   "/alarm-models/{alarmModelName}/versions",
1179	}
1180
1181	if input == nil {
1182		input = &ListAlarmModelVersionsInput{}
1183	}
1184
1185	output = &ListAlarmModelVersionsOutput{}
1186	req = c.newRequest(op, input, output)
1187	return
1188}
1189
1190// ListAlarmModelVersions API operation for AWS IoT Events.
1191//
1192// Lists all the versions of an alarm model. The operation returns only the
1193// metadata associated with each alarm model version.
1194//
1195// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1196// with awserr.Error's Code and Message methods to get detailed information about
1197// the error.
1198//
1199// See the AWS API reference guide for AWS IoT Events's
1200// API operation ListAlarmModelVersions for usage and error information.
1201//
1202// Returned Error Types:
1203//   * InvalidRequestException
1204//   The request was invalid.
1205//
1206//   * ResourceNotFoundException
1207//   The resource was not found.
1208//
1209//   * ThrottlingException
1210//   The request could not be completed due to throttling.
1211//
1212//   * InternalFailureException
1213//   An internal failure occurred.
1214//
1215//   * ServiceUnavailableException
1216//   The service is currently unavailable.
1217//
1218// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModelVersions
1219func (c *IoTEvents) ListAlarmModelVersions(input *ListAlarmModelVersionsInput) (*ListAlarmModelVersionsOutput, error) {
1220	req, out := c.ListAlarmModelVersionsRequest(input)
1221	return out, req.Send()
1222}
1223
1224// ListAlarmModelVersionsWithContext is the same as ListAlarmModelVersions with the addition of
1225// the ability to pass a context and additional request options.
1226//
1227// See ListAlarmModelVersions for details on how to use this API operation.
1228//
1229// The context must be non-nil and will be used for request cancellation. If
1230// the context is nil a panic will occur. In the future the SDK may create
1231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1232// for more information on using Contexts.
1233func (c *IoTEvents) ListAlarmModelVersionsWithContext(ctx aws.Context, input *ListAlarmModelVersionsInput, opts ...request.Option) (*ListAlarmModelVersionsOutput, error) {
1234	req, out := c.ListAlarmModelVersionsRequest(input)
1235	req.SetContext(ctx)
1236	req.ApplyOptions(opts...)
1237	return out, req.Send()
1238}
1239
1240const opListAlarmModels = "ListAlarmModels"
1241
1242// ListAlarmModelsRequest generates a "aws/request.Request" representing the
1243// client's request for the ListAlarmModels operation. The "output" return
1244// value will be populated with the request's response once the request completes
1245// successfully.
1246//
1247// Use "Send" method on the returned Request to send the API call to the service.
1248// the "output" return value is not valid until after Send returns without error.
1249//
1250// See ListAlarmModels for more information on using the ListAlarmModels
1251// API call, and error handling.
1252//
1253// This method is useful when you want to inject custom logic or configuration
1254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1255//
1256//
1257//    // Example sending a request using the ListAlarmModelsRequest method.
1258//    req, resp := client.ListAlarmModelsRequest(params)
1259//
1260//    err := req.Send()
1261//    if err == nil { // resp is now filled
1262//        fmt.Println(resp)
1263//    }
1264//
1265// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModels
1266func (c *IoTEvents) ListAlarmModelsRequest(input *ListAlarmModelsInput) (req *request.Request, output *ListAlarmModelsOutput) {
1267	op := &request.Operation{
1268		Name:       opListAlarmModels,
1269		HTTPMethod: "GET",
1270		HTTPPath:   "/alarm-models",
1271	}
1272
1273	if input == nil {
1274		input = &ListAlarmModelsInput{}
1275	}
1276
1277	output = &ListAlarmModelsOutput{}
1278	req = c.newRequest(op, input, output)
1279	return
1280}
1281
1282// ListAlarmModels API operation for AWS IoT Events.
1283//
1284// Lists the alarm models that you created. The operation returns only the metadata
1285// associated with each alarm model.
1286//
1287// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1288// with awserr.Error's Code and Message methods to get detailed information about
1289// the error.
1290//
1291// See the AWS API reference guide for AWS IoT Events's
1292// API operation ListAlarmModels for usage and error information.
1293//
1294// Returned Error Types:
1295//   * InvalidRequestException
1296//   The request was invalid.
1297//
1298//   * ThrottlingException
1299//   The request could not be completed due to throttling.
1300//
1301//   * InternalFailureException
1302//   An internal failure occurred.
1303//
1304//   * ServiceUnavailableException
1305//   The service is currently unavailable.
1306//
1307// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModels
1308func (c *IoTEvents) ListAlarmModels(input *ListAlarmModelsInput) (*ListAlarmModelsOutput, error) {
1309	req, out := c.ListAlarmModelsRequest(input)
1310	return out, req.Send()
1311}
1312
1313// ListAlarmModelsWithContext is the same as ListAlarmModels with the addition of
1314// the ability to pass a context and additional request options.
1315//
1316// See ListAlarmModels for details on how to use this API operation.
1317//
1318// The context must be non-nil and will be used for request cancellation. If
1319// the context is nil a panic will occur. In the future the SDK may create
1320// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1321// for more information on using Contexts.
1322func (c *IoTEvents) ListAlarmModelsWithContext(ctx aws.Context, input *ListAlarmModelsInput, opts ...request.Option) (*ListAlarmModelsOutput, error) {
1323	req, out := c.ListAlarmModelsRequest(input)
1324	req.SetContext(ctx)
1325	req.ApplyOptions(opts...)
1326	return out, req.Send()
1327}
1328
1329const opListDetectorModelVersions = "ListDetectorModelVersions"
1330
1331// ListDetectorModelVersionsRequest generates a "aws/request.Request" representing the
1332// client's request for the ListDetectorModelVersions operation. The "output" return
1333// value will be populated with the request's response once the request completes
1334// successfully.
1335//
1336// Use "Send" method on the returned Request to send the API call to the service.
1337// the "output" return value is not valid until after Send returns without error.
1338//
1339// See ListDetectorModelVersions for more information on using the ListDetectorModelVersions
1340// API call, and error handling.
1341//
1342// This method is useful when you want to inject custom logic or configuration
1343// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1344//
1345//
1346//    // Example sending a request using the ListDetectorModelVersionsRequest method.
1347//    req, resp := client.ListDetectorModelVersionsRequest(params)
1348//
1349//    err := req.Send()
1350//    if err == nil { // resp is now filled
1351//        fmt.Println(resp)
1352//    }
1353//
1354// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModelVersions
1355func (c *IoTEvents) ListDetectorModelVersionsRequest(input *ListDetectorModelVersionsInput) (req *request.Request, output *ListDetectorModelVersionsOutput) {
1356	op := &request.Operation{
1357		Name:       opListDetectorModelVersions,
1358		HTTPMethod: "GET",
1359		HTTPPath:   "/detector-models/{detectorModelName}/versions",
1360	}
1361
1362	if input == nil {
1363		input = &ListDetectorModelVersionsInput{}
1364	}
1365
1366	output = &ListDetectorModelVersionsOutput{}
1367	req = c.newRequest(op, input, output)
1368	return
1369}
1370
1371// ListDetectorModelVersions API operation for AWS IoT Events.
1372//
1373// Lists all the versions of a detector model. Only the metadata associated
1374// with each detector model version is returned.
1375//
1376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1377// with awserr.Error's Code and Message methods to get detailed information about
1378// the error.
1379//
1380// See the AWS API reference guide for AWS IoT Events's
1381// API operation ListDetectorModelVersions for usage and error information.
1382//
1383// Returned Error Types:
1384//   * InvalidRequestException
1385//   The request was invalid.
1386//
1387//   * ResourceNotFoundException
1388//   The resource was not found.
1389//
1390//   * ThrottlingException
1391//   The request could not be completed due to throttling.
1392//
1393//   * InternalFailureException
1394//   An internal failure occurred.
1395//
1396//   * ServiceUnavailableException
1397//   The service is currently unavailable.
1398//
1399// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModelVersions
1400func (c *IoTEvents) ListDetectorModelVersions(input *ListDetectorModelVersionsInput) (*ListDetectorModelVersionsOutput, error) {
1401	req, out := c.ListDetectorModelVersionsRequest(input)
1402	return out, req.Send()
1403}
1404
1405// ListDetectorModelVersionsWithContext is the same as ListDetectorModelVersions with the addition of
1406// the ability to pass a context and additional request options.
1407//
1408// See ListDetectorModelVersions for details on how to use this API operation.
1409//
1410// The context must be non-nil and will be used for request cancellation. If
1411// the context is nil a panic will occur. In the future the SDK may create
1412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1413// for more information on using Contexts.
1414func (c *IoTEvents) ListDetectorModelVersionsWithContext(ctx aws.Context, input *ListDetectorModelVersionsInput, opts ...request.Option) (*ListDetectorModelVersionsOutput, error) {
1415	req, out := c.ListDetectorModelVersionsRequest(input)
1416	req.SetContext(ctx)
1417	req.ApplyOptions(opts...)
1418	return out, req.Send()
1419}
1420
1421const opListDetectorModels = "ListDetectorModels"
1422
1423// ListDetectorModelsRequest generates a "aws/request.Request" representing the
1424// client's request for the ListDetectorModels operation. The "output" return
1425// value will be populated with the request's response once the request completes
1426// successfully.
1427//
1428// Use "Send" method on the returned Request to send the API call to the service.
1429// the "output" return value is not valid until after Send returns without error.
1430//
1431// See ListDetectorModels for more information on using the ListDetectorModels
1432// API call, and error handling.
1433//
1434// This method is useful when you want to inject custom logic or configuration
1435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1436//
1437//
1438//    // Example sending a request using the ListDetectorModelsRequest method.
1439//    req, resp := client.ListDetectorModelsRequest(params)
1440//
1441//    err := req.Send()
1442//    if err == nil { // resp is now filled
1443//        fmt.Println(resp)
1444//    }
1445//
1446// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModels
1447func (c *IoTEvents) ListDetectorModelsRequest(input *ListDetectorModelsInput) (req *request.Request, output *ListDetectorModelsOutput) {
1448	op := &request.Operation{
1449		Name:       opListDetectorModels,
1450		HTTPMethod: "GET",
1451		HTTPPath:   "/detector-models",
1452	}
1453
1454	if input == nil {
1455		input = &ListDetectorModelsInput{}
1456	}
1457
1458	output = &ListDetectorModelsOutput{}
1459	req = c.newRequest(op, input, output)
1460	return
1461}
1462
1463// ListDetectorModels API operation for AWS IoT Events.
1464//
1465// Lists the detector models you have created. Only the metadata associated
1466// with each detector model is returned.
1467//
1468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1469// with awserr.Error's Code and Message methods to get detailed information about
1470// the error.
1471//
1472// See the AWS API reference guide for AWS IoT Events's
1473// API operation ListDetectorModels for usage and error information.
1474//
1475// Returned Error Types:
1476//   * InvalidRequestException
1477//   The request was invalid.
1478//
1479//   * ThrottlingException
1480//   The request could not be completed due to throttling.
1481//
1482//   * InternalFailureException
1483//   An internal failure occurred.
1484//
1485//   * ServiceUnavailableException
1486//   The service is currently unavailable.
1487//
1488// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModels
1489func (c *IoTEvents) ListDetectorModels(input *ListDetectorModelsInput) (*ListDetectorModelsOutput, error) {
1490	req, out := c.ListDetectorModelsRequest(input)
1491	return out, req.Send()
1492}
1493
1494// ListDetectorModelsWithContext is the same as ListDetectorModels with the addition of
1495// the ability to pass a context and additional request options.
1496//
1497// See ListDetectorModels for details on how to use this API operation.
1498//
1499// The context must be non-nil and will be used for request cancellation. If
1500// the context is nil a panic will occur. In the future the SDK may create
1501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1502// for more information on using Contexts.
1503func (c *IoTEvents) ListDetectorModelsWithContext(ctx aws.Context, input *ListDetectorModelsInput, opts ...request.Option) (*ListDetectorModelsOutput, error) {
1504	req, out := c.ListDetectorModelsRequest(input)
1505	req.SetContext(ctx)
1506	req.ApplyOptions(opts...)
1507	return out, req.Send()
1508}
1509
1510const opListInputRoutings = "ListInputRoutings"
1511
1512// ListInputRoutingsRequest generates a "aws/request.Request" representing the
1513// client's request for the ListInputRoutings operation. The "output" return
1514// value will be populated with the request's response once the request completes
1515// successfully.
1516//
1517// Use "Send" method on the returned Request to send the API call to the service.
1518// the "output" return value is not valid until after Send returns without error.
1519//
1520// See ListInputRoutings for more information on using the ListInputRoutings
1521// API call, and error handling.
1522//
1523// This method is useful when you want to inject custom logic or configuration
1524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1525//
1526//
1527//    // Example sending a request using the ListInputRoutingsRequest method.
1528//    req, resp := client.ListInputRoutingsRequest(params)
1529//
1530//    err := req.Send()
1531//    if err == nil { // resp is now filled
1532//        fmt.Println(resp)
1533//    }
1534//
1535// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListInputRoutings
1536func (c *IoTEvents) ListInputRoutingsRequest(input *ListInputRoutingsInput) (req *request.Request, output *ListInputRoutingsOutput) {
1537	op := &request.Operation{
1538		Name:       opListInputRoutings,
1539		HTTPMethod: "POST",
1540		HTTPPath:   "/input-routings",
1541	}
1542
1543	if input == nil {
1544		input = &ListInputRoutingsInput{}
1545	}
1546
1547	output = &ListInputRoutingsOutput{}
1548	req = c.newRequest(op, input, output)
1549	return
1550}
1551
1552// ListInputRoutings API operation for AWS IoT Events.
1553//
1554// Lists one or more input routings.
1555//
1556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1557// with awserr.Error's Code and Message methods to get detailed information about
1558// the error.
1559//
1560// See the AWS API reference guide for AWS IoT Events's
1561// API operation ListInputRoutings for usage and error information.
1562//
1563// Returned Error Types:
1564//   * InvalidRequestException
1565//   The request was invalid.
1566//
1567//   * ThrottlingException
1568//   The request could not be completed due to throttling.
1569//
1570//   * InternalFailureException
1571//   An internal failure occurred.
1572//
1573//   * ServiceUnavailableException
1574//   The service is currently unavailable.
1575//
1576//   * ResourceNotFoundException
1577//   The resource was not found.
1578//
1579// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListInputRoutings
1580func (c *IoTEvents) ListInputRoutings(input *ListInputRoutingsInput) (*ListInputRoutingsOutput, error) {
1581	req, out := c.ListInputRoutingsRequest(input)
1582	return out, req.Send()
1583}
1584
1585// ListInputRoutingsWithContext is the same as ListInputRoutings with the addition of
1586// the ability to pass a context and additional request options.
1587//
1588// See ListInputRoutings for details on how to use this API operation.
1589//
1590// The context must be non-nil and will be used for request cancellation. If
1591// the context is nil a panic will occur. In the future the SDK may create
1592// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1593// for more information on using Contexts.
1594func (c *IoTEvents) ListInputRoutingsWithContext(ctx aws.Context, input *ListInputRoutingsInput, opts ...request.Option) (*ListInputRoutingsOutput, error) {
1595	req, out := c.ListInputRoutingsRequest(input)
1596	req.SetContext(ctx)
1597	req.ApplyOptions(opts...)
1598	return out, req.Send()
1599}
1600
1601const opListInputs = "ListInputs"
1602
1603// ListInputsRequest generates a "aws/request.Request" representing the
1604// client's request for the ListInputs operation. The "output" return
1605// value will be populated with the request's response once the request completes
1606// successfully.
1607//
1608// Use "Send" method on the returned Request to send the API call to the service.
1609// the "output" return value is not valid until after Send returns without error.
1610//
1611// See ListInputs for more information on using the ListInputs
1612// API call, and error handling.
1613//
1614// This method is useful when you want to inject custom logic or configuration
1615// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1616//
1617//
1618//    // Example sending a request using the ListInputsRequest method.
1619//    req, resp := client.ListInputsRequest(params)
1620//
1621//    err := req.Send()
1622//    if err == nil { // resp is now filled
1623//        fmt.Println(resp)
1624//    }
1625//
1626// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListInputs
1627func (c *IoTEvents) ListInputsRequest(input *ListInputsInput) (req *request.Request, output *ListInputsOutput) {
1628	op := &request.Operation{
1629		Name:       opListInputs,
1630		HTTPMethod: "GET",
1631		HTTPPath:   "/inputs",
1632	}
1633
1634	if input == nil {
1635		input = &ListInputsInput{}
1636	}
1637
1638	output = &ListInputsOutput{}
1639	req = c.newRequest(op, input, output)
1640	return
1641}
1642
1643// ListInputs API operation for AWS IoT Events.
1644//
1645// Lists the inputs you have created.
1646//
1647// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1648// with awserr.Error's Code and Message methods to get detailed information about
1649// the error.
1650//
1651// See the AWS API reference guide for AWS IoT Events's
1652// API operation ListInputs for usage and error information.
1653//
1654// Returned Error Types:
1655//   * InvalidRequestException
1656//   The request was invalid.
1657//
1658//   * ThrottlingException
1659//   The request could not be completed due to throttling.
1660//
1661//   * InternalFailureException
1662//   An internal failure occurred.
1663//
1664//   * ServiceUnavailableException
1665//   The service is currently unavailable.
1666//
1667// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListInputs
1668func (c *IoTEvents) ListInputs(input *ListInputsInput) (*ListInputsOutput, error) {
1669	req, out := c.ListInputsRequest(input)
1670	return out, req.Send()
1671}
1672
1673// ListInputsWithContext is the same as ListInputs with the addition of
1674// the ability to pass a context and additional request options.
1675//
1676// See ListInputs for details on how to use this API operation.
1677//
1678// The context must be non-nil and will be used for request cancellation. If
1679// the context is nil a panic will occur. In the future the SDK may create
1680// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1681// for more information on using Contexts.
1682func (c *IoTEvents) ListInputsWithContext(ctx aws.Context, input *ListInputsInput, opts ...request.Option) (*ListInputsOutput, error) {
1683	req, out := c.ListInputsRequest(input)
1684	req.SetContext(ctx)
1685	req.ApplyOptions(opts...)
1686	return out, req.Send()
1687}
1688
1689const opListTagsForResource = "ListTagsForResource"
1690
1691// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1692// client's request for the ListTagsForResource operation. The "output" return
1693// value will be populated with the request's response once the request completes
1694// successfully.
1695//
1696// Use "Send" method on the returned Request to send the API call to the service.
1697// the "output" return value is not valid until after Send returns without error.
1698//
1699// See ListTagsForResource for more information on using the ListTagsForResource
1700// API call, and error handling.
1701//
1702// This method is useful when you want to inject custom logic or configuration
1703// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1704//
1705//
1706//    // Example sending a request using the ListTagsForResourceRequest method.
1707//    req, resp := client.ListTagsForResourceRequest(params)
1708//
1709//    err := req.Send()
1710//    if err == nil { // resp is now filled
1711//        fmt.Println(resp)
1712//    }
1713//
1714// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListTagsForResource
1715func (c *IoTEvents) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1716	op := &request.Operation{
1717		Name:       opListTagsForResource,
1718		HTTPMethod: "GET",
1719		HTTPPath:   "/tags",
1720	}
1721
1722	if input == nil {
1723		input = &ListTagsForResourceInput{}
1724	}
1725
1726	output = &ListTagsForResourceOutput{}
1727	req = c.newRequest(op, input, output)
1728	return
1729}
1730
1731// ListTagsForResource API operation for AWS IoT Events.
1732//
1733// Lists the tags (metadata) you have assigned to the resource.
1734//
1735// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1736// with awserr.Error's Code and Message methods to get detailed information about
1737// the error.
1738//
1739// See the AWS API reference guide for AWS IoT Events's
1740// API operation ListTagsForResource for usage and error information.
1741//
1742// Returned Error Types:
1743//   * InvalidRequestException
1744//   The request was invalid.
1745//
1746//   * ResourceNotFoundException
1747//   The resource was not found.
1748//
1749//   * ResourceInUseException
1750//   The resource is in use.
1751//
1752//   * ThrottlingException
1753//   The request could not be completed due to throttling.
1754//
1755//   * InternalFailureException
1756//   An internal failure occurred.
1757//
1758// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListTagsForResource
1759func (c *IoTEvents) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
1760	req, out := c.ListTagsForResourceRequest(input)
1761	return out, req.Send()
1762}
1763
1764// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
1765// the ability to pass a context and additional request options.
1766//
1767// See ListTagsForResource for details on how to use this API operation.
1768//
1769// The context must be non-nil and will be used for request cancellation. If
1770// the context is nil a panic will occur. In the future the SDK may create
1771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1772// for more information on using Contexts.
1773func (c *IoTEvents) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
1774	req, out := c.ListTagsForResourceRequest(input)
1775	req.SetContext(ctx)
1776	req.ApplyOptions(opts...)
1777	return out, req.Send()
1778}
1779
1780const opPutLoggingOptions = "PutLoggingOptions"
1781
1782// PutLoggingOptionsRequest generates a "aws/request.Request" representing the
1783// client's request for the PutLoggingOptions operation. The "output" return
1784// value will be populated with the request's response once the request completes
1785// successfully.
1786//
1787// Use "Send" method on the returned Request to send the API call to the service.
1788// the "output" return value is not valid until after Send returns without error.
1789//
1790// See PutLoggingOptions for more information on using the PutLoggingOptions
1791// API call, and error handling.
1792//
1793// This method is useful when you want to inject custom logic or configuration
1794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1795//
1796//
1797//    // Example sending a request using the PutLoggingOptionsRequest method.
1798//    req, resp := client.PutLoggingOptionsRequest(params)
1799//
1800//    err := req.Send()
1801//    if err == nil { // resp is now filled
1802//        fmt.Println(resp)
1803//    }
1804//
1805// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/PutLoggingOptions
1806func (c *IoTEvents) PutLoggingOptionsRequest(input *PutLoggingOptionsInput) (req *request.Request, output *PutLoggingOptionsOutput) {
1807	op := &request.Operation{
1808		Name:       opPutLoggingOptions,
1809		HTTPMethod: "PUT",
1810		HTTPPath:   "/logging",
1811	}
1812
1813	if input == nil {
1814		input = &PutLoggingOptionsInput{}
1815	}
1816
1817	output = &PutLoggingOptionsOutput{}
1818	req = c.newRequest(op, input, output)
1819	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1820	return
1821}
1822
1823// PutLoggingOptions API operation for AWS IoT Events.
1824//
1825// Sets or updates the AWS IoT Events logging options.
1826//
1827// If you update the value of any loggingOptions field, it takes up to one minute
1828// for the change to take effect. If you change the policy attached to the role
1829// you specified in the roleArn field (for example, to correct an invalid policy),
1830// it takes up to five minutes for that change to take effect.
1831//
1832// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1833// with awserr.Error's Code and Message methods to get detailed information about
1834// the error.
1835//
1836// See the AWS API reference guide for AWS IoT Events's
1837// API operation PutLoggingOptions for usage and error information.
1838//
1839// Returned Error Types:
1840//   * InvalidRequestException
1841//   The request was invalid.
1842//
1843//   * ThrottlingException
1844//   The request could not be completed due to throttling.
1845//
1846//   * InternalFailureException
1847//   An internal failure occurred.
1848//
1849//   * ServiceUnavailableException
1850//   The service is currently unavailable.
1851//
1852//   * UnsupportedOperationException
1853//   The requested operation is not supported.
1854//
1855//   * ResourceInUseException
1856//   The resource is in use.
1857//
1858// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/PutLoggingOptions
1859func (c *IoTEvents) PutLoggingOptions(input *PutLoggingOptionsInput) (*PutLoggingOptionsOutput, error) {
1860	req, out := c.PutLoggingOptionsRequest(input)
1861	return out, req.Send()
1862}
1863
1864// PutLoggingOptionsWithContext is the same as PutLoggingOptions with the addition of
1865// the ability to pass a context and additional request options.
1866//
1867// See PutLoggingOptions for details on how to use this API operation.
1868//
1869// The context must be non-nil and will be used for request cancellation. If
1870// the context is nil a panic will occur. In the future the SDK may create
1871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1872// for more information on using Contexts.
1873func (c *IoTEvents) PutLoggingOptionsWithContext(ctx aws.Context, input *PutLoggingOptionsInput, opts ...request.Option) (*PutLoggingOptionsOutput, error) {
1874	req, out := c.PutLoggingOptionsRequest(input)
1875	req.SetContext(ctx)
1876	req.ApplyOptions(opts...)
1877	return out, req.Send()
1878}
1879
1880const opStartDetectorModelAnalysis = "StartDetectorModelAnalysis"
1881
1882// StartDetectorModelAnalysisRequest generates a "aws/request.Request" representing the
1883// client's request for the StartDetectorModelAnalysis operation. The "output" return
1884// value will be populated with the request's response once the request completes
1885// successfully.
1886//
1887// Use "Send" method on the returned Request to send the API call to the service.
1888// the "output" return value is not valid until after Send returns without error.
1889//
1890// See StartDetectorModelAnalysis for more information on using the StartDetectorModelAnalysis
1891// API call, and error handling.
1892//
1893// This method is useful when you want to inject custom logic or configuration
1894// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1895//
1896//
1897//    // Example sending a request using the StartDetectorModelAnalysisRequest method.
1898//    req, resp := client.StartDetectorModelAnalysisRequest(params)
1899//
1900//    err := req.Send()
1901//    if err == nil { // resp is now filled
1902//        fmt.Println(resp)
1903//    }
1904//
1905// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/StartDetectorModelAnalysis
1906func (c *IoTEvents) StartDetectorModelAnalysisRequest(input *StartDetectorModelAnalysisInput) (req *request.Request, output *StartDetectorModelAnalysisOutput) {
1907	op := &request.Operation{
1908		Name:       opStartDetectorModelAnalysis,
1909		HTTPMethod: "POST",
1910		HTTPPath:   "/analysis/detector-models/",
1911	}
1912
1913	if input == nil {
1914		input = &StartDetectorModelAnalysisInput{}
1915	}
1916
1917	output = &StartDetectorModelAnalysisOutput{}
1918	req = c.newRequest(op, input, output)
1919	return
1920}
1921
1922// StartDetectorModelAnalysis API operation for AWS IoT Events.
1923//
1924// Performs an analysis of your detector model. For more information, see Troubleshooting
1925// a detector model (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html)
1926// in the AWS IoT Events Developer Guide.
1927//
1928// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1929// with awserr.Error's Code and Message methods to get detailed information about
1930// the error.
1931//
1932// See the AWS API reference guide for AWS IoT Events's
1933// API operation StartDetectorModelAnalysis for usage and error information.
1934//
1935// Returned Error Types:
1936//   * InvalidRequestException
1937//   The request was invalid.
1938//
1939//   * LimitExceededException
1940//   A limit was exceeded.
1941//
1942//   * ThrottlingException
1943//   The request could not be completed due to throttling.
1944//
1945//   * InternalFailureException
1946//   An internal failure occurred.
1947//
1948//   * ServiceUnavailableException
1949//   The service is currently unavailable.
1950//
1951// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/StartDetectorModelAnalysis
1952func (c *IoTEvents) StartDetectorModelAnalysis(input *StartDetectorModelAnalysisInput) (*StartDetectorModelAnalysisOutput, error) {
1953	req, out := c.StartDetectorModelAnalysisRequest(input)
1954	return out, req.Send()
1955}
1956
1957// StartDetectorModelAnalysisWithContext is the same as StartDetectorModelAnalysis with the addition of
1958// the ability to pass a context and additional request options.
1959//
1960// See StartDetectorModelAnalysis for details on how to use this API operation.
1961//
1962// The context must be non-nil and will be used for request cancellation. If
1963// the context is nil a panic will occur. In the future the SDK may create
1964// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1965// for more information on using Contexts.
1966func (c *IoTEvents) StartDetectorModelAnalysisWithContext(ctx aws.Context, input *StartDetectorModelAnalysisInput, opts ...request.Option) (*StartDetectorModelAnalysisOutput, error) {
1967	req, out := c.StartDetectorModelAnalysisRequest(input)
1968	req.SetContext(ctx)
1969	req.ApplyOptions(opts...)
1970	return out, req.Send()
1971}
1972
1973const opTagResource = "TagResource"
1974
1975// TagResourceRequest generates a "aws/request.Request" representing the
1976// client's request for the TagResource operation. The "output" return
1977// value will be populated with the request's response once the request completes
1978// successfully.
1979//
1980// Use "Send" method on the returned Request to send the API call to the service.
1981// the "output" return value is not valid until after Send returns without error.
1982//
1983// See TagResource for more information on using the TagResource
1984// API call, and error handling.
1985//
1986// This method is useful when you want to inject custom logic or configuration
1987// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1988//
1989//
1990//    // Example sending a request using the TagResourceRequest method.
1991//    req, resp := client.TagResourceRequest(params)
1992//
1993//    err := req.Send()
1994//    if err == nil { // resp is now filled
1995//        fmt.Println(resp)
1996//    }
1997//
1998// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/TagResource
1999func (c *IoTEvents) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2000	op := &request.Operation{
2001		Name:       opTagResource,
2002		HTTPMethod: "POST",
2003		HTTPPath:   "/tags",
2004	}
2005
2006	if input == nil {
2007		input = &TagResourceInput{}
2008	}
2009
2010	output = &TagResourceOutput{}
2011	req = c.newRequest(op, input, output)
2012	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2013	return
2014}
2015
2016// TagResource API operation for AWS IoT Events.
2017//
2018// Adds to or modifies the tags of the given resource. Tags are metadata that
2019// can be used to manage a resource.
2020//
2021// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2022// with awserr.Error's Code and Message methods to get detailed information about
2023// the error.
2024//
2025// See the AWS API reference guide for AWS IoT Events's
2026// API operation TagResource for usage and error information.
2027//
2028// Returned Error Types:
2029//   * InvalidRequestException
2030//   The request was invalid.
2031//
2032//   * ResourceNotFoundException
2033//   The resource was not found.
2034//
2035//   * ResourceInUseException
2036//   The resource is in use.
2037//
2038//   * ThrottlingException
2039//   The request could not be completed due to throttling.
2040//
2041//   * LimitExceededException
2042//   A limit was exceeded.
2043//
2044//   * InternalFailureException
2045//   An internal failure occurred.
2046//
2047// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/TagResource
2048func (c *IoTEvents) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2049	req, out := c.TagResourceRequest(input)
2050	return out, req.Send()
2051}
2052
2053// TagResourceWithContext is the same as TagResource with the addition of
2054// the ability to pass a context and additional request options.
2055//
2056// See TagResource for details on how to use this API operation.
2057//
2058// The context must be non-nil and will be used for request cancellation. If
2059// the context is nil a panic will occur. In the future the SDK may create
2060// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2061// for more information on using Contexts.
2062func (c *IoTEvents) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2063	req, out := c.TagResourceRequest(input)
2064	req.SetContext(ctx)
2065	req.ApplyOptions(opts...)
2066	return out, req.Send()
2067}
2068
2069const opUntagResource = "UntagResource"
2070
2071// UntagResourceRequest generates a "aws/request.Request" representing the
2072// client's request for the UntagResource operation. The "output" return
2073// value will be populated with the request's response once the request completes
2074// successfully.
2075//
2076// Use "Send" method on the returned Request to send the API call to the service.
2077// the "output" return value is not valid until after Send returns without error.
2078//
2079// See UntagResource for more information on using the UntagResource
2080// API call, and error handling.
2081//
2082// This method is useful when you want to inject custom logic or configuration
2083// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2084//
2085//
2086//    // Example sending a request using the UntagResourceRequest method.
2087//    req, resp := client.UntagResourceRequest(params)
2088//
2089//    err := req.Send()
2090//    if err == nil { // resp is now filled
2091//        fmt.Println(resp)
2092//    }
2093//
2094// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UntagResource
2095func (c *IoTEvents) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2096	op := &request.Operation{
2097		Name:       opUntagResource,
2098		HTTPMethod: "DELETE",
2099		HTTPPath:   "/tags",
2100	}
2101
2102	if input == nil {
2103		input = &UntagResourceInput{}
2104	}
2105
2106	output = &UntagResourceOutput{}
2107	req = c.newRequest(op, input, output)
2108	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2109	return
2110}
2111
2112// UntagResource API operation for AWS IoT Events.
2113//
2114// Removes the given tags (metadata) from the resource.
2115//
2116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2117// with awserr.Error's Code and Message methods to get detailed information about
2118// the error.
2119//
2120// See the AWS API reference guide for AWS IoT Events's
2121// API operation UntagResource for usage and error information.
2122//
2123// Returned Error Types:
2124//   * InvalidRequestException
2125//   The request was invalid.
2126//
2127//   * ResourceNotFoundException
2128//   The resource was not found.
2129//
2130//   * ResourceInUseException
2131//   The resource is in use.
2132//
2133//   * ThrottlingException
2134//   The request could not be completed due to throttling.
2135//
2136//   * InternalFailureException
2137//   An internal failure occurred.
2138//
2139// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UntagResource
2140func (c *IoTEvents) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2141	req, out := c.UntagResourceRequest(input)
2142	return out, req.Send()
2143}
2144
2145// UntagResourceWithContext is the same as UntagResource with the addition of
2146// the ability to pass a context and additional request options.
2147//
2148// See UntagResource for details on how to use this API operation.
2149//
2150// The context must be non-nil and will be used for request cancellation. If
2151// the context is nil a panic will occur. In the future the SDK may create
2152// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2153// for more information on using Contexts.
2154func (c *IoTEvents) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2155	req, out := c.UntagResourceRequest(input)
2156	req.SetContext(ctx)
2157	req.ApplyOptions(opts...)
2158	return out, req.Send()
2159}
2160
2161const opUpdateAlarmModel = "UpdateAlarmModel"
2162
2163// UpdateAlarmModelRequest generates a "aws/request.Request" representing the
2164// client's request for the UpdateAlarmModel operation. The "output" return
2165// value will be populated with the request's response once the request completes
2166// successfully.
2167//
2168// Use "Send" method on the returned Request to send the API call to the service.
2169// the "output" return value is not valid until after Send returns without error.
2170//
2171// See UpdateAlarmModel for more information on using the UpdateAlarmModel
2172// API call, and error handling.
2173//
2174// This method is useful when you want to inject custom logic or configuration
2175// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2176//
2177//
2178//    // Example sending a request using the UpdateAlarmModelRequest method.
2179//    req, resp := client.UpdateAlarmModelRequest(params)
2180//
2181//    err := req.Send()
2182//    if err == nil { // resp is now filled
2183//        fmt.Println(resp)
2184//    }
2185//
2186// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateAlarmModel
2187func (c *IoTEvents) UpdateAlarmModelRequest(input *UpdateAlarmModelInput) (req *request.Request, output *UpdateAlarmModelOutput) {
2188	op := &request.Operation{
2189		Name:       opUpdateAlarmModel,
2190		HTTPMethod: "POST",
2191		HTTPPath:   "/alarm-models/{alarmModelName}",
2192	}
2193
2194	if input == nil {
2195		input = &UpdateAlarmModelInput{}
2196	}
2197
2198	output = &UpdateAlarmModelOutput{}
2199	req = c.newRequest(op, input, output)
2200	return
2201}
2202
2203// UpdateAlarmModel API operation for AWS IoT Events.
2204//
2205// Updates an alarm model. Any alarms that were created based on the previous
2206// version are deleted and then created again as new data arrives.
2207//
2208// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2209// with awserr.Error's Code and Message methods to get detailed information about
2210// the error.
2211//
2212// See the AWS API reference guide for AWS IoT Events's
2213// API operation UpdateAlarmModel for usage and error information.
2214//
2215// Returned Error Types:
2216//   * InvalidRequestException
2217//   The request was invalid.
2218//
2219//   * ResourceInUseException
2220//   The resource is in use.
2221//
2222//   * ResourceNotFoundException
2223//   The resource was not found.
2224//
2225//   * ThrottlingException
2226//   The request could not be completed due to throttling.
2227//
2228//   * InternalFailureException
2229//   An internal failure occurred.
2230//
2231//   * ServiceUnavailableException
2232//   The service is currently unavailable.
2233//
2234// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateAlarmModel
2235func (c *IoTEvents) UpdateAlarmModel(input *UpdateAlarmModelInput) (*UpdateAlarmModelOutput, error) {
2236	req, out := c.UpdateAlarmModelRequest(input)
2237	return out, req.Send()
2238}
2239
2240// UpdateAlarmModelWithContext is the same as UpdateAlarmModel with the addition of
2241// the ability to pass a context and additional request options.
2242//
2243// See UpdateAlarmModel for details on how to use this API operation.
2244//
2245// The context must be non-nil and will be used for request cancellation. If
2246// the context is nil a panic will occur. In the future the SDK may create
2247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2248// for more information on using Contexts.
2249func (c *IoTEvents) UpdateAlarmModelWithContext(ctx aws.Context, input *UpdateAlarmModelInput, opts ...request.Option) (*UpdateAlarmModelOutput, error) {
2250	req, out := c.UpdateAlarmModelRequest(input)
2251	req.SetContext(ctx)
2252	req.ApplyOptions(opts...)
2253	return out, req.Send()
2254}
2255
2256const opUpdateDetectorModel = "UpdateDetectorModel"
2257
2258// UpdateDetectorModelRequest generates a "aws/request.Request" representing the
2259// client's request for the UpdateDetectorModel operation. The "output" return
2260// value will be populated with the request's response once the request completes
2261// successfully.
2262//
2263// Use "Send" method on the returned Request to send the API call to the service.
2264// the "output" return value is not valid until after Send returns without error.
2265//
2266// See UpdateDetectorModel for more information on using the UpdateDetectorModel
2267// API call, and error handling.
2268//
2269// This method is useful when you want to inject custom logic or configuration
2270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2271//
2272//
2273//    // Example sending a request using the UpdateDetectorModelRequest method.
2274//    req, resp := client.UpdateDetectorModelRequest(params)
2275//
2276//    err := req.Send()
2277//    if err == nil { // resp is now filled
2278//        fmt.Println(resp)
2279//    }
2280//
2281// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateDetectorModel
2282func (c *IoTEvents) UpdateDetectorModelRequest(input *UpdateDetectorModelInput) (req *request.Request, output *UpdateDetectorModelOutput) {
2283	op := &request.Operation{
2284		Name:       opUpdateDetectorModel,
2285		HTTPMethod: "POST",
2286		HTTPPath:   "/detector-models/{detectorModelName}",
2287	}
2288
2289	if input == nil {
2290		input = &UpdateDetectorModelInput{}
2291	}
2292
2293	output = &UpdateDetectorModelOutput{}
2294	req = c.newRequest(op, input, output)
2295	return
2296}
2297
2298// UpdateDetectorModel API operation for AWS IoT Events.
2299//
2300// Updates a detector model. Detectors (instances) spawned by the previous version
2301// are deleted and then re-created as new inputs arrive.
2302//
2303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2304// with awserr.Error's Code and Message methods to get detailed information about
2305// the error.
2306//
2307// See the AWS API reference guide for AWS IoT Events's
2308// API operation UpdateDetectorModel for usage and error information.
2309//
2310// Returned Error Types:
2311//   * InvalidRequestException
2312//   The request was invalid.
2313//
2314//   * ResourceInUseException
2315//   The resource is in use.
2316//
2317//   * ResourceNotFoundException
2318//   The resource was not found.
2319//
2320//   * ThrottlingException
2321//   The request could not be completed due to throttling.
2322//
2323//   * InternalFailureException
2324//   An internal failure occurred.
2325//
2326//   * ServiceUnavailableException
2327//   The service is currently unavailable.
2328//
2329// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateDetectorModel
2330func (c *IoTEvents) UpdateDetectorModel(input *UpdateDetectorModelInput) (*UpdateDetectorModelOutput, error) {
2331	req, out := c.UpdateDetectorModelRequest(input)
2332	return out, req.Send()
2333}
2334
2335// UpdateDetectorModelWithContext is the same as UpdateDetectorModel with the addition of
2336// the ability to pass a context and additional request options.
2337//
2338// See UpdateDetectorModel for details on how to use this API operation.
2339//
2340// The context must be non-nil and will be used for request cancellation. If
2341// the context is nil a panic will occur. In the future the SDK may create
2342// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2343// for more information on using Contexts.
2344func (c *IoTEvents) UpdateDetectorModelWithContext(ctx aws.Context, input *UpdateDetectorModelInput, opts ...request.Option) (*UpdateDetectorModelOutput, error) {
2345	req, out := c.UpdateDetectorModelRequest(input)
2346	req.SetContext(ctx)
2347	req.ApplyOptions(opts...)
2348	return out, req.Send()
2349}
2350
2351const opUpdateInput = "UpdateInput"
2352
2353// UpdateInputRequest generates a "aws/request.Request" representing the
2354// client's request for the UpdateInput operation. The "output" return
2355// value will be populated with the request's response once the request completes
2356// successfully.
2357//
2358// Use "Send" method on the returned Request to send the API call to the service.
2359// the "output" return value is not valid until after Send returns without error.
2360//
2361// See UpdateInput for more information on using the UpdateInput
2362// API call, and error handling.
2363//
2364// This method is useful when you want to inject custom logic or configuration
2365// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2366//
2367//
2368//    // Example sending a request using the UpdateInputRequest method.
2369//    req, resp := client.UpdateInputRequest(params)
2370//
2371//    err := req.Send()
2372//    if err == nil { // resp is now filled
2373//        fmt.Println(resp)
2374//    }
2375//
2376// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateInput
2377func (c *IoTEvents) UpdateInputRequest(input *UpdateInputInput) (req *request.Request, output *UpdateInputOutput) {
2378	op := &request.Operation{
2379		Name:       opUpdateInput,
2380		HTTPMethod: "PUT",
2381		HTTPPath:   "/inputs/{inputName}",
2382	}
2383
2384	if input == nil {
2385		input = &UpdateInputInput{}
2386	}
2387
2388	output = &UpdateInputOutput{}
2389	req = c.newRequest(op, input, output)
2390	return
2391}
2392
2393// UpdateInput API operation for AWS IoT Events.
2394//
2395// Updates an input.
2396//
2397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2398// with awserr.Error's Code and Message methods to get detailed information about
2399// the error.
2400//
2401// See the AWS API reference guide for AWS IoT Events's
2402// API operation UpdateInput for usage and error information.
2403//
2404// Returned Error Types:
2405//   * InvalidRequestException
2406//   The request was invalid.
2407//
2408//   * ThrottlingException
2409//   The request could not be completed due to throttling.
2410//
2411//   * ResourceNotFoundException
2412//   The resource was not found.
2413//
2414//   * InternalFailureException
2415//   An internal failure occurred.
2416//
2417//   * ServiceUnavailableException
2418//   The service is currently unavailable.
2419//
2420//   * ResourceInUseException
2421//   The resource is in use.
2422//
2423// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateInput
2424func (c *IoTEvents) UpdateInput(input *UpdateInputInput) (*UpdateInputOutput, error) {
2425	req, out := c.UpdateInputRequest(input)
2426	return out, req.Send()
2427}
2428
2429// UpdateInputWithContext is the same as UpdateInput with the addition of
2430// the ability to pass a context and additional request options.
2431//
2432// See UpdateInput for details on how to use this API operation.
2433//
2434// The context must be non-nil and will be used for request cancellation. If
2435// the context is nil a panic will occur. In the future the SDK may create
2436// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2437// for more information on using Contexts.
2438func (c *IoTEvents) UpdateInputWithContext(ctx aws.Context, input *UpdateInputInput, opts ...request.Option) (*UpdateInputOutput, error) {
2439	req, out := c.UpdateInputRequest(input)
2440	req.SetContext(ctx)
2441	req.ApplyOptions(opts...)
2442	return out, req.Send()
2443}
2444
2445// Specifies whether to get notified for alarm state changes.
2446type AcknowledgeFlow struct {
2447	_ struct{} `type:"structure"`
2448
2449	// The value must be TRUE or FALSE. If TRUE, you receive a notification when
2450	// the alarm state changes. You must choose to acknowledge the notification
2451	// before the alarm state can return to NORMAL. If FALSE, you won't receive
2452	// notifications. The alarm automatically changes to the NORMAL state when the
2453	// input property value returns to the specified range.
2454	//
2455	// Enabled is a required field
2456	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
2457}
2458
2459// String returns the string representation
2460func (s AcknowledgeFlow) String() string {
2461	return awsutil.Prettify(s)
2462}
2463
2464// GoString returns the string representation
2465func (s AcknowledgeFlow) GoString() string {
2466	return s.String()
2467}
2468
2469// Validate inspects the fields of the type to determine if they are valid.
2470func (s *AcknowledgeFlow) Validate() error {
2471	invalidParams := request.ErrInvalidParams{Context: "AcknowledgeFlow"}
2472	if s.Enabled == nil {
2473		invalidParams.Add(request.NewErrParamRequired("Enabled"))
2474	}
2475
2476	if invalidParams.Len() > 0 {
2477		return invalidParams
2478	}
2479	return nil
2480}
2481
2482// SetEnabled sets the Enabled field's value.
2483func (s *AcknowledgeFlow) SetEnabled(v bool) *AcknowledgeFlow {
2484	s.Enabled = &v
2485	return s
2486}
2487
2488// Sends an AWS IoT Events input, passing in information about the detector
2489// model instance and the event that triggered the action.
2490type Action struct {
2491	_ struct{} `type:"structure"`
2492
2493	// The name of the AWS IoT Events input where the data is sent.
2494	//
2495	// InputName is a required field
2496	InputName *string `locationName:"inputName" min:"1" type:"string" required:"true"`
2497
2498	// You can configure the action payload when you send a message to an AWS IoT
2499	// Events input.
2500	Payload *Payload `locationName:"payload" type:"structure"`
2501}
2502
2503// String returns the string representation
2504func (s Action) String() string {
2505	return awsutil.Prettify(s)
2506}
2507
2508// GoString returns the string representation
2509func (s Action) GoString() string {
2510	return s.String()
2511}
2512
2513// Validate inspects the fields of the type to determine if they are valid.
2514func (s *Action) Validate() error {
2515	invalidParams := request.ErrInvalidParams{Context: "Action"}
2516	if s.InputName == nil {
2517		invalidParams.Add(request.NewErrParamRequired("InputName"))
2518	}
2519	if s.InputName != nil && len(*s.InputName) < 1 {
2520		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
2521	}
2522	if s.Payload != nil {
2523		if err := s.Payload.Validate(); err != nil {
2524			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
2525		}
2526	}
2527
2528	if invalidParams.Len() > 0 {
2529		return invalidParams
2530	}
2531	return nil
2532}
2533
2534// SetInputName sets the InputName field's value.
2535func (s *Action) SetInputName(v string) *Action {
2536	s.InputName = &v
2537	return s
2538}
2539
2540// SetPayload sets the Payload field's value.
2541func (s *Action) SetPayload(v *Payload) *Action {
2542	s.Payload = v
2543	return s
2544}
2545
2546// An action to be performed when the condition is TRUE.
2547type ActionData struct {
2548	_ struct{} `type:"structure"`
2549
2550	// Information needed to clear the timer.
2551	ClearTimer *ClearTimerAction `locationName:"clearTimer" type:"structure"`
2552
2553	// Writes to the DynamoDB table that you created. The default action payload
2554	// contains all attribute-value pairs that have the information about the detector
2555	// model instance and the event that triggered the action. You can customize
2556	// the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
2557	// One column of the DynamoDB table receives all attribute-value pairs in the
2558	// payload that you specify. For more information, see Actions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html)
2559	// in AWS IoT Events Developer Guide.
2560	DynamoDB *DynamoDBAction `locationName:"dynamoDB" type:"structure"`
2561
2562	// Writes to the DynamoDB table that you created. The default action payload
2563	// contains all attribute-value pairs that have the information about the detector
2564	// model instance and the event that triggered the action. You can customize
2565	// the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
2566	// A separate column of the DynamoDB table receives one attribute-value pair
2567	// in the payload that you specify. For more information, see Actions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html)
2568	// in AWS IoT Events Developer Guide.
2569	DynamoDBv2 *DynamoDBv2Action `locationName:"dynamoDBv2" type:"structure"`
2570
2571	// Sends information about the detector model instance and the event that triggered
2572	// the action to an Amazon Kinesis Data Firehose delivery stream.
2573	Firehose *FirehoseAction `locationName:"firehose" type:"structure"`
2574
2575	// Sends AWS IoT Events input, which passes information about the detector model
2576	// instance and the event that triggered the action.
2577	IotEvents *Action `locationName:"iotEvents" type:"structure"`
2578
2579	// Sends information about the detector model instance and the event that triggered
2580	// the action to an asset property in AWS IoT SiteWise .
2581	IotSiteWise *IotSiteWiseAction `locationName:"iotSiteWise" type:"structure"`
2582
2583	// Publishes an MQTT message with the given topic to the AWS IoT message broker.
2584	IotTopicPublish *IotTopicPublishAction `locationName:"iotTopicPublish" type:"structure"`
2585
2586	// Calls a Lambda function, passing in information about the detector model
2587	// instance and the event that triggered the action.
2588	Lambda *LambdaAction `locationName:"lambda" type:"structure"`
2589
2590	// Information needed to reset the timer.
2591	ResetTimer *ResetTimerAction `locationName:"resetTimer" type:"structure"`
2592
2593	// Information needed to set the timer.
2594	SetTimer *SetTimerAction `locationName:"setTimer" type:"structure"`
2595
2596	// Sets a variable to a specified value.
2597	SetVariable *SetVariableAction `locationName:"setVariable" type:"structure"`
2598
2599	// Sends an Amazon SNS message.
2600	Sns *SNSTopicPublishAction `locationName:"sns" type:"structure"`
2601
2602	// Sends information about the detector model instance and the event that triggered
2603	// the action to an Amazon SQS queue.
2604	Sqs *SqsAction `locationName:"sqs" type:"structure"`
2605}
2606
2607// String returns the string representation
2608func (s ActionData) String() string {
2609	return awsutil.Prettify(s)
2610}
2611
2612// GoString returns the string representation
2613func (s ActionData) GoString() string {
2614	return s.String()
2615}
2616
2617// Validate inspects the fields of the type to determine if they are valid.
2618func (s *ActionData) Validate() error {
2619	invalidParams := request.ErrInvalidParams{Context: "ActionData"}
2620	if s.ClearTimer != nil {
2621		if err := s.ClearTimer.Validate(); err != nil {
2622			invalidParams.AddNested("ClearTimer", err.(request.ErrInvalidParams))
2623		}
2624	}
2625	if s.DynamoDB != nil {
2626		if err := s.DynamoDB.Validate(); err != nil {
2627			invalidParams.AddNested("DynamoDB", err.(request.ErrInvalidParams))
2628		}
2629	}
2630	if s.DynamoDBv2 != nil {
2631		if err := s.DynamoDBv2.Validate(); err != nil {
2632			invalidParams.AddNested("DynamoDBv2", err.(request.ErrInvalidParams))
2633		}
2634	}
2635	if s.Firehose != nil {
2636		if err := s.Firehose.Validate(); err != nil {
2637			invalidParams.AddNested("Firehose", err.(request.ErrInvalidParams))
2638		}
2639	}
2640	if s.IotEvents != nil {
2641		if err := s.IotEvents.Validate(); err != nil {
2642			invalidParams.AddNested("IotEvents", err.(request.ErrInvalidParams))
2643		}
2644	}
2645	if s.IotSiteWise != nil {
2646		if err := s.IotSiteWise.Validate(); err != nil {
2647			invalidParams.AddNested("IotSiteWise", err.(request.ErrInvalidParams))
2648		}
2649	}
2650	if s.IotTopicPublish != nil {
2651		if err := s.IotTopicPublish.Validate(); err != nil {
2652			invalidParams.AddNested("IotTopicPublish", err.(request.ErrInvalidParams))
2653		}
2654	}
2655	if s.Lambda != nil {
2656		if err := s.Lambda.Validate(); err != nil {
2657			invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams))
2658		}
2659	}
2660	if s.ResetTimer != nil {
2661		if err := s.ResetTimer.Validate(); err != nil {
2662			invalidParams.AddNested("ResetTimer", err.(request.ErrInvalidParams))
2663		}
2664	}
2665	if s.SetTimer != nil {
2666		if err := s.SetTimer.Validate(); err != nil {
2667			invalidParams.AddNested("SetTimer", err.(request.ErrInvalidParams))
2668		}
2669	}
2670	if s.SetVariable != nil {
2671		if err := s.SetVariable.Validate(); err != nil {
2672			invalidParams.AddNested("SetVariable", err.(request.ErrInvalidParams))
2673		}
2674	}
2675	if s.Sns != nil {
2676		if err := s.Sns.Validate(); err != nil {
2677			invalidParams.AddNested("Sns", err.(request.ErrInvalidParams))
2678		}
2679	}
2680	if s.Sqs != nil {
2681		if err := s.Sqs.Validate(); err != nil {
2682			invalidParams.AddNested("Sqs", err.(request.ErrInvalidParams))
2683		}
2684	}
2685
2686	if invalidParams.Len() > 0 {
2687		return invalidParams
2688	}
2689	return nil
2690}
2691
2692// SetClearTimer sets the ClearTimer field's value.
2693func (s *ActionData) SetClearTimer(v *ClearTimerAction) *ActionData {
2694	s.ClearTimer = v
2695	return s
2696}
2697
2698// SetDynamoDB sets the DynamoDB field's value.
2699func (s *ActionData) SetDynamoDB(v *DynamoDBAction) *ActionData {
2700	s.DynamoDB = v
2701	return s
2702}
2703
2704// SetDynamoDBv2 sets the DynamoDBv2 field's value.
2705func (s *ActionData) SetDynamoDBv2(v *DynamoDBv2Action) *ActionData {
2706	s.DynamoDBv2 = v
2707	return s
2708}
2709
2710// SetFirehose sets the Firehose field's value.
2711func (s *ActionData) SetFirehose(v *FirehoseAction) *ActionData {
2712	s.Firehose = v
2713	return s
2714}
2715
2716// SetIotEvents sets the IotEvents field's value.
2717func (s *ActionData) SetIotEvents(v *Action) *ActionData {
2718	s.IotEvents = v
2719	return s
2720}
2721
2722// SetIotSiteWise sets the IotSiteWise field's value.
2723func (s *ActionData) SetIotSiteWise(v *IotSiteWiseAction) *ActionData {
2724	s.IotSiteWise = v
2725	return s
2726}
2727
2728// SetIotTopicPublish sets the IotTopicPublish field's value.
2729func (s *ActionData) SetIotTopicPublish(v *IotTopicPublishAction) *ActionData {
2730	s.IotTopicPublish = v
2731	return s
2732}
2733
2734// SetLambda sets the Lambda field's value.
2735func (s *ActionData) SetLambda(v *LambdaAction) *ActionData {
2736	s.Lambda = v
2737	return s
2738}
2739
2740// SetResetTimer sets the ResetTimer field's value.
2741func (s *ActionData) SetResetTimer(v *ResetTimerAction) *ActionData {
2742	s.ResetTimer = v
2743	return s
2744}
2745
2746// SetSetTimer sets the SetTimer field's value.
2747func (s *ActionData) SetSetTimer(v *SetTimerAction) *ActionData {
2748	s.SetTimer = v
2749	return s
2750}
2751
2752// SetSetVariable sets the SetVariable field's value.
2753func (s *ActionData) SetSetVariable(v *SetVariableAction) *ActionData {
2754	s.SetVariable = v
2755	return s
2756}
2757
2758// SetSns sets the Sns field's value.
2759func (s *ActionData) SetSns(v *SNSTopicPublishAction) *ActionData {
2760	s.Sns = v
2761	return s
2762}
2763
2764// SetSqs sets the Sqs field's value.
2765func (s *ActionData) SetSqs(v *SqsAction) *ActionData {
2766	s.Sqs = v
2767	return s
2768}
2769
2770// Specifies one of the following actions to receive notifications when the
2771// alarm state changes.
2772type AlarmAction struct {
2773	_ struct{} `type:"structure"`
2774
2775	// Defines an action to write to the Amazon DynamoDB table that you created.
2776	// The standard action payload contains all the information about the detector
2777	// model instance and the event that triggered the action. You can customize
2778	// the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
2779	// One column of the DynamoDB table receives all attribute-value pairs in the
2780	// payload that you specify.
2781	//
2782	// You must use expressions for all parameters in DynamoDBAction. The expressions
2783	// accept literals, operators, functions, references, and substitution templates.
2784	//
2785	// Examples
2786	//
2787	//    * For literal values, the expressions must contain single quotes. For
2788	//    example, the value for the hashKeyType parameter can be 'STRING'.
2789	//
2790	//    * For references, you must specify either variables or input values. For
2791	//    example, the value for the hashKeyField parameter can be $input.GreenhouseInput.name.
2792	//
2793	//    * For a substitution template, you must use ${}, and the template must
2794	//    be in single quotes. A substitution template can also contain a combination
2795	//    of literals, operators, functions, references, and substitution templates.
2796	//    In the following example, the value for the hashKeyValue parameter uses
2797	//    a substitution template. '${$input.GreenhouseInput.temperature * 6 / 5
2798	//    + 32} in Fahrenheit'
2799	//
2800	//    * For a string concatenation, you must use +. A string concatenation can
2801	//    also contain a combination of literals, operators, functions, references,
2802	//    and substitution templates. In the following example, the value for the
2803	//    tableName parameter uses a string concatenation. 'GreenhouseTemperatureTable
2804	//    ' + $input.GreenhouseInput.date
2805	//
2806	// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
2807	// in the AWS IoT Events Developer Guide.
2808	//
2809	// If the defined payload type is a string, DynamoDBAction writes non-JSON data
2810	// to the DynamoDB table as binary data. The DynamoDB console displays the data
2811	// as Base64-encoded text. The value for the payloadField parameter is <payload-field>_raw.
2812	DynamoDB *DynamoDBAction `locationName:"dynamoDB" type:"structure"`
2813
2814	// Defines an action to write to the Amazon DynamoDB table that you created.
2815	// The default action payload contains all the information about the detector
2816	// model instance and the event that triggered the action. You can customize
2817	// the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
2818	// A separate column of the DynamoDB table receives one attribute-value pair
2819	// in the payload that you specify.
2820	//
2821	// You must use expressions for all parameters in DynamoDBv2Action. The expressions
2822	// accept literals, operators, functions, references, and substitution templates.
2823	//
2824	// Examples
2825	//
2826	//    * For literal values, the expressions must contain single quotes. For
2827	//    example, the value for the tableName parameter can be 'GreenhouseTemperatureTable'.
2828	//
2829	//    * For references, you must specify either variables or input values. For
2830	//    example, the value for the tableName parameter can be $variable.ddbtableName.
2831	//
2832	//    * For a substitution template, you must use ${}, and the template must
2833	//    be in single quotes. A substitution template can also contain a combination
2834	//    of literals, operators, functions, references, and substitution templates.
2835	//    In the following example, the value for the contentExpression parameter
2836	//    in Payload uses a substitution template. '{\"sensorID\": \"${$input.GreenhouseInput.sensor_id}\",
2837	//    \"temperature\": \"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\"}'
2838	//
2839	//    * For a string concatenation, you must use +. A string concatenation can
2840	//    also contain a combination of literals, operators, functions, references,
2841	//    and substitution templates. In the following example, the value for the
2842	//    tableName parameter uses a string concatenation. 'GreenhouseTemperatureTable
2843	//    ' + $input.GreenhouseInput.date
2844	//
2845	// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
2846	// in the AWS IoT Events Developer Guide.
2847	//
2848	// The value for the type parameter in Payload must be JSON.
2849	DynamoDBv2 *DynamoDBv2Action `locationName:"dynamoDBv2" type:"structure"`
2850
2851	// Sends information about the detector model instance and the event that triggered
2852	// the action to an Amazon Kinesis Data Firehose delivery stream.
2853	Firehose *FirehoseAction `locationName:"firehose" type:"structure"`
2854
2855	// Sends an AWS IoT Events input, passing in information about the detector
2856	// model instance and the event that triggered the action.
2857	IotEvents *Action `locationName:"iotEvents" type:"structure"`
2858
2859	// Sends information about the detector model instance and the event that triggered
2860	// the action to a specified asset property in AWS IoT SiteWise.
2861	//
2862	// You must use expressions for all parameters in IotSiteWiseAction. The expressions
2863	// accept literals, operators, functions, references, and substitutions templates.
2864	//
2865	// Examples
2866	//
2867	//    * For literal values, the expressions must contain single quotes. For
2868	//    example, the value for the propertyAlias parameter can be '/company/windfarm/3/turbine/7/temperature'.
2869	//
2870	//    * For references, you must specify either variables or input values. For
2871	//    example, the value for the assetId parameter can be $input.TurbineInput.assetId1.
2872	//
2873	//    * For a substitution template, you must use ${}, and the template must
2874	//    be in single quotes. A substitution template can also contain a combination
2875	//    of literals, operators, functions, references, and substitution templates.
2876	//    In the following example, the value for the propertyAlias parameter uses
2877	//    a substitution template. 'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/
2878	//    ${$input.TemperatureInput.sensorData.turbineID}/temperature'
2879	//
2880	// You must specify either propertyAlias or both assetId and propertyId to identify
2881	// the target asset property in AWS IoT SiteWise.
2882	//
2883	// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
2884	// in the AWS IoT Events Developer Guide.
2885	IotSiteWise *IotSiteWiseAction `locationName:"iotSiteWise" type:"structure"`
2886
2887	// Information required to publish the MQTT message through the AWS IoT message
2888	// broker.
2889	IotTopicPublish *IotTopicPublishAction `locationName:"iotTopicPublish" type:"structure"`
2890
2891	// Calls a Lambda function, passing in information about the detector model
2892	// instance and the event that triggered the action.
2893	Lambda *LambdaAction `locationName:"lambda" type:"structure"`
2894
2895	// Information required to publish the Amazon SNS message.
2896	Sns *SNSTopicPublishAction `locationName:"sns" type:"structure"`
2897
2898	// Sends information about the detector model instance and the event that triggered
2899	// the action to an Amazon SQS queue.
2900	Sqs *SqsAction `locationName:"sqs" type:"structure"`
2901}
2902
2903// String returns the string representation
2904func (s AlarmAction) String() string {
2905	return awsutil.Prettify(s)
2906}
2907
2908// GoString returns the string representation
2909func (s AlarmAction) GoString() string {
2910	return s.String()
2911}
2912
2913// Validate inspects the fields of the type to determine if they are valid.
2914func (s *AlarmAction) Validate() error {
2915	invalidParams := request.ErrInvalidParams{Context: "AlarmAction"}
2916	if s.DynamoDB != nil {
2917		if err := s.DynamoDB.Validate(); err != nil {
2918			invalidParams.AddNested("DynamoDB", err.(request.ErrInvalidParams))
2919		}
2920	}
2921	if s.DynamoDBv2 != nil {
2922		if err := s.DynamoDBv2.Validate(); err != nil {
2923			invalidParams.AddNested("DynamoDBv2", err.(request.ErrInvalidParams))
2924		}
2925	}
2926	if s.Firehose != nil {
2927		if err := s.Firehose.Validate(); err != nil {
2928			invalidParams.AddNested("Firehose", err.(request.ErrInvalidParams))
2929		}
2930	}
2931	if s.IotEvents != nil {
2932		if err := s.IotEvents.Validate(); err != nil {
2933			invalidParams.AddNested("IotEvents", err.(request.ErrInvalidParams))
2934		}
2935	}
2936	if s.IotSiteWise != nil {
2937		if err := s.IotSiteWise.Validate(); err != nil {
2938			invalidParams.AddNested("IotSiteWise", err.(request.ErrInvalidParams))
2939		}
2940	}
2941	if s.IotTopicPublish != nil {
2942		if err := s.IotTopicPublish.Validate(); err != nil {
2943			invalidParams.AddNested("IotTopicPublish", err.(request.ErrInvalidParams))
2944		}
2945	}
2946	if s.Lambda != nil {
2947		if err := s.Lambda.Validate(); err != nil {
2948			invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams))
2949		}
2950	}
2951	if s.Sns != nil {
2952		if err := s.Sns.Validate(); err != nil {
2953			invalidParams.AddNested("Sns", err.(request.ErrInvalidParams))
2954		}
2955	}
2956	if s.Sqs != nil {
2957		if err := s.Sqs.Validate(); err != nil {
2958			invalidParams.AddNested("Sqs", err.(request.ErrInvalidParams))
2959		}
2960	}
2961
2962	if invalidParams.Len() > 0 {
2963		return invalidParams
2964	}
2965	return nil
2966}
2967
2968// SetDynamoDB sets the DynamoDB field's value.
2969func (s *AlarmAction) SetDynamoDB(v *DynamoDBAction) *AlarmAction {
2970	s.DynamoDB = v
2971	return s
2972}
2973
2974// SetDynamoDBv2 sets the DynamoDBv2 field's value.
2975func (s *AlarmAction) SetDynamoDBv2(v *DynamoDBv2Action) *AlarmAction {
2976	s.DynamoDBv2 = v
2977	return s
2978}
2979
2980// SetFirehose sets the Firehose field's value.
2981func (s *AlarmAction) SetFirehose(v *FirehoseAction) *AlarmAction {
2982	s.Firehose = v
2983	return s
2984}
2985
2986// SetIotEvents sets the IotEvents field's value.
2987func (s *AlarmAction) SetIotEvents(v *Action) *AlarmAction {
2988	s.IotEvents = v
2989	return s
2990}
2991
2992// SetIotSiteWise sets the IotSiteWise field's value.
2993func (s *AlarmAction) SetIotSiteWise(v *IotSiteWiseAction) *AlarmAction {
2994	s.IotSiteWise = v
2995	return s
2996}
2997
2998// SetIotTopicPublish sets the IotTopicPublish field's value.
2999func (s *AlarmAction) SetIotTopicPublish(v *IotTopicPublishAction) *AlarmAction {
3000	s.IotTopicPublish = v
3001	return s
3002}
3003
3004// SetLambda sets the Lambda field's value.
3005func (s *AlarmAction) SetLambda(v *LambdaAction) *AlarmAction {
3006	s.Lambda = v
3007	return s
3008}
3009
3010// SetSns sets the Sns field's value.
3011func (s *AlarmAction) SetSns(v *SNSTopicPublishAction) *AlarmAction {
3012	s.Sns = v
3013	return s
3014}
3015
3016// SetSqs sets the Sqs field's value.
3017func (s *AlarmAction) SetSqs(v *SqsAction) *AlarmAction {
3018	s.Sqs = v
3019	return s
3020}
3021
3022// Contains the configuration information of alarm state changes.
3023type AlarmCapabilities struct {
3024	_ struct{} `type:"structure"`
3025
3026	// Specifies whether to get notified for alarm state changes.
3027	AcknowledgeFlow *AcknowledgeFlow `locationName:"acknowledgeFlow" type:"structure"`
3028
3029	// Specifies the default alarm state. The configuration applies to all alarms
3030	// that were created based on this alarm model.
3031	InitializationConfiguration *InitializationConfiguration `locationName:"initializationConfiguration" type:"structure"`
3032}
3033
3034// String returns the string representation
3035func (s AlarmCapabilities) String() string {
3036	return awsutil.Prettify(s)
3037}
3038
3039// GoString returns the string representation
3040func (s AlarmCapabilities) GoString() string {
3041	return s.String()
3042}
3043
3044// Validate inspects the fields of the type to determine if they are valid.
3045func (s *AlarmCapabilities) Validate() error {
3046	invalidParams := request.ErrInvalidParams{Context: "AlarmCapabilities"}
3047	if s.AcknowledgeFlow != nil {
3048		if err := s.AcknowledgeFlow.Validate(); err != nil {
3049			invalidParams.AddNested("AcknowledgeFlow", err.(request.ErrInvalidParams))
3050		}
3051	}
3052	if s.InitializationConfiguration != nil {
3053		if err := s.InitializationConfiguration.Validate(); err != nil {
3054			invalidParams.AddNested("InitializationConfiguration", err.(request.ErrInvalidParams))
3055		}
3056	}
3057
3058	if invalidParams.Len() > 0 {
3059		return invalidParams
3060	}
3061	return nil
3062}
3063
3064// SetAcknowledgeFlow sets the AcknowledgeFlow field's value.
3065func (s *AlarmCapabilities) SetAcknowledgeFlow(v *AcknowledgeFlow) *AlarmCapabilities {
3066	s.AcknowledgeFlow = v
3067	return s
3068}
3069
3070// SetInitializationConfiguration sets the InitializationConfiguration field's value.
3071func (s *AlarmCapabilities) SetInitializationConfiguration(v *InitializationConfiguration) *AlarmCapabilities {
3072	s.InitializationConfiguration = v
3073	return s
3074}
3075
3076// Contains information about one or more alarm actions.
3077type AlarmEventActions struct {
3078	_ struct{} `type:"structure"`
3079
3080	// Specifies one or more supported actions to receive notifications when the
3081	// alarm state changes.
3082	AlarmActions []*AlarmAction `locationName:"alarmActions" type:"list"`
3083}
3084
3085// String returns the string representation
3086func (s AlarmEventActions) String() string {
3087	return awsutil.Prettify(s)
3088}
3089
3090// GoString returns the string representation
3091func (s AlarmEventActions) GoString() string {
3092	return s.String()
3093}
3094
3095// Validate inspects the fields of the type to determine if they are valid.
3096func (s *AlarmEventActions) Validate() error {
3097	invalidParams := request.ErrInvalidParams{Context: "AlarmEventActions"}
3098	if s.AlarmActions != nil {
3099		for i, v := range s.AlarmActions {
3100			if v == nil {
3101				continue
3102			}
3103			if err := v.Validate(); err != nil {
3104				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AlarmActions", i), err.(request.ErrInvalidParams))
3105			}
3106		}
3107	}
3108
3109	if invalidParams.Len() > 0 {
3110		return invalidParams
3111	}
3112	return nil
3113}
3114
3115// SetAlarmActions sets the AlarmActions field's value.
3116func (s *AlarmEventActions) SetAlarmActions(v []*AlarmAction) *AlarmEventActions {
3117	s.AlarmActions = v
3118	return s
3119}
3120
3121// Contains a summary of an alarm model.
3122type AlarmModelSummary struct {
3123	_ struct{} `type:"structure"`
3124
3125	// The description of the alarm model.
3126	AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"`
3127
3128	// The name of the alarm model.
3129	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"`
3130
3131	// The time the alarm model was created, in the Unix epoch format.
3132	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
3133}
3134
3135// String returns the string representation
3136func (s AlarmModelSummary) String() string {
3137	return awsutil.Prettify(s)
3138}
3139
3140// GoString returns the string representation
3141func (s AlarmModelSummary) GoString() string {
3142	return s.String()
3143}
3144
3145// SetAlarmModelDescription sets the AlarmModelDescription field's value.
3146func (s *AlarmModelSummary) SetAlarmModelDescription(v string) *AlarmModelSummary {
3147	s.AlarmModelDescription = &v
3148	return s
3149}
3150
3151// SetAlarmModelName sets the AlarmModelName field's value.
3152func (s *AlarmModelSummary) SetAlarmModelName(v string) *AlarmModelSummary {
3153	s.AlarmModelName = &v
3154	return s
3155}
3156
3157// SetCreationTime sets the CreationTime field's value.
3158func (s *AlarmModelSummary) SetCreationTime(v time.Time) *AlarmModelSummary {
3159	s.CreationTime = &v
3160	return s
3161}
3162
3163// Contains a summary of an alarm model version.
3164type AlarmModelVersionSummary struct {
3165	_ struct{} `type:"structure"`
3166
3167	// The ARN of the alarm model. For more information, see Amazon Resource Names
3168	// (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
3169	// in the AWS General Reference.
3170	AlarmModelArn *string `locationName:"alarmModelArn" type:"string"`
3171
3172	// The name of the alarm model.
3173	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"`
3174
3175	// The version of the alarm model.
3176	AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"`
3177
3178	// The time the alarm model was created, in the Unix epoch format.
3179	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
3180
3181	// The time the alarm model was last updated, in the Unix epoch format.
3182	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
3183
3184	// The ARN of the IAM role that allows the alarm to perform actions and access
3185	// AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
3186	// in the AWS General Reference.
3187	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
3188
3189	// The status of the alarm model. The status can be one of the following values:
3190	//
3191	//    * ACTIVE - The alarm model is active and it's ready to evaluate data.
3192	//
3193	//    * ACTIVATING - AWS IoT Events is activating your alarm model. Activating
3194	//    an alarm model can take up to a few minutes.
3195	//
3196	//    * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate
3197	//    data. Check your alarm model information and update the alarm model.
3198	//
3199	//    * FAILED - You couldn't create or update the alarm model. Check your alarm
3200	//    model information and try again.
3201	Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"`
3202
3203	// Contains information about the status of the alarm model version.
3204	StatusMessage *string `locationName:"statusMessage" type:"string"`
3205}
3206
3207// String returns the string representation
3208func (s AlarmModelVersionSummary) String() string {
3209	return awsutil.Prettify(s)
3210}
3211
3212// GoString returns the string representation
3213func (s AlarmModelVersionSummary) GoString() string {
3214	return s.String()
3215}
3216
3217// SetAlarmModelArn sets the AlarmModelArn field's value.
3218func (s *AlarmModelVersionSummary) SetAlarmModelArn(v string) *AlarmModelVersionSummary {
3219	s.AlarmModelArn = &v
3220	return s
3221}
3222
3223// SetAlarmModelName sets the AlarmModelName field's value.
3224func (s *AlarmModelVersionSummary) SetAlarmModelName(v string) *AlarmModelVersionSummary {
3225	s.AlarmModelName = &v
3226	return s
3227}
3228
3229// SetAlarmModelVersion sets the AlarmModelVersion field's value.
3230func (s *AlarmModelVersionSummary) SetAlarmModelVersion(v string) *AlarmModelVersionSummary {
3231	s.AlarmModelVersion = &v
3232	return s
3233}
3234
3235// SetCreationTime sets the CreationTime field's value.
3236func (s *AlarmModelVersionSummary) SetCreationTime(v time.Time) *AlarmModelVersionSummary {
3237	s.CreationTime = &v
3238	return s
3239}
3240
3241// SetLastUpdateTime sets the LastUpdateTime field's value.
3242func (s *AlarmModelVersionSummary) SetLastUpdateTime(v time.Time) *AlarmModelVersionSummary {
3243	s.LastUpdateTime = &v
3244	return s
3245}
3246
3247// SetRoleArn sets the RoleArn field's value.
3248func (s *AlarmModelVersionSummary) SetRoleArn(v string) *AlarmModelVersionSummary {
3249	s.RoleArn = &v
3250	return s
3251}
3252
3253// SetStatus sets the Status field's value.
3254func (s *AlarmModelVersionSummary) SetStatus(v string) *AlarmModelVersionSummary {
3255	s.Status = &v
3256	return s
3257}
3258
3259// SetStatusMessage sets the StatusMessage field's value.
3260func (s *AlarmModelVersionSummary) SetStatusMessage(v string) *AlarmModelVersionSummary {
3261	s.StatusMessage = &v
3262	return s
3263}
3264
3265// Contains information about one or more notification actions.
3266type AlarmNotification struct {
3267	_ struct{} `type:"structure"`
3268
3269	// Contains the notification settings of an alarm model. The settings apply
3270	// to all alarms that were created based on this alarm model.
3271	NotificationActions []*NotificationAction `locationName:"notificationActions" min:"1" type:"list"`
3272}
3273
3274// String returns the string representation
3275func (s AlarmNotification) String() string {
3276	return awsutil.Prettify(s)
3277}
3278
3279// GoString returns the string representation
3280func (s AlarmNotification) GoString() string {
3281	return s.String()
3282}
3283
3284// Validate inspects the fields of the type to determine if they are valid.
3285func (s *AlarmNotification) Validate() error {
3286	invalidParams := request.ErrInvalidParams{Context: "AlarmNotification"}
3287	if s.NotificationActions != nil && len(s.NotificationActions) < 1 {
3288		invalidParams.Add(request.NewErrParamMinLen("NotificationActions", 1))
3289	}
3290	if s.NotificationActions != nil {
3291		for i, v := range s.NotificationActions {
3292			if v == nil {
3293				continue
3294			}
3295			if err := v.Validate(); err != nil {
3296				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NotificationActions", i), err.(request.ErrInvalidParams))
3297			}
3298		}
3299	}
3300
3301	if invalidParams.Len() > 0 {
3302		return invalidParams
3303	}
3304	return nil
3305}
3306
3307// SetNotificationActions sets the NotificationActions field's value.
3308func (s *AlarmNotification) SetNotificationActions(v []*NotificationAction) *AlarmNotification {
3309	s.NotificationActions = v
3310	return s
3311}
3312
3313// Defines when your alarm is invoked.
3314type AlarmRule struct {
3315	_ struct{} `type:"structure"`
3316
3317	// A rule that compares an input property value to a threshold value with a
3318	// comparison operator.
3319	SimpleRule *SimpleRule `locationName:"simpleRule" type:"structure"`
3320}
3321
3322// String returns the string representation
3323func (s AlarmRule) String() string {
3324	return awsutil.Prettify(s)
3325}
3326
3327// GoString returns the string representation
3328func (s AlarmRule) GoString() string {
3329	return s.String()
3330}
3331
3332// Validate inspects the fields of the type to determine if they are valid.
3333func (s *AlarmRule) Validate() error {
3334	invalidParams := request.ErrInvalidParams{Context: "AlarmRule"}
3335	if s.SimpleRule != nil {
3336		if err := s.SimpleRule.Validate(); err != nil {
3337			invalidParams.AddNested("SimpleRule", err.(request.ErrInvalidParams))
3338		}
3339	}
3340
3341	if invalidParams.Len() > 0 {
3342		return invalidParams
3343	}
3344	return nil
3345}
3346
3347// SetSimpleRule sets the SimpleRule field's value.
3348func (s *AlarmRule) SetSimpleRule(v *SimpleRule) *AlarmRule {
3349	s.SimpleRule = v
3350	return s
3351}
3352
3353// Contains the result of the analysis.
3354type AnalysisResult struct {
3355	_ struct{} `type:"structure"`
3356
3357	// The severity level of the analysis result. Based on the severity level, analysis
3358	// results fall into three general categories:
3359	//
3360	//    * INFO - An information result tells you about a significant field in
3361	//    your detector model. This type of result usually doesn't require immediate
3362	//    action.
3363	//
3364	//    * WARNING - A warning result draws special attention to fields that might
3365	//    cause issues for your detector model. We recommend that you review warnings
3366	//    and take necessary actions before you use your detector model in production
3367	//    environments. Otherwise, the detector model might not work as expected.
3368	//
3369	//    * ERROR - An error result notifies you about a problem found in your detector
3370	//    model. You must fix all errors before you can publish your detector model.
3371	Level *string `locationName:"level" type:"string" enum:"AnalysisResultLevel"`
3372
3373	// Contains one or more locations that you can use to locate the fields in your
3374	// detector model that the analysis result references.
3375	Locations []*AnalysisResultLocation `locationName:"locations" type:"list"`
3376
3377	// Contains additional information about the analysis result.
3378	Message *string `locationName:"message" type:"string"`
3379
3380	// The type of the analysis result. Analyses fall into the following types based
3381	// on the validators used to generate the analysis result:
3382	//
3383	//    * supported-actions - You must specify AWS IoT Events supported actions
3384	//    that work with other AWS services in a supported AWS Region.
3385	//
3386	//    * service-limits - Resources or API operations can't exceed service quotas
3387	//    (also known as limits). Update your detector model or request a quota
3388	//    increase.
3389	//
3390	//    * structure - The detector model must follow a structure that AWS IoT
3391	//    Events supports.
3392	//
3393	//    * expression-syntax - Your expression must follow the required syntax.
3394	//
3395	//    * data-type - Data types referenced in the detector model must be compatible.
3396	//
3397	//    * referenced-data - You must define the data referenced in your detector
3398	//    model before you can use the data.
3399	//
3400	//    * referenced-resource - Resources that the detector model uses must be
3401	//    available.
3402	//
3403	// For more information, see Running detector model analyses (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html)
3404	// in the AWS IoT Events Developer Guide.
3405	Type *string `locationName:"type" type:"string"`
3406}
3407
3408// String returns the string representation
3409func (s AnalysisResult) String() string {
3410	return awsutil.Prettify(s)
3411}
3412
3413// GoString returns the string representation
3414func (s AnalysisResult) GoString() string {
3415	return s.String()
3416}
3417
3418// SetLevel sets the Level field's value.
3419func (s *AnalysisResult) SetLevel(v string) *AnalysisResult {
3420	s.Level = &v
3421	return s
3422}
3423
3424// SetLocations sets the Locations field's value.
3425func (s *AnalysisResult) SetLocations(v []*AnalysisResultLocation) *AnalysisResult {
3426	s.Locations = v
3427	return s
3428}
3429
3430// SetMessage sets the Message field's value.
3431func (s *AnalysisResult) SetMessage(v string) *AnalysisResult {
3432	s.Message = &v
3433	return s
3434}
3435
3436// SetType sets the Type field's value.
3437func (s *AnalysisResult) SetType(v string) *AnalysisResult {
3438	s.Type = &v
3439	return s
3440}
3441
3442// Contains information that you can use to locate the field in your detector
3443// model that the analysis result references.
3444type AnalysisResultLocation struct {
3445	_ struct{} `type:"structure"`
3446
3447	// A JsonPath (https://github.com/json-path/JsonPath) expression that identifies
3448	// the error field in your detector model.
3449	Path *string `locationName:"path" type:"string"`
3450}
3451
3452// String returns the string representation
3453func (s AnalysisResultLocation) String() string {
3454	return awsutil.Prettify(s)
3455}
3456
3457// GoString returns the string representation
3458func (s AnalysisResultLocation) GoString() string {
3459	return s.String()
3460}
3461
3462// SetPath sets the Path field's value.
3463func (s *AnalysisResultLocation) SetPath(v string) *AnalysisResultLocation {
3464	s.Path = &v
3465	return s
3466}
3467
3468// A structure that contains timestamp information. For more information, see
3469// TimeInNanos (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html)
3470// in the AWS IoT SiteWise API Reference.
3471//
3472// You must use expressions for all parameters in AssetPropertyTimestamp. The
3473// expressions accept literals, operators, functions, references, and substitution
3474// templates.
3475//
3476// Examples
3477//
3478//    * For literal values, the expressions must contain single quotes. For
3479//    example, the value for the timeInSeconds parameter can be '1586400675'.
3480//
3481//    * For references, you must specify either variables or input values. For
3482//    example, the value for the offsetInNanos parameter can be $variable.time.
3483//
3484//    * For a substitution template, you must use ${}, and the template must
3485//    be in single quotes. A substitution template can also contain a combination
3486//    of literals, operators, functions, references, and substitution templates.
3487//    In the following example, the value for the timeInSeconds parameter uses
3488//    a substitution template. '${$input.TemperatureInput.sensorData.timestamp
3489//    / 1000}'
3490//
3491// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
3492// in the AWS IoT Events Developer Guide.
3493type AssetPropertyTimestamp struct {
3494	_ struct{} `type:"structure"`
3495
3496	// The nanosecond offset converted from timeInSeconds. The valid range is between
3497	// 0-999999999.
3498	OffsetInNanos *string `locationName:"offsetInNanos" type:"string"`
3499
3500	// The timestamp, in seconds, in the Unix epoch format. The valid range is between
3501	// 1-31556889864403199.
3502	//
3503	// TimeInSeconds is a required field
3504	TimeInSeconds *string `locationName:"timeInSeconds" type:"string" required:"true"`
3505}
3506
3507// String returns the string representation
3508func (s AssetPropertyTimestamp) String() string {
3509	return awsutil.Prettify(s)
3510}
3511
3512// GoString returns the string representation
3513func (s AssetPropertyTimestamp) GoString() string {
3514	return s.String()
3515}
3516
3517// Validate inspects the fields of the type to determine if they are valid.
3518func (s *AssetPropertyTimestamp) Validate() error {
3519	invalidParams := request.ErrInvalidParams{Context: "AssetPropertyTimestamp"}
3520	if s.TimeInSeconds == nil {
3521		invalidParams.Add(request.NewErrParamRequired("TimeInSeconds"))
3522	}
3523
3524	if invalidParams.Len() > 0 {
3525		return invalidParams
3526	}
3527	return nil
3528}
3529
3530// SetOffsetInNanos sets the OffsetInNanos field's value.
3531func (s *AssetPropertyTimestamp) SetOffsetInNanos(v string) *AssetPropertyTimestamp {
3532	s.OffsetInNanos = &v
3533	return s
3534}
3535
3536// SetTimeInSeconds sets the TimeInSeconds field's value.
3537func (s *AssetPropertyTimestamp) SetTimeInSeconds(v string) *AssetPropertyTimestamp {
3538	s.TimeInSeconds = &v
3539	return s
3540}
3541
3542// A structure that contains value information. For more information, see AssetPropertyValue
3543// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html)
3544// in the AWS IoT SiteWise API Reference.
3545//
3546// You must use expressions for all parameters in AssetPropertyValue. The expressions
3547// accept literals, operators, functions, references, and substitution templates.
3548//
3549// Examples
3550//
3551//    * For literal values, the expressions must contain single quotes. For
3552//    example, the value for the quality parameter can be 'GOOD'.
3553//
3554//    * For references, you must specify either variables or input values. For
3555//    example, the value for the quality parameter can be $input.TemperatureInput.sensorData.quality.
3556//
3557// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
3558// in the AWS IoT Events Developer Guide.
3559type AssetPropertyValue struct {
3560	_ struct{} `type:"structure"`
3561
3562	// The quality of the asset property value. The value must be 'GOOD', 'BAD',
3563	// or 'UNCERTAIN'.
3564	Quality *string `locationName:"quality" type:"string"`
3565
3566	// The timestamp associated with the asset property value. The default is the
3567	// current event time.
3568	Timestamp *AssetPropertyTimestamp `locationName:"timestamp" type:"structure"`
3569
3570	// The value to send to an asset property.
3571	Value *AssetPropertyVariant `locationName:"value" type:"structure"`
3572}
3573
3574// String returns the string representation
3575func (s AssetPropertyValue) String() string {
3576	return awsutil.Prettify(s)
3577}
3578
3579// GoString returns the string representation
3580func (s AssetPropertyValue) GoString() string {
3581	return s.String()
3582}
3583
3584// Validate inspects the fields of the type to determine if they are valid.
3585func (s *AssetPropertyValue) Validate() error {
3586	invalidParams := request.ErrInvalidParams{Context: "AssetPropertyValue"}
3587	if s.Timestamp != nil {
3588		if err := s.Timestamp.Validate(); err != nil {
3589			invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams))
3590		}
3591	}
3592
3593	if invalidParams.Len() > 0 {
3594		return invalidParams
3595	}
3596	return nil
3597}
3598
3599// SetQuality sets the Quality field's value.
3600func (s *AssetPropertyValue) SetQuality(v string) *AssetPropertyValue {
3601	s.Quality = &v
3602	return s
3603}
3604
3605// SetTimestamp sets the Timestamp field's value.
3606func (s *AssetPropertyValue) SetTimestamp(v *AssetPropertyTimestamp) *AssetPropertyValue {
3607	s.Timestamp = v
3608	return s
3609}
3610
3611// SetValue sets the Value field's value.
3612func (s *AssetPropertyValue) SetValue(v *AssetPropertyVariant) *AssetPropertyValue {
3613	s.Value = v
3614	return s
3615}
3616
3617// A structure that contains an asset property value. For more information,
3618// see Variant (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html)
3619// in the AWS IoT SiteWise API Reference.
3620//
3621// You must use expressions for all parameters in AssetPropertyVariant. The
3622// expressions accept literals, operators, functions, references, and substitution
3623// templates.
3624//
3625// Examples
3626//
3627//    * For literal values, the expressions must contain single quotes. For
3628//    example, the value for the integerValue parameter can be '100'.
3629//
3630//    * For references, you must specify either variables or parameters. For
3631//    example, the value for the booleanValue parameter can be $variable.offline.
3632//
3633//    * For a substitution template, you must use ${}, and the template must
3634//    be in single quotes. A substitution template can also contain a combination
3635//    of literals, operators, functions, references, and substitution templates.
3636//    In the following example, the value for the doubleValue parameter uses
3637//    a substitution template. '${$input.TemperatureInput.sensorData.temperature
3638//    * 6 / 5 + 32}'
3639//
3640// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
3641// in the AWS IoT Events Developer Guide.
3642//
3643// You must specify one of the following value types, depending on the dataType
3644// of the specified asset property. For more information, see AssetProperty
3645// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html)
3646// in the AWS IoT SiteWise API Reference.
3647type AssetPropertyVariant struct {
3648	_ struct{} `type:"structure"`
3649
3650	// The asset property value is a Boolean value that must be 'TRUE' or 'FALSE'.
3651	// You must use an expression, and the evaluated result should be a Boolean
3652	// value.
3653	BooleanValue *string `locationName:"booleanValue" type:"string"`
3654
3655	// The asset property value is a double. You must use an expression, and the
3656	// evaluated result should be a double.
3657	DoubleValue *string `locationName:"doubleValue" type:"string"`
3658
3659	// The asset property value is an integer. You must use an expression, and the
3660	// evaluated result should be an integer.
3661	IntegerValue *string `locationName:"integerValue" type:"string"`
3662
3663	// The asset property value is a string. You must use an expression, and the
3664	// evaluated result should be a string.
3665	StringValue *string `locationName:"stringValue" type:"string"`
3666}
3667
3668// String returns the string representation
3669func (s AssetPropertyVariant) String() string {
3670	return awsutil.Prettify(s)
3671}
3672
3673// GoString returns the string representation
3674func (s AssetPropertyVariant) GoString() string {
3675	return s.String()
3676}
3677
3678// SetBooleanValue sets the BooleanValue field's value.
3679func (s *AssetPropertyVariant) SetBooleanValue(v string) *AssetPropertyVariant {
3680	s.BooleanValue = &v
3681	return s
3682}
3683
3684// SetDoubleValue sets the DoubleValue field's value.
3685func (s *AssetPropertyVariant) SetDoubleValue(v string) *AssetPropertyVariant {
3686	s.DoubleValue = &v
3687	return s
3688}
3689
3690// SetIntegerValue sets the IntegerValue field's value.
3691func (s *AssetPropertyVariant) SetIntegerValue(v string) *AssetPropertyVariant {
3692	s.IntegerValue = &v
3693	return s
3694}
3695
3696// SetStringValue sets the StringValue field's value.
3697func (s *AssetPropertyVariant) SetStringValue(v string) *AssetPropertyVariant {
3698	s.StringValue = &v
3699	return s
3700}
3701
3702// The attributes from the JSON payload that are made available by the input.
3703// Inputs are derived from messages sent to the AWS IoT Events system using
3704// BatchPutMessage. Each such message contains a JSON payload. Those attributes
3705// (and their paired values) specified here are available for use in the condition
3706// expressions used by detectors.
3707type Attribute struct {
3708	_ struct{} `type:"structure"`
3709
3710	// An expression that specifies an attribute-value pair in a JSON structure.
3711	// Use this to specify an attribute from the JSON payload that is made available
3712	// by the input. Inputs are derived from messages sent to AWS IoT Events (BatchPutMessage).
3713	// Each such message contains a JSON payload. The attribute (and its paired
3714	// value) specified here are available for use in the condition expressions
3715	// used by detectors.
3716	//
3717	// Syntax: <field-name>.<field-name>...
3718	//
3719	// JsonPath is a required field
3720	JsonPath *string `locationName:"jsonPath" min:"1" type:"string" required:"true"`
3721}
3722
3723// String returns the string representation
3724func (s Attribute) String() string {
3725	return awsutil.Prettify(s)
3726}
3727
3728// GoString returns the string representation
3729func (s Attribute) GoString() string {
3730	return s.String()
3731}
3732
3733// Validate inspects the fields of the type to determine if they are valid.
3734func (s *Attribute) Validate() error {
3735	invalidParams := request.ErrInvalidParams{Context: "Attribute"}
3736	if s.JsonPath == nil {
3737		invalidParams.Add(request.NewErrParamRequired("JsonPath"))
3738	}
3739	if s.JsonPath != nil && len(*s.JsonPath) < 1 {
3740		invalidParams.Add(request.NewErrParamMinLen("JsonPath", 1))
3741	}
3742
3743	if invalidParams.Len() > 0 {
3744		return invalidParams
3745	}
3746	return nil
3747}
3748
3749// SetJsonPath sets the JsonPath field's value.
3750func (s *Attribute) SetJsonPath(v string) *Attribute {
3751	s.JsonPath = &v
3752	return s
3753}
3754
3755// Information needed to clear the timer.
3756type ClearTimerAction struct {
3757	_ struct{} `type:"structure"`
3758
3759	// The name of the timer to clear.
3760	//
3761	// TimerName is a required field
3762	TimerName *string `locationName:"timerName" min:"1" type:"string" required:"true"`
3763}
3764
3765// String returns the string representation
3766func (s ClearTimerAction) String() string {
3767	return awsutil.Prettify(s)
3768}
3769
3770// GoString returns the string representation
3771func (s ClearTimerAction) GoString() string {
3772	return s.String()
3773}
3774
3775// Validate inspects the fields of the type to determine if they are valid.
3776func (s *ClearTimerAction) Validate() error {
3777	invalidParams := request.ErrInvalidParams{Context: "ClearTimerAction"}
3778	if s.TimerName == nil {
3779		invalidParams.Add(request.NewErrParamRequired("TimerName"))
3780	}
3781	if s.TimerName != nil && len(*s.TimerName) < 1 {
3782		invalidParams.Add(request.NewErrParamMinLen("TimerName", 1))
3783	}
3784
3785	if invalidParams.Len() > 0 {
3786		return invalidParams
3787	}
3788	return nil
3789}
3790
3791// SetTimerName sets the TimerName field's value.
3792func (s *ClearTimerAction) SetTimerName(v string) *ClearTimerAction {
3793	s.TimerName = &v
3794	return s
3795}
3796
3797type CreateAlarmModelInput struct {
3798	_ struct{} `type:"structure"`
3799
3800	// Contains the configuration information of alarm state changes.
3801	AlarmCapabilities *AlarmCapabilities `locationName:"alarmCapabilities" type:"structure"`
3802
3803	// Contains information about one or more alarm actions.
3804	AlarmEventActions *AlarmEventActions `locationName:"alarmEventActions" type:"structure"`
3805
3806	// A description that tells you what the alarm model detects.
3807	AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"`
3808
3809	// A unique name that helps you identify the alarm model. You can't change this
3810	// name after you create the alarm model.
3811	//
3812	// AlarmModelName is a required field
3813	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"`
3814
3815	// Contains information about one or more notification actions.
3816	AlarmNotification *AlarmNotification `locationName:"alarmNotification" type:"structure"`
3817
3818	// Defines when your alarm is invoked.
3819	//
3820	// AlarmRule is a required field
3821	AlarmRule *AlarmRule `locationName:"alarmRule" type:"structure" required:"true"`
3822
3823	// An input attribute used as a key to create an alarm. AWS IoT Events routes
3824	// inputs (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html)
3825	// associated with this key to the alarm.
3826	Key *string `locationName:"key" min:"1" type:"string"`
3827
3828	// The ARN of the IAM role that allows the alarm to perform actions and access
3829	// AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
3830	// in the AWS General Reference.
3831	//
3832	// RoleArn is a required field
3833	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
3834
3835	// A non-negative integer that reflects the severity level of the alarm.
3836	Severity *int64 `locationName:"severity" type:"integer"`
3837
3838	// A list of key-value pairs that contain metadata for the alarm model. The
3839	// tags help you manage the alarm model. For more information, see Tagging your
3840	// AWS IoT Events resources (https://docs.aws.amazon.com/iotevents/latest/developerguide/tagging-iotevents.html)
3841	// in the AWS IoT Events Developer Guide.
3842	//
3843	// You can create up to 50 tags for one alarm model.
3844	Tags []*Tag `locationName:"tags" type:"list"`
3845}
3846
3847// String returns the string representation
3848func (s CreateAlarmModelInput) String() string {
3849	return awsutil.Prettify(s)
3850}
3851
3852// GoString returns the string representation
3853func (s CreateAlarmModelInput) GoString() string {
3854	return s.String()
3855}
3856
3857// Validate inspects the fields of the type to determine if they are valid.
3858func (s *CreateAlarmModelInput) Validate() error {
3859	invalidParams := request.ErrInvalidParams{Context: "CreateAlarmModelInput"}
3860	if s.AlarmModelName == nil {
3861		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
3862	}
3863	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
3864		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
3865	}
3866	if s.AlarmRule == nil {
3867		invalidParams.Add(request.NewErrParamRequired("AlarmRule"))
3868	}
3869	if s.Key != nil && len(*s.Key) < 1 {
3870		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
3871	}
3872	if s.RoleArn == nil {
3873		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
3874	}
3875	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
3876		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
3877	}
3878	if s.AlarmCapabilities != nil {
3879		if err := s.AlarmCapabilities.Validate(); err != nil {
3880			invalidParams.AddNested("AlarmCapabilities", err.(request.ErrInvalidParams))
3881		}
3882	}
3883	if s.AlarmEventActions != nil {
3884		if err := s.AlarmEventActions.Validate(); err != nil {
3885			invalidParams.AddNested("AlarmEventActions", err.(request.ErrInvalidParams))
3886		}
3887	}
3888	if s.AlarmNotification != nil {
3889		if err := s.AlarmNotification.Validate(); err != nil {
3890			invalidParams.AddNested("AlarmNotification", err.(request.ErrInvalidParams))
3891		}
3892	}
3893	if s.AlarmRule != nil {
3894		if err := s.AlarmRule.Validate(); err != nil {
3895			invalidParams.AddNested("AlarmRule", err.(request.ErrInvalidParams))
3896		}
3897	}
3898	if s.Tags != nil {
3899		for i, v := range s.Tags {
3900			if v == nil {
3901				continue
3902			}
3903			if err := v.Validate(); err != nil {
3904				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3905			}
3906		}
3907	}
3908
3909	if invalidParams.Len() > 0 {
3910		return invalidParams
3911	}
3912	return nil
3913}
3914
3915// SetAlarmCapabilities sets the AlarmCapabilities field's value.
3916func (s *CreateAlarmModelInput) SetAlarmCapabilities(v *AlarmCapabilities) *CreateAlarmModelInput {
3917	s.AlarmCapabilities = v
3918	return s
3919}
3920
3921// SetAlarmEventActions sets the AlarmEventActions field's value.
3922func (s *CreateAlarmModelInput) SetAlarmEventActions(v *AlarmEventActions) *CreateAlarmModelInput {
3923	s.AlarmEventActions = v
3924	return s
3925}
3926
3927// SetAlarmModelDescription sets the AlarmModelDescription field's value.
3928func (s *CreateAlarmModelInput) SetAlarmModelDescription(v string) *CreateAlarmModelInput {
3929	s.AlarmModelDescription = &v
3930	return s
3931}
3932
3933// SetAlarmModelName sets the AlarmModelName field's value.
3934func (s *CreateAlarmModelInput) SetAlarmModelName(v string) *CreateAlarmModelInput {
3935	s.AlarmModelName = &v
3936	return s
3937}
3938
3939// SetAlarmNotification sets the AlarmNotification field's value.
3940func (s *CreateAlarmModelInput) SetAlarmNotification(v *AlarmNotification) *CreateAlarmModelInput {
3941	s.AlarmNotification = v
3942	return s
3943}
3944
3945// SetAlarmRule sets the AlarmRule field's value.
3946func (s *CreateAlarmModelInput) SetAlarmRule(v *AlarmRule) *CreateAlarmModelInput {
3947	s.AlarmRule = v
3948	return s
3949}
3950
3951// SetKey sets the Key field's value.
3952func (s *CreateAlarmModelInput) SetKey(v string) *CreateAlarmModelInput {
3953	s.Key = &v
3954	return s
3955}
3956
3957// SetRoleArn sets the RoleArn field's value.
3958func (s *CreateAlarmModelInput) SetRoleArn(v string) *CreateAlarmModelInput {
3959	s.RoleArn = &v
3960	return s
3961}
3962
3963// SetSeverity sets the Severity field's value.
3964func (s *CreateAlarmModelInput) SetSeverity(v int64) *CreateAlarmModelInput {
3965	s.Severity = &v
3966	return s
3967}
3968
3969// SetTags sets the Tags field's value.
3970func (s *CreateAlarmModelInput) SetTags(v []*Tag) *CreateAlarmModelInput {
3971	s.Tags = v
3972	return s
3973}
3974
3975type CreateAlarmModelOutput struct {
3976	_ struct{} `type:"structure"`
3977
3978	// The ARN of the alarm model. For more information, see Amazon Resource Names
3979	// (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
3980	// in the AWS General Reference.
3981	AlarmModelArn *string `locationName:"alarmModelArn" type:"string"`
3982
3983	// The version of the alarm model.
3984	AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"`
3985
3986	// The time the alarm model was created, in the Unix epoch format.
3987	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
3988
3989	// The time the alarm model was last updated, in the Unix epoch format.
3990	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
3991
3992	// The status of the alarm model. The status can be one of the following values:
3993	//
3994	//    * ACTIVE - The alarm model is active and it's ready to evaluate data.
3995	//
3996	//    * ACTIVATING - AWS IoT Events is activating your alarm model. Activating
3997	//    an alarm model can take up to a few minutes.
3998	//
3999	//    * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate
4000	//    data. Check your alarm model information and update the alarm model.
4001	//
4002	//    * FAILED - You couldn't create or update the alarm model. Check your alarm
4003	//    model information and try again.
4004	Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"`
4005}
4006
4007// String returns the string representation
4008func (s CreateAlarmModelOutput) String() string {
4009	return awsutil.Prettify(s)
4010}
4011
4012// GoString returns the string representation
4013func (s CreateAlarmModelOutput) GoString() string {
4014	return s.String()
4015}
4016
4017// SetAlarmModelArn sets the AlarmModelArn field's value.
4018func (s *CreateAlarmModelOutput) SetAlarmModelArn(v string) *CreateAlarmModelOutput {
4019	s.AlarmModelArn = &v
4020	return s
4021}
4022
4023// SetAlarmModelVersion sets the AlarmModelVersion field's value.
4024func (s *CreateAlarmModelOutput) SetAlarmModelVersion(v string) *CreateAlarmModelOutput {
4025	s.AlarmModelVersion = &v
4026	return s
4027}
4028
4029// SetCreationTime sets the CreationTime field's value.
4030func (s *CreateAlarmModelOutput) SetCreationTime(v time.Time) *CreateAlarmModelOutput {
4031	s.CreationTime = &v
4032	return s
4033}
4034
4035// SetLastUpdateTime sets the LastUpdateTime field's value.
4036func (s *CreateAlarmModelOutput) SetLastUpdateTime(v time.Time) *CreateAlarmModelOutput {
4037	s.LastUpdateTime = &v
4038	return s
4039}
4040
4041// SetStatus sets the Status field's value.
4042func (s *CreateAlarmModelOutput) SetStatus(v string) *CreateAlarmModelOutput {
4043	s.Status = &v
4044	return s
4045}
4046
4047type CreateDetectorModelInput struct {
4048	_ struct{} `type:"structure"`
4049
4050	// Information that defines how the detectors operate.
4051	//
4052	// DetectorModelDefinition is a required field
4053	DetectorModelDefinition *DetectorModelDefinition `locationName:"detectorModelDefinition" type:"structure" required:"true"`
4054
4055	// A brief description of the detector model.
4056	DetectorModelDescription *string `locationName:"detectorModelDescription" type:"string"`
4057
4058	// The name of the detector model.
4059	//
4060	// DetectorModelName is a required field
4061	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string" required:"true"`
4062
4063	// Information about the order in which events are evaluated and how actions
4064	// are executed.
4065	EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"`
4066
4067	// The input attribute key used to identify a device or system to create a detector
4068	// (an instance of the detector model) and then to route each input received
4069	// to the appropriate detector (instance). This parameter uses a JSON-path expression
4070	// in the message payload of each input to specify the attribute-value pair
4071	// that is used to identify the device associated with the input.
4072	Key *string `locationName:"key" min:"1" type:"string"`
4073
4074	// The ARN of the role that grants permission to AWS IoT Events to perform its
4075	// operations.
4076	//
4077	// RoleArn is a required field
4078	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
4079
4080	// Metadata that can be used to manage the detector model.
4081	Tags []*Tag `locationName:"tags" type:"list"`
4082}
4083
4084// String returns the string representation
4085func (s CreateDetectorModelInput) String() string {
4086	return awsutil.Prettify(s)
4087}
4088
4089// GoString returns the string representation
4090func (s CreateDetectorModelInput) GoString() string {
4091	return s.String()
4092}
4093
4094// Validate inspects the fields of the type to determine if they are valid.
4095func (s *CreateDetectorModelInput) Validate() error {
4096	invalidParams := request.ErrInvalidParams{Context: "CreateDetectorModelInput"}
4097	if s.DetectorModelDefinition == nil {
4098		invalidParams.Add(request.NewErrParamRequired("DetectorModelDefinition"))
4099	}
4100	if s.DetectorModelName == nil {
4101		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
4102	}
4103	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
4104		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
4105	}
4106	if s.Key != nil && len(*s.Key) < 1 {
4107		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
4108	}
4109	if s.RoleArn == nil {
4110		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
4111	}
4112	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
4113		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
4114	}
4115	if s.DetectorModelDefinition != nil {
4116		if err := s.DetectorModelDefinition.Validate(); err != nil {
4117			invalidParams.AddNested("DetectorModelDefinition", err.(request.ErrInvalidParams))
4118		}
4119	}
4120	if s.Tags != nil {
4121		for i, v := range s.Tags {
4122			if v == nil {
4123				continue
4124			}
4125			if err := v.Validate(); err != nil {
4126				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4127			}
4128		}
4129	}
4130
4131	if invalidParams.Len() > 0 {
4132		return invalidParams
4133	}
4134	return nil
4135}
4136
4137// SetDetectorModelDefinition sets the DetectorModelDefinition field's value.
4138func (s *CreateDetectorModelInput) SetDetectorModelDefinition(v *DetectorModelDefinition) *CreateDetectorModelInput {
4139	s.DetectorModelDefinition = v
4140	return s
4141}
4142
4143// SetDetectorModelDescription sets the DetectorModelDescription field's value.
4144func (s *CreateDetectorModelInput) SetDetectorModelDescription(v string) *CreateDetectorModelInput {
4145	s.DetectorModelDescription = &v
4146	return s
4147}
4148
4149// SetDetectorModelName sets the DetectorModelName field's value.
4150func (s *CreateDetectorModelInput) SetDetectorModelName(v string) *CreateDetectorModelInput {
4151	s.DetectorModelName = &v
4152	return s
4153}
4154
4155// SetEvaluationMethod sets the EvaluationMethod field's value.
4156func (s *CreateDetectorModelInput) SetEvaluationMethod(v string) *CreateDetectorModelInput {
4157	s.EvaluationMethod = &v
4158	return s
4159}
4160
4161// SetKey sets the Key field's value.
4162func (s *CreateDetectorModelInput) SetKey(v string) *CreateDetectorModelInput {
4163	s.Key = &v
4164	return s
4165}
4166
4167// SetRoleArn sets the RoleArn field's value.
4168func (s *CreateDetectorModelInput) SetRoleArn(v string) *CreateDetectorModelInput {
4169	s.RoleArn = &v
4170	return s
4171}
4172
4173// SetTags sets the Tags field's value.
4174func (s *CreateDetectorModelInput) SetTags(v []*Tag) *CreateDetectorModelInput {
4175	s.Tags = v
4176	return s
4177}
4178
4179type CreateDetectorModelOutput struct {
4180	_ struct{} `type:"structure"`
4181
4182	// Information about how the detector model is configured.
4183	DetectorModelConfiguration *DetectorModelConfiguration `locationName:"detectorModelConfiguration" type:"structure"`
4184}
4185
4186// String returns the string representation
4187func (s CreateDetectorModelOutput) String() string {
4188	return awsutil.Prettify(s)
4189}
4190
4191// GoString returns the string representation
4192func (s CreateDetectorModelOutput) GoString() string {
4193	return s.String()
4194}
4195
4196// SetDetectorModelConfiguration sets the DetectorModelConfiguration field's value.
4197func (s *CreateDetectorModelOutput) SetDetectorModelConfiguration(v *DetectorModelConfiguration) *CreateDetectorModelOutput {
4198	s.DetectorModelConfiguration = v
4199	return s
4200}
4201
4202type CreateInputInput struct {
4203	_ struct{} `type:"structure"`
4204
4205	// The definition of the input.
4206	//
4207	// InputDefinition is a required field
4208	InputDefinition *InputDefinition `locationName:"inputDefinition" type:"structure" required:"true"`
4209
4210	// A brief description of the input.
4211	InputDescription *string `locationName:"inputDescription" type:"string"`
4212
4213	// The name you want to give to the input.
4214	//
4215	// InputName is a required field
4216	InputName *string `locationName:"inputName" min:"1" type:"string" required:"true"`
4217
4218	// Metadata that can be used to manage the input.
4219	Tags []*Tag `locationName:"tags" type:"list"`
4220}
4221
4222// String returns the string representation
4223func (s CreateInputInput) String() string {
4224	return awsutil.Prettify(s)
4225}
4226
4227// GoString returns the string representation
4228func (s CreateInputInput) GoString() string {
4229	return s.String()
4230}
4231
4232// Validate inspects the fields of the type to determine if they are valid.
4233func (s *CreateInputInput) Validate() error {
4234	invalidParams := request.ErrInvalidParams{Context: "CreateInputInput"}
4235	if s.InputDefinition == nil {
4236		invalidParams.Add(request.NewErrParamRequired("InputDefinition"))
4237	}
4238	if s.InputName == nil {
4239		invalidParams.Add(request.NewErrParamRequired("InputName"))
4240	}
4241	if s.InputName != nil && len(*s.InputName) < 1 {
4242		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
4243	}
4244	if s.InputDefinition != nil {
4245		if err := s.InputDefinition.Validate(); err != nil {
4246			invalidParams.AddNested("InputDefinition", err.(request.ErrInvalidParams))
4247		}
4248	}
4249	if s.Tags != nil {
4250		for i, v := range s.Tags {
4251			if v == nil {
4252				continue
4253			}
4254			if err := v.Validate(); err != nil {
4255				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4256			}
4257		}
4258	}
4259
4260	if invalidParams.Len() > 0 {
4261		return invalidParams
4262	}
4263	return nil
4264}
4265
4266// SetInputDefinition sets the InputDefinition field's value.
4267func (s *CreateInputInput) SetInputDefinition(v *InputDefinition) *CreateInputInput {
4268	s.InputDefinition = v
4269	return s
4270}
4271
4272// SetInputDescription sets the InputDescription field's value.
4273func (s *CreateInputInput) SetInputDescription(v string) *CreateInputInput {
4274	s.InputDescription = &v
4275	return s
4276}
4277
4278// SetInputName sets the InputName field's value.
4279func (s *CreateInputInput) SetInputName(v string) *CreateInputInput {
4280	s.InputName = &v
4281	return s
4282}
4283
4284// SetTags sets the Tags field's value.
4285func (s *CreateInputInput) SetTags(v []*Tag) *CreateInputInput {
4286	s.Tags = v
4287	return s
4288}
4289
4290type CreateInputOutput struct {
4291	_ struct{} `type:"structure"`
4292
4293	// Information about the configuration of the input.
4294	InputConfiguration *InputConfiguration `locationName:"inputConfiguration" type:"structure"`
4295}
4296
4297// String returns the string representation
4298func (s CreateInputOutput) String() string {
4299	return awsutil.Prettify(s)
4300}
4301
4302// GoString returns the string representation
4303func (s CreateInputOutput) GoString() string {
4304	return s.String()
4305}
4306
4307// SetInputConfiguration sets the InputConfiguration field's value.
4308func (s *CreateInputOutput) SetInputConfiguration(v *InputConfiguration) *CreateInputOutput {
4309	s.InputConfiguration = v
4310	return s
4311}
4312
4313type DeleteAlarmModelInput struct {
4314	_ struct{} `type:"structure"`
4315
4316	// The name of the alarm model.
4317	//
4318	// AlarmModelName is a required field
4319	AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"`
4320}
4321
4322// String returns the string representation
4323func (s DeleteAlarmModelInput) String() string {
4324	return awsutil.Prettify(s)
4325}
4326
4327// GoString returns the string representation
4328func (s DeleteAlarmModelInput) GoString() string {
4329	return s.String()
4330}
4331
4332// Validate inspects the fields of the type to determine if they are valid.
4333func (s *DeleteAlarmModelInput) Validate() error {
4334	invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmModelInput"}
4335	if s.AlarmModelName == nil {
4336		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
4337	}
4338	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
4339		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
4340	}
4341
4342	if invalidParams.Len() > 0 {
4343		return invalidParams
4344	}
4345	return nil
4346}
4347
4348// SetAlarmModelName sets the AlarmModelName field's value.
4349func (s *DeleteAlarmModelInput) SetAlarmModelName(v string) *DeleteAlarmModelInput {
4350	s.AlarmModelName = &v
4351	return s
4352}
4353
4354type DeleteAlarmModelOutput struct {
4355	_ struct{} `type:"structure"`
4356}
4357
4358// String returns the string representation
4359func (s DeleteAlarmModelOutput) String() string {
4360	return awsutil.Prettify(s)
4361}
4362
4363// GoString returns the string representation
4364func (s DeleteAlarmModelOutput) GoString() string {
4365	return s.String()
4366}
4367
4368type DeleteDetectorModelInput struct {
4369	_ struct{} `type:"structure"`
4370
4371	// The name of the detector model to be deleted.
4372	//
4373	// DetectorModelName is a required field
4374	DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"`
4375}
4376
4377// String returns the string representation
4378func (s DeleteDetectorModelInput) String() string {
4379	return awsutil.Prettify(s)
4380}
4381
4382// GoString returns the string representation
4383func (s DeleteDetectorModelInput) GoString() string {
4384	return s.String()
4385}
4386
4387// Validate inspects the fields of the type to determine if they are valid.
4388func (s *DeleteDetectorModelInput) Validate() error {
4389	invalidParams := request.ErrInvalidParams{Context: "DeleteDetectorModelInput"}
4390	if s.DetectorModelName == nil {
4391		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
4392	}
4393	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
4394		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
4395	}
4396
4397	if invalidParams.Len() > 0 {
4398		return invalidParams
4399	}
4400	return nil
4401}
4402
4403// SetDetectorModelName sets the DetectorModelName field's value.
4404func (s *DeleteDetectorModelInput) SetDetectorModelName(v string) *DeleteDetectorModelInput {
4405	s.DetectorModelName = &v
4406	return s
4407}
4408
4409type DeleteDetectorModelOutput struct {
4410	_ struct{} `type:"structure"`
4411}
4412
4413// String returns the string representation
4414func (s DeleteDetectorModelOutput) String() string {
4415	return awsutil.Prettify(s)
4416}
4417
4418// GoString returns the string representation
4419func (s DeleteDetectorModelOutput) GoString() string {
4420	return s.String()
4421}
4422
4423type DeleteInputInput struct {
4424	_ struct{} `type:"structure"`
4425
4426	// The name of the input to delete.
4427	//
4428	// InputName is a required field
4429	InputName *string `location:"uri" locationName:"inputName" min:"1" type:"string" required:"true"`
4430}
4431
4432// String returns the string representation
4433func (s DeleteInputInput) String() string {
4434	return awsutil.Prettify(s)
4435}
4436
4437// GoString returns the string representation
4438func (s DeleteInputInput) GoString() string {
4439	return s.String()
4440}
4441
4442// Validate inspects the fields of the type to determine if they are valid.
4443func (s *DeleteInputInput) Validate() error {
4444	invalidParams := request.ErrInvalidParams{Context: "DeleteInputInput"}
4445	if s.InputName == nil {
4446		invalidParams.Add(request.NewErrParamRequired("InputName"))
4447	}
4448	if s.InputName != nil && len(*s.InputName) < 1 {
4449		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
4450	}
4451
4452	if invalidParams.Len() > 0 {
4453		return invalidParams
4454	}
4455	return nil
4456}
4457
4458// SetInputName sets the InputName field's value.
4459func (s *DeleteInputInput) SetInputName(v string) *DeleteInputInput {
4460	s.InputName = &v
4461	return s
4462}
4463
4464type DeleteInputOutput struct {
4465	_ struct{} `type:"structure"`
4466}
4467
4468// String returns the string representation
4469func (s DeleteInputOutput) String() string {
4470	return awsutil.Prettify(s)
4471}
4472
4473// GoString returns the string representation
4474func (s DeleteInputOutput) GoString() string {
4475	return s.String()
4476}
4477
4478type DescribeAlarmModelInput struct {
4479	_ struct{} `type:"structure"`
4480
4481	// The name of the alarm model.
4482	//
4483	// AlarmModelName is a required field
4484	AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"`
4485
4486	// The version of the alarm model.
4487	AlarmModelVersion *string `location:"querystring" locationName:"version" min:"1" type:"string"`
4488}
4489
4490// String returns the string representation
4491func (s DescribeAlarmModelInput) String() string {
4492	return awsutil.Prettify(s)
4493}
4494
4495// GoString returns the string representation
4496func (s DescribeAlarmModelInput) GoString() string {
4497	return s.String()
4498}
4499
4500// Validate inspects the fields of the type to determine if they are valid.
4501func (s *DescribeAlarmModelInput) Validate() error {
4502	invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmModelInput"}
4503	if s.AlarmModelName == nil {
4504		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
4505	}
4506	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
4507		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
4508	}
4509	if s.AlarmModelVersion != nil && len(*s.AlarmModelVersion) < 1 {
4510		invalidParams.Add(request.NewErrParamMinLen("AlarmModelVersion", 1))
4511	}
4512
4513	if invalidParams.Len() > 0 {
4514		return invalidParams
4515	}
4516	return nil
4517}
4518
4519// SetAlarmModelName sets the AlarmModelName field's value.
4520func (s *DescribeAlarmModelInput) SetAlarmModelName(v string) *DescribeAlarmModelInput {
4521	s.AlarmModelName = &v
4522	return s
4523}
4524
4525// SetAlarmModelVersion sets the AlarmModelVersion field's value.
4526func (s *DescribeAlarmModelInput) SetAlarmModelVersion(v string) *DescribeAlarmModelInput {
4527	s.AlarmModelVersion = &v
4528	return s
4529}
4530
4531type DescribeAlarmModelOutput struct {
4532	_ struct{} `type:"structure"`
4533
4534	// Contains the configuration information of alarm state changes.
4535	AlarmCapabilities *AlarmCapabilities `locationName:"alarmCapabilities" type:"structure"`
4536
4537	// Contains information about one or more alarm actions.
4538	AlarmEventActions *AlarmEventActions `locationName:"alarmEventActions" type:"structure"`
4539
4540	// The ARN of the alarm model. For more information, see Amazon Resource Names
4541	// (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
4542	// in the AWS General Reference.
4543	AlarmModelArn *string `locationName:"alarmModelArn" type:"string"`
4544
4545	// The description of the alarm model.
4546	AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"`
4547
4548	// The name of the alarm model.
4549	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"`
4550
4551	// The version of the alarm model.
4552	AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"`
4553
4554	// Contains information about one or more notification actions.
4555	AlarmNotification *AlarmNotification `locationName:"alarmNotification" type:"structure"`
4556
4557	// Defines when your alarm is invoked.
4558	AlarmRule *AlarmRule `locationName:"alarmRule" type:"structure"`
4559
4560	// The time the alarm model was created, in the Unix epoch format.
4561	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
4562
4563	// An input attribute used as a key to create an alarm. AWS IoT Events routes
4564	// inputs (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html)
4565	// associated with this key to the alarm.
4566	Key *string `locationName:"key" min:"1" type:"string"`
4567
4568	// The time the alarm model was last updated, in the Unix epoch format.
4569	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
4570
4571	// The ARN of the IAM role that allows the alarm to perform actions and access
4572	// AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
4573	// in the AWS General Reference.
4574	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
4575
4576	// A non-negative integer that reflects the severity level of the alarm.
4577	Severity *int64 `locationName:"severity" type:"integer"`
4578
4579	// The status of the alarm model. The status can be one of the following values:
4580	//
4581	//    * ACTIVE - The alarm model is active and it's ready to evaluate data.
4582	//
4583	//    * ACTIVATING - AWS IoT Events is activating your alarm model. Activating
4584	//    an alarm model can take up to a few minutes.
4585	//
4586	//    * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate
4587	//    data. Check your alarm model information and update the alarm model.
4588	//
4589	//    * FAILED - You couldn't create or update the alarm model. Check your alarm
4590	//    model information and try again.
4591	Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"`
4592
4593	// Contains information about the status of the alarm model.
4594	StatusMessage *string `locationName:"statusMessage" type:"string"`
4595}
4596
4597// String returns the string representation
4598func (s DescribeAlarmModelOutput) String() string {
4599	return awsutil.Prettify(s)
4600}
4601
4602// GoString returns the string representation
4603func (s DescribeAlarmModelOutput) GoString() string {
4604	return s.String()
4605}
4606
4607// SetAlarmCapabilities sets the AlarmCapabilities field's value.
4608func (s *DescribeAlarmModelOutput) SetAlarmCapabilities(v *AlarmCapabilities) *DescribeAlarmModelOutput {
4609	s.AlarmCapabilities = v
4610	return s
4611}
4612
4613// SetAlarmEventActions sets the AlarmEventActions field's value.
4614func (s *DescribeAlarmModelOutput) SetAlarmEventActions(v *AlarmEventActions) *DescribeAlarmModelOutput {
4615	s.AlarmEventActions = v
4616	return s
4617}
4618
4619// SetAlarmModelArn sets the AlarmModelArn field's value.
4620func (s *DescribeAlarmModelOutput) SetAlarmModelArn(v string) *DescribeAlarmModelOutput {
4621	s.AlarmModelArn = &v
4622	return s
4623}
4624
4625// SetAlarmModelDescription sets the AlarmModelDescription field's value.
4626func (s *DescribeAlarmModelOutput) SetAlarmModelDescription(v string) *DescribeAlarmModelOutput {
4627	s.AlarmModelDescription = &v
4628	return s
4629}
4630
4631// SetAlarmModelName sets the AlarmModelName field's value.
4632func (s *DescribeAlarmModelOutput) SetAlarmModelName(v string) *DescribeAlarmModelOutput {
4633	s.AlarmModelName = &v
4634	return s
4635}
4636
4637// SetAlarmModelVersion sets the AlarmModelVersion field's value.
4638func (s *DescribeAlarmModelOutput) SetAlarmModelVersion(v string) *DescribeAlarmModelOutput {
4639	s.AlarmModelVersion = &v
4640	return s
4641}
4642
4643// SetAlarmNotification sets the AlarmNotification field's value.
4644func (s *DescribeAlarmModelOutput) SetAlarmNotification(v *AlarmNotification) *DescribeAlarmModelOutput {
4645	s.AlarmNotification = v
4646	return s
4647}
4648
4649// SetAlarmRule sets the AlarmRule field's value.
4650func (s *DescribeAlarmModelOutput) SetAlarmRule(v *AlarmRule) *DescribeAlarmModelOutput {
4651	s.AlarmRule = v
4652	return s
4653}
4654
4655// SetCreationTime sets the CreationTime field's value.
4656func (s *DescribeAlarmModelOutput) SetCreationTime(v time.Time) *DescribeAlarmModelOutput {
4657	s.CreationTime = &v
4658	return s
4659}
4660
4661// SetKey sets the Key field's value.
4662func (s *DescribeAlarmModelOutput) SetKey(v string) *DescribeAlarmModelOutput {
4663	s.Key = &v
4664	return s
4665}
4666
4667// SetLastUpdateTime sets the LastUpdateTime field's value.
4668func (s *DescribeAlarmModelOutput) SetLastUpdateTime(v time.Time) *DescribeAlarmModelOutput {
4669	s.LastUpdateTime = &v
4670	return s
4671}
4672
4673// SetRoleArn sets the RoleArn field's value.
4674func (s *DescribeAlarmModelOutput) SetRoleArn(v string) *DescribeAlarmModelOutput {
4675	s.RoleArn = &v
4676	return s
4677}
4678
4679// SetSeverity sets the Severity field's value.
4680func (s *DescribeAlarmModelOutput) SetSeverity(v int64) *DescribeAlarmModelOutput {
4681	s.Severity = &v
4682	return s
4683}
4684
4685// SetStatus sets the Status field's value.
4686func (s *DescribeAlarmModelOutput) SetStatus(v string) *DescribeAlarmModelOutput {
4687	s.Status = &v
4688	return s
4689}
4690
4691// SetStatusMessage sets the StatusMessage field's value.
4692func (s *DescribeAlarmModelOutput) SetStatusMessage(v string) *DescribeAlarmModelOutput {
4693	s.StatusMessage = &v
4694	return s
4695}
4696
4697type DescribeDetectorModelAnalysisInput struct {
4698	_ struct{} `type:"structure"`
4699
4700	// The ID of the analysis result that you want to retrieve.
4701	//
4702	// AnalysisId is a required field
4703	AnalysisId *string `location:"uri" locationName:"analysisId" type:"string" required:"true"`
4704}
4705
4706// String returns the string representation
4707func (s DescribeDetectorModelAnalysisInput) String() string {
4708	return awsutil.Prettify(s)
4709}
4710
4711// GoString returns the string representation
4712func (s DescribeDetectorModelAnalysisInput) GoString() string {
4713	return s.String()
4714}
4715
4716// Validate inspects the fields of the type to determine if they are valid.
4717func (s *DescribeDetectorModelAnalysisInput) Validate() error {
4718	invalidParams := request.ErrInvalidParams{Context: "DescribeDetectorModelAnalysisInput"}
4719	if s.AnalysisId == nil {
4720		invalidParams.Add(request.NewErrParamRequired("AnalysisId"))
4721	}
4722	if s.AnalysisId != nil && len(*s.AnalysisId) < 1 {
4723		invalidParams.Add(request.NewErrParamMinLen("AnalysisId", 1))
4724	}
4725
4726	if invalidParams.Len() > 0 {
4727		return invalidParams
4728	}
4729	return nil
4730}
4731
4732// SetAnalysisId sets the AnalysisId field's value.
4733func (s *DescribeDetectorModelAnalysisInput) SetAnalysisId(v string) *DescribeDetectorModelAnalysisInput {
4734	s.AnalysisId = &v
4735	return s
4736}
4737
4738type DescribeDetectorModelAnalysisOutput struct {
4739	_ struct{} `type:"structure"`
4740
4741	// The status of the analysis activity. The status can be one of the following
4742	// values:
4743	//
4744	//    * RUNNING - AWS IoT Events is analyzing your detector model. This process
4745	//    can take several minutes to complete.
4746	//
4747	//    * COMPLETE - AWS IoT Events finished analyzing your detector model.
4748	//
4749	//    * FAILED - AWS IoT Events couldn't analyze your detector model. Try again
4750	//    later.
4751	Status *string `locationName:"status" type:"string" enum:"AnalysisStatus"`
4752}
4753
4754// String returns the string representation
4755func (s DescribeDetectorModelAnalysisOutput) String() string {
4756	return awsutil.Prettify(s)
4757}
4758
4759// GoString returns the string representation
4760func (s DescribeDetectorModelAnalysisOutput) GoString() string {
4761	return s.String()
4762}
4763
4764// SetStatus sets the Status field's value.
4765func (s *DescribeDetectorModelAnalysisOutput) SetStatus(v string) *DescribeDetectorModelAnalysisOutput {
4766	s.Status = &v
4767	return s
4768}
4769
4770type DescribeDetectorModelInput struct {
4771	_ struct{} `type:"structure"`
4772
4773	// The name of the detector model.
4774	//
4775	// DetectorModelName is a required field
4776	DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"`
4777
4778	// The version of the detector model.
4779	DetectorModelVersion *string `location:"querystring" locationName:"version" min:"1" type:"string"`
4780}
4781
4782// String returns the string representation
4783func (s DescribeDetectorModelInput) String() string {
4784	return awsutil.Prettify(s)
4785}
4786
4787// GoString returns the string representation
4788func (s DescribeDetectorModelInput) GoString() string {
4789	return s.String()
4790}
4791
4792// Validate inspects the fields of the type to determine if they are valid.
4793func (s *DescribeDetectorModelInput) Validate() error {
4794	invalidParams := request.ErrInvalidParams{Context: "DescribeDetectorModelInput"}
4795	if s.DetectorModelName == nil {
4796		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
4797	}
4798	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
4799		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
4800	}
4801	if s.DetectorModelVersion != nil && len(*s.DetectorModelVersion) < 1 {
4802		invalidParams.Add(request.NewErrParamMinLen("DetectorModelVersion", 1))
4803	}
4804
4805	if invalidParams.Len() > 0 {
4806		return invalidParams
4807	}
4808	return nil
4809}
4810
4811// SetDetectorModelName sets the DetectorModelName field's value.
4812func (s *DescribeDetectorModelInput) SetDetectorModelName(v string) *DescribeDetectorModelInput {
4813	s.DetectorModelName = &v
4814	return s
4815}
4816
4817// SetDetectorModelVersion sets the DetectorModelVersion field's value.
4818func (s *DescribeDetectorModelInput) SetDetectorModelVersion(v string) *DescribeDetectorModelInput {
4819	s.DetectorModelVersion = &v
4820	return s
4821}
4822
4823type DescribeDetectorModelOutput struct {
4824	_ struct{} `type:"structure"`
4825
4826	// Information about the detector model.
4827	DetectorModel *DetectorModel `locationName:"detectorModel" type:"structure"`
4828}
4829
4830// String returns the string representation
4831func (s DescribeDetectorModelOutput) String() string {
4832	return awsutil.Prettify(s)
4833}
4834
4835// GoString returns the string representation
4836func (s DescribeDetectorModelOutput) GoString() string {
4837	return s.String()
4838}
4839
4840// SetDetectorModel sets the DetectorModel field's value.
4841func (s *DescribeDetectorModelOutput) SetDetectorModel(v *DetectorModel) *DescribeDetectorModelOutput {
4842	s.DetectorModel = v
4843	return s
4844}
4845
4846type DescribeInputInput struct {
4847	_ struct{} `type:"structure"`
4848
4849	// The name of the input.
4850	//
4851	// InputName is a required field
4852	InputName *string `location:"uri" locationName:"inputName" min:"1" type:"string" required:"true"`
4853}
4854
4855// String returns the string representation
4856func (s DescribeInputInput) String() string {
4857	return awsutil.Prettify(s)
4858}
4859
4860// GoString returns the string representation
4861func (s DescribeInputInput) GoString() string {
4862	return s.String()
4863}
4864
4865// Validate inspects the fields of the type to determine if they are valid.
4866func (s *DescribeInputInput) Validate() error {
4867	invalidParams := request.ErrInvalidParams{Context: "DescribeInputInput"}
4868	if s.InputName == nil {
4869		invalidParams.Add(request.NewErrParamRequired("InputName"))
4870	}
4871	if s.InputName != nil && len(*s.InputName) < 1 {
4872		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
4873	}
4874
4875	if invalidParams.Len() > 0 {
4876		return invalidParams
4877	}
4878	return nil
4879}
4880
4881// SetInputName sets the InputName field's value.
4882func (s *DescribeInputInput) SetInputName(v string) *DescribeInputInput {
4883	s.InputName = &v
4884	return s
4885}
4886
4887type DescribeInputOutput struct {
4888	_ struct{} `type:"structure"`
4889
4890	// Information about the input.
4891	Input *Input `locationName:"input" type:"structure"`
4892}
4893
4894// String returns the string representation
4895func (s DescribeInputOutput) String() string {
4896	return awsutil.Prettify(s)
4897}
4898
4899// GoString returns the string representation
4900func (s DescribeInputOutput) GoString() string {
4901	return s.String()
4902}
4903
4904// SetInput sets the Input field's value.
4905func (s *DescribeInputOutput) SetInput(v *Input) *DescribeInputOutput {
4906	s.Input = v
4907	return s
4908}
4909
4910type DescribeLoggingOptionsInput struct {
4911	_ struct{} `type:"structure"`
4912}
4913
4914// String returns the string representation
4915func (s DescribeLoggingOptionsInput) String() string {
4916	return awsutil.Prettify(s)
4917}
4918
4919// GoString returns the string representation
4920func (s DescribeLoggingOptionsInput) GoString() string {
4921	return s.String()
4922}
4923
4924type DescribeLoggingOptionsOutput struct {
4925	_ struct{} `type:"structure"`
4926
4927	// The current settings of the AWS IoT Events logging options.
4928	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure"`
4929}
4930
4931// String returns the string representation
4932func (s DescribeLoggingOptionsOutput) String() string {
4933	return awsutil.Prettify(s)
4934}
4935
4936// GoString returns the string representation
4937func (s DescribeLoggingOptionsOutput) GoString() string {
4938	return s.String()
4939}
4940
4941// SetLoggingOptions sets the LoggingOptions field's value.
4942func (s *DescribeLoggingOptionsOutput) SetLoggingOptions(v *LoggingOptions) *DescribeLoggingOptionsOutput {
4943	s.LoggingOptions = v
4944	return s
4945}
4946
4947// The detector model and the specific detectors (instances) for which the logging
4948// level is given.
4949type DetectorDebugOption struct {
4950	_ struct{} `type:"structure"`
4951
4952	// The name of the detector model.
4953	//
4954	// DetectorModelName is a required field
4955	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string" required:"true"`
4956
4957	// The value of the input attribute key used to create the detector (the instance
4958	// of the detector model).
4959	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
4960}
4961
4962// String returns the string representation
4963func (s DetectorDebugOption) String() string {
4964	return awsutil.Prettify(s)
4965}
4966
4967// GoString returns the string representation
4968func (s DetectorDebugOption) GoString() string {
4969	return s.String()
4970}
4971
4972// Validate inspects the fields of the type to determine if they are valid.
4973func (s *DetectorDebugOption) Validate() error {
4974	invalidParams := request.ErrInvalidParams{Context: "DetectorDebugOption"}
4975	if s.DetectorModelName == nil {
4976		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
4977	}
4978	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
4979		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
4980	}
4981	if s.KeyValue != nil && len(*s.KeyValue) < 1 {
4982		invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1))
4983	}
4984
4985	if invalidParams.Len() > 0 {
4986		return invalidParams
4987	}
4988	return nil
4989}
4990
4991// SetDetectorModelName sets the DetectorModelName field's value.
4992func (s *DetectorDebugOption) SetDetectorModelName(v string) *DetectorDebugOption {
4993	s.DetectorModelName = &v
4994	return s
4995}
4996
4997// SetKeyValue sets the KeyValue field's value.
4998func (s *DetectorDebugOption) SetKeyValue(v string) *DetectorDebugOption {
4999	s.KeyValue = &v
5000	return s
5001}
5002
5003// Information about the detector model.
5004type DetectorModel struct {
5005	_ struct{} `type:"structure"`
5006
5007	// Information about how the detector is configured.
5008	DetectorModelConfiguration *DetectorModelConfiguration `locationName:"detectorModelConfiguration" type:"structure"`
5009
5010	// Information that defines how a detector operates.
5011	DetectorModelDefinition *DetectorModelDefinition `locationName:"detectorModelDefinition" type:"structure"`
5012}
5013
5014// String returns the string representation
5015func (s DetectorModel) String() string {
5016	return awsutil.Prettify(s)
5017}
5018
5019// GoString returns the string representation
5020func (s DetectorModel) GoString() string {
5021	return s.String()
5022}
5023
5024// SetDetectorModelConfiguration sets the DetectorModelConfiguration field's value.
5025func (s *DetectorModel) SetDetectorModelConfiguration(v *DetectorModelConfiguration) *DetectorModel {
5026	s.DetectorModelConfiguration = v
5027	return s
5028}
5029
5030// SetDetectorModelDefinition sets the DetectorModelDefinition field's value.
5031func (s *DetectorModel) SetDetectorModelDefinition(v *DetectorModelDefinition) *DetectorModel {
5032	s.DetectorModelDefinition = v
5033	return s
5034}
5035
5036// Information about how the detector model is configured.
5037type DetectorModelConfiguration struct {
5038	_ struct{} `type:"structure"`
5039
5040	// The time the detector model was created.
5041	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
5042
5043	// The ARN of the detector model.
5044	DetectorModelArn *string `locationName:"detectorModelArn" type:"string"`
5045
5046	// A brief description of the detector model.
5047	DetectorModelDescription *string `locationName:"detectorModelDescription" type:"string"`
5048
5049	// The name of the detector model.
5050	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string"`
5051
5052	// The version of the detector model.
5053	DetectorModelVersion *string `locationName:"detectorModelVersion" min:"1" type:"string"`
5054
5055	// Information about the order in which events are evaluated and how actions
5056	// are executed.
5057	EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"`
5058
5059	// The value used to identify a detector instance. When a device or system sends
5060	// input, a new detector instance with a unique key value is created. AWS IoT
5061	// Events can continue to route input to its corresponding detector instance
5062	// based on this identifying information.
5063	//
5064	// This parameter uses a JSON-path expression to select the attribute-value
5065	// pair in the message payload that is used for identification. To route the
5066	// message to the correct detector instance, the device must send a message
5067	// payload that contains the same attribute-value.
5068	Key *string `locationName:"key" min:"1" type:"string"`
5069
5070	// The time the detector model was last updated.
5071	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
5072
5073	// The ARN of the role that grants permission to AWS IoT Events to perform its
5074	// operations.
5075	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
5076
5077	// The status of the detector model.
5078	Status *string `locationName:"status" type:"string" enum:"DetectorModelVersionStatus"`
5079}
5080
5081// String returns the string representation
5082func (s DetectorModelConfiguration) String() string {
5083	return awsutil.Prettify(s)
5084}
5085
5086// GoString returns the string representation
5087func (s DetectorModelConfiguration) GoString() string {
5088	return s.String()
5089}
5090
5091// SetCreationTime sets the CreationTime field's value.
5092func (s *DetectorModelConfiguration) SetCreationTime(v time.Time) *DetectorModelConfiguration {
5093	s.CreationTime = &v
5094	return s
5095}
5096
5097// SetDetectorModelArn sets the DetectorModelArn field's value.
5098func (s *DetectorModelConfiguration) SetDetectorModelArn(v string) *DetectorModelConfiguration {
5099	s.DetectorModelArn = &v
5100	return s
5101}
5102
5103// SetDetectorModelDescription sets the DetectorModelDescription field's value.
5104func (s *DetectorModelConfiguration) SetDetectorModelDescription(v string) *DetectorModelConfiguration {
5105	s.DetectorModelDescription = &v
5106	return s
5107}
5108
5109// SetDetectorModelName sets the DetectorModelName field's value.
5110func (s *DetectorModelConfiguration) SetDetectorModelName(v string) *DetectorModelConfiguration {
5111	s.DetectorModelName = &v
5112	return s
5113}
5114
5115// SetDetectorModelVersion sets the DetectorModelVersion field's value.
5116func (s *DetectorModelConfiguration) SetDetectorModelVersion(v string) *DetectorModelConfiguration {
5117	s.DetectorModelVersion = &v
5118	return s
5119}
5120
5121// SetEvaluationMethod sets the EvaluationMethod field's value.
5122func (s *DetectorModelConfiguration) SetEvaluationMethod(v string) *DetectorModelConfiguration {
5123	s.EvaluationMethod = &v
5124	return s
5125}
5126
5127// SetKey sets the Key field's value.
5128func (s *DetectorModelConfiguration) SetKey(v string) *DetectorModelConfiguration {
5129	s.Key = &v
5130	return s
5131}
5132
5133// SetLastUpdateTime sets the LastUpdateTime field's value.
5134func (s *DetectorModelConfiguration) SetLastUpdateTime(v time.Time) *DetectorModelConfiguration {
5135	s.LastUpdateTime = &v
5136	return s
5137}
5138
5139// SetRoleArn sets the RoleArn field's value.
5140func (s *DetectorModelConfiguration) SetRoleArn(v string) *DetectorModelConfiguration {
5141	s.RoleArn = &v
5142	return s
5143}
5144
5145// SetStatus sets the Status field's value.
5146func (s *DetectorModelConfiguration) SetStatus(v string) *DetectorModelConfiguration {
5147	s.Status = &v
5148	return s
5149}
5150
5151// Information that defines how a detector operates.
5152type DetectorModelDefinition struct {
5153	_ struct{} `type:"structure"`
5154
5155	// The state that is entered at the creation of each detector (instance).
5156	//
5157	// InitialStateName is a required field
5158	InitialStateName *string `locationName:"initialStateName" min:"1" type:"string" required:"true"`
5159
5160	// Information about the states of the detector.
5161	//
5162	// States is a required field
5163	States []*State `locationName:"states" min:"1" type:"list" required:"true"`
5164}
5165
5166// String returns the string representation
5167func (s DetectorModelDefinition) String() string {
5168	return awsutil.Prettify(s)
5169}
5170
5171// GoString returns the string representation
5172func (s DetectorModelDefinition) GoString() string {
5173	return s.String()
5174}
5175
5176// Validate inspects the fields of the type to determine if they are valid.
5177func (s *DetectorModelDefinition) Validate() error {
5178	invalidParams := request.ErrInvalidParams{Context: "DetectorModelDefinition"}
5179	if s.InitialStateName == nil {
5180		invalidParams.Add(request.NewErrParamRequired("InitialStateName"))
5181	}
5182	if s.InitialStateName != nil && len(*s.InitialStateName) < 1 {
5183		invalidParams.Add(request.NewErrParamMinLen("InitialStateName", 1))
5184	}
5185	if s.States == nil {
5186		invalidParams.Add(request.NewErrParamRequired("States"))
5187	}
5188	if s.States != nil && len(s.States) < 1 {
5189		invalidParams.Add(request.NewErrParamMinLen("States", 1))
5190	}
5191	if s.States != nil {
5192		for i, v := range s.States {
5193			if v == nil {
5194				continue
5195			}
5196			if err := v.Validate(); err != nil {
5197				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "States", i), err.(request.ErrInvalidParams))
5198			}
5199		}
5200	}
5201
5202	if invalidParams.Len() > 0 {
5203		return invalidParams
5204	}
5205	return nil
5206}
5207
5208// SetInitialStateName sets the InitialStateName field's value.
5209func (s *DetectorModelDefinition) SetInitialStateName(v string) *DetectorModelDefinition {
5210	s.InitialStateName = &v
5211	return s
5212}
5213
5214// SetStates sets the States field's value.
5215func (s *DetectorModelDefinition) SetStates(v []*State) *DetectorModelDefinition {
5216	s.States = v
5217	return s
5218}
5219
5220// Information about the detector model.
5221type DetectorModelSummary struct {
5222	_ struct{} `type:"structure"`
5223
5224	// The time the detector model was created.
5225	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
5226
5227	// A brief description of the detector model.
5228	DetectorModelDescription *string `locationName:"detectorModelDescription" type:"string"`
5229
5230	// The name of the detector model.
5231	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string"`
5232}
5233
5234// String returns the string representation
5235func (s DetectorModelSummary) String() string {
5236	return awsutil.Prettify(s)
5237}
5238
5239// GoString returns the string representation
5240func (s DetectorModelSummary) GoString() string {
5241	return s.String()
5242}
5243
5244// SetCreationTime sets the CreationTime field's value.
5245func (s *DetectorModelSummary) SetCreationTime(v time.Time) *DetectorModelSummary {
5246	s.CreationTime = &v
5247	return s
5248}
5249
5250// SetDetectorModelDescription sets the DetectorModelDescription field's value.
5251func (s *DetectorModelSummary) SetDetectorModelDescription(v string) *DetectorModelSummary {
5252	s.DetectorModelDescription = &v
5253	return s
5254}
5255
5256// SetDetectorModelName sets the DetectorModelName field's value.
5257func (s *DetectorModelSummary) SetDetectorModelName(v string) *DetectorModelSummary {
5258	s.DetectorModelName = &v
5259	return s
5260}
5261
5262// Information about the detector model version.
5263type DetectorModelVersionSummary struct {
5264	_ struct{} `type:"structure"`
5265
5266	// The time the detector model version was created.
5267	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
5268
5269	// The ARN of the detector model version.
5270	DetectorModelArn *string `locationName:"detectorModelArn" type:"string"`
5271
5272	// The name of the detector model.
5273	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string"`
5274
5275	// The ID of the detector model version.
5276	DetectorModelVersion *string `locationName:"detectorModelVersion" min:"1" type:"string"`
5277
5278	// Information about the order in which events are evaluated and how actions
5279	// are executed.
5280	EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"`
5281
5282	// The last time the detector model version was updated.
5283	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
5284
5285	// The ARN of the role that grants the detector model permission to perform
5286	// its tasks.
5287	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
5288
5289	// The status of the detector model version.
5290	Status *string `locationName:"status" type:"string" enum:"DetectorModelVersionStatus"`
5291}
5292
5293// String returns the string representation
5294func (s DetectorModelVersionSummary) String() string {
5295	return awsutil.Prettify(s)
5296}
5297
5298// GoString returns the string representation
5299func (s DetectorModelVersionSummary) GoString() string {
5300	return s.String()
5301}
5302
5303// SetCreationTime sets the CreationTime field's value.
5304func (s *DetectorModelVersionSummary) SetCreationTime(v time.Time) *DetectorModelVersionSummary {
5305	s.CreationTime = &v
5306	return s
5307}
5308
5309// SetDetectorModelArn sets the DetectorModelArn field's value.
5310func (s *DetectorModelVersionSummary) SetDetectorModelArn(v string) *DetectorModelVersionSummary {
5311	s.DetectorModelArn = &v
5312	return s
5313}
5314
5315// SetDetectorModelName sets the DetectorModelName field's value.
5316func (s *DetectorModelVersionSummary) SetDetectorModelName(v string) *DetectorModelVersionSummary {
5317	s.DetectorModelName = &v
5318	return s
5319}
5320
5321// SetDetectorModelVersion sets the DetectorModelVersion field's value.
5322func (s *DetectorModelVersionSummary) SetDetectorModelVersion(v string) *DetectorModelVersionSummary {
5323	s.DetectorModelVersion = &v
5324	return s
5325}
5326
5327// SetEvaluationMethod sets the EvaluationMethod field's value.
5328func (s *DetectorModelVersionSummary) SetEvaluationMethod(v string) *DetectorModelVersionSummary {
5329	s.EvaluationMethod = &v
5330	return s
5331}
5332
5333// SetLastUpdateTime sets the LastUpdateTime field's value.
5334func (s *DetectorModelVersionSummary) SetLastUpdateTime(v time.Time) *DetectorModelVersionSummary {
5335	s.LastUpdateTime = &v
5336	return s
5337}
5338
5339// SetRoleArn sets the RoleArn field's value.
5340func (s *DetectorModelVersionSummary) SetRoleArn(v string) *DetectorModelVersionSummary {
5341	s.RoleArn = &v
5342	return s
5343}
5344
5345// SetStatus sets the Status field's value.
5346func (s *DetectorModelVersionSummary) SetStatus(v string) *DetectorModelVersionSummary {
5347	s.Status = &v
5348	return s
5349}
5350
5351// Defines an action to write to the Amazon DynamoDB table that you created.
5352// The standard action payload contains all the information about the detector
5353// model instance and the event that triggered the action. You can customize
5354// the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
5355// One column of the DynamoDB table receives all attribute-value pairs in the
5356// payload that you specify.
5357//
5358// You must use expressions for all parameters in DynamoDBAction. The expressions
5359// accept literals, operators, functions, references, and substitution templates.
5360//
5361// Examples
5362//
5363//    * For literal values, the expressions must contain single quotes. For
5364//    example, the value for the hashKeyType parameter can be 'STRING'.
5365//
5366//    * For references, you must specify either variables or input values. For
5367//    example, the value for the hashKeyField parameter can be $input.GreenhouseInput.name.
5368//
5369//    * For a substitution template, you must use ${}, and the template must
5370//    be in single quotes. A substitution template can also contain a combination
5371//    of literals, operators, functions, references, and substitution templates.
5372//    In the following example, the value for the hashKeyValue parameter uses
5373//    a substitution template. '${$input.GreenhouseInput.temperature * 6 / 5
5374//    + 32} in Fahrenheit'
5375//
5376//    * For a string concatenation, you must use +. A string concatenation can
5377//    also contain a combination of literals, operators, functions, references,
5378//    and substitution templates. In the following example, the value for the
5379//    tableName parameter uses a string concatenation. 'GreenhouseTemperatureTable
5380//    ' + $input.GreenhouseInput.date
5381//
5382// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
5383// in the AWS IoT Events Developer Guide.
5384//
5385// If the defined payload type is a string, DynamoDBAction writes non-JSON data
5386// to the DynamoDB table as binary data. The DynamoDB console displays the data
5387// as Base64-encoded text. The value for the payloadField parameter is <payload-field>_raw.
5388type DynamoDBAction struct {
5389	_ struct{} `type:"structure"`
5390
5391	// The name of the hash key (also called the partition key). The hashKeyField
5392	// value must match the partition key of the target DynamoDB table.
5393	//
5394	// HashKeyField is a required field
5395	HashKeyField *string `locationName:"hashKeyField" type:"string" required:"true"`
5396
5397	// The data type for the hash key (also called the partition key). You can specify
5398	// the following values:
5399	//
5400	//    * 'STRING' - The hash key is a string.
5401	//
5402	//    * 'NUMBER' - The hash key is a number.
5403	//
5404	// If you don't specify hashKeyType, the default value is 'STRING'.
5405	HashKeyType *string `locationName:"hashKeyType" type:"string"`
5406
5407	// The value of the hash key (also called the partition key).
5408	//
5409	// HashKeyValue is a required field
5410	HashKeyValue *string `locationName:"hashKeyValue" type:"string" required:"true"`
5411
5412	// The type of operation to perform. You can specify the following values:
5413	//
5414	//    * 'INSERT' - Insert data as a new item into the DynamoDB table. This item
5415	//    uses the specified hash key as a partition key. If you specified a range
5416	//    key, the item uses the range key as a sort key.
5417	//
5418	//    * 'UPDATE' - Update an existing item of the DynamoDB table with new data.
5419	//    This item's partition key must match the specified hash key. If you specified
5420	//    a range key, the range key must match the item's sort key.
5421	//
5422	//    * 'DELETE' - Delete an existing item of the DynamoDB table. This item's
5423	//    partition key must match the specified hash key. If you specified a range
5424	//    key, the range key must match the item's sort key.
5425	//
5426	// If you don't specify this parameter, AWS IoT Events triggers the 'INSERT'
5427	// operation.
5428	Operation *string `locationName:"operation" type:"string"`
5429
5430	// Information needed to configure the payload.
5431	//
5432	// By default, AWS IoT Events generates a standard payload in JSON for any action.
5433	// This action payload contains all attribute-value pairs that have the information
5434	// about the detector model instance and the event triggered the action. To
5435	// configure the action payload, you can use contentExpression.
5436	Payload *Payload `locationName:"payload" type:"structure"`
5437
5438	// The name of the DynamoDB column that receives the action payload.
5439	//
5440	// If you don't specify this parameter, the name of the DynamoDB column is payload.
5441	PayloadField *string `locationName:"payloadField" type:"string"`
5442
5443	// The name of the range key (also called the sort key). The rangeKeyField value
5444	// must match the sort key of the target DynamoDB table.
5445	RangeKeyField *string `locationName:"rangeKeyField" type:"string"`
5446
5447	// The data type for the range key (also called the sort key), You can specify
5448	// the following values:
5449	//
5450	//    * 'STRING' - The range key is a string.
5451	//
5452	//    * 'NUMBER' - The range key is number.
5453	//
5454	// If you don't specify rangeKeyField, the default value is 'STRING'.
5455	RangeKeyType *string `locationName:"rangeKeyType" type:"string"`
5456
5457	// The value of the range key (also called the sort key).
5458	RangeKeyValue *string `locationName:"rangeKeyValue" type:"string"`
5459
5460	// The name of the DynamoDB table. The tableName value must match the table
5461	// name of the target DynamoDB table.
5462	//
5463	// TableName is a required field
5464	TableName *string `locationName:"tableName" type:"string" required:"true"`
5465}
5466
5467// String returns the string representation
5468func (s DynamoDBAction) String() string {
5469	return awsutil.Prettify(s)
5470}
5471
5472// GoString returns the string representation
5473func (s DynamoDBAction) GoString() string {
5474	return s.String()
5475}
5476
5477// Validate inspects the fields of the type to determine if they are valid.
5478func (s *DynamoDBAction) Validate() error {
5479	invalidParams := request.ErrInvalidParams{Context: "DynamoDBAction"}
5480	if s.HashKeyField == nil {
5481		invalidParams.Add(request.NewErrParamRequired("HashKeyField"))
5482	}
5483	if s.HashKeyValue == nil {
5484		invalidParams.Add(request.NewErrParamRequired("HashKeyValue"))
5485	}
5486	if s.TableName == nil {
5487		invalidParams.Add(request.NewErrParamRequired("TableName"))
5488	}
5489	if s.Payload != nil {
5490		if err := s.Payload.Validate(); err != nil {
5491			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
5492		}
5493	}
5494
5495	if invalidParams.Len() > 0 {
5496		return invalidParams
5497	}
5498	return nil
5499}
5500
5501// SetHashKeyField sets the HashKeyField field's value.
5502func (s *DynamoDBAction) SetHashKeyField(v string) *DynamoDBAction {
5503	s.HashKeyField = &v
5504	return s
5505}
5506
5507// SetHashKeyType sets the HashKeyType field's value.
5508func (s *DynamoDBAction) SetHashKeyType(v string) *DynamoDBAction {
5509	s.HashKeyType = &v
5510	return s
5511}
5512
5513// SetHashKeyValue sets the HashKeyValue field's value.
5514func (s *DynamoDBAction) SetHashKeyValue(v string) *DynamoDBAction {
5515	s.HashKeyValue = &v
5516	return s
5517}
5518
5519// SetOperation sets the Operation field's value.
5520func (s *DynamoDBAction) SetOperation(v string) *DynamoDBAction {
5521	s.Operation = &v
5522	return s
5523}
5524
5525// SetPayload sets the Payload field's value.
5526func (s *DynamoDBAction) SetPayload(v *Payload) *DynamoDBAction {
5527	s.Payload = v
5528	return s
5529}
5530
5531// SetPayloadField sets the PayloadField field's value.
5532func (s *DynamoDBAction) SetPayloadField(v string) *DynamoDBAction {
5533	s.PayloadField = &v
5534	return s
5535}
5536
5537// SetRangeKeyField sets the RangeKeyField field's value.
5538func (s *DynamoDBAction) SetRangeKeyField(v string) *DynamoDBAction {
5539	s.RangeKeyField = &v
5540	return s
5541}
5542
5543// SetRangeKeyType sets the RangeKeyType field's value.
5544func (s *DynamoDBAction) SetRangeKeyType(v string) *DynamoDBAction {
5545	s.RangeKeyType = &v
5546	return s
5547}
5548
5549// SetRangeKeyValue sets the RangeKeyValue field's value.
5550func (s *DynamoDBAction) SetRangeKeyValue(v string) *DynamoDBAction {
5551	s.RangeKeyValue = &v
5552	return s
5553}
5554
5555// SetTableName sets the TableName field's value.
5556func (s *DynamoDBAction) SetTableName(v string) *DynamoDBAction {
5557	s.TableName = &v
5558	return s
5559}
5560
5561// Defines an action to write to the Amazon DynamoDB table that you created.
5562// The default action payload contains all the information about the detector
5563// model instance and the event that triggered the action. You can customize
5564// the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
5565// A separate column of the DynamoDB table receives one attribute-value pair
5566// in the payload that you specify.
5567//
5568// You must use expressions for all parameters in DynamoDBv2Action. The expressions
5569// accept literals, operators, functions, references, and substitution templates.
5570//
5571// Examples
5572//
5573//    * For literal values, the expressions must contain single quotes. For
5574//    example, the value for the tableName parameter can be 'GreenhouseTemperatureTable'.
5575//
5576//    * For references, you must specify either variables or input values. For
5577//    example, the value for the tableName parameter can be $variable.ddbtableName.
5578//
5579//    * For a substitution template, you must use ${}, and the template must
5580//    be in single quotes. A substitution template can also contain a combination
5581//    of literals, operators, functions, references, and substitution templates.
5582//    In the following example, the value for the contentExpression parameter
5583//    in Payload uses a substitution template. '{\"sensorID\": \"${$input.GreenhouseInput.sensor_id}\",
5584//    \"temperature\": \"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\"}'
5585//
5586//    * For a string concatenation, you must use +. A string concatenation can
5587//    also contain a combination of literals, operators, functions, references,
5588//    and substitution templates. In the following example, the value for the
5589//    tableName parameter uses a string concatenation. 'GreenhouseTemperatureTable
5590//    ' + $input.GreenhouseInput.date
5591//
5592// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
5593// in the AWS IoT Events Developer Guide.
5594//
5595// The value for the type parameter in Payload must be JSON.
5596type DynamoDBv2Action struct {
5597	_ struct{} `type:"structure"`
5598
5599	// Information needed to configure the payload.
5600	//
5601	// By default, AWS IoT Events generates a standard payload in JSON for any action.
5602	// This action payload contains all attribute-value pairs that have the information
5603	// about the detector model instance and the event triggered the action. To
5604	// configure the action payload, you can use contentExpression.
5605	Payload *Payload `locationName:"payload" type:"structure"`
5606
5607	// The name of the DynamoDB table.
5608	//
5609	// TableName is a required field
5610	TableName *string `locationName:"tableName" type:"string" required:"true"`
5611}
5612
5613// String returns the string representation
5614func (s DynamoDBv2Action) String() string {
5615	return awsutil.Prettify(s)
5616}
5617
5618// GoString returns the string representation
5619func (s DynamoDBv2Action) GoString() string {
5620	return s.String()
5621}
5622
5623// Validate inspects the fields of the type to determine if they are valid.
5624func (s *DynamoDBv2Action) Validate() error {
5625	invalidParams := request.ErrInvalidParams{Context: "DynamoDBv2Action"}
5626	if s.TableName == nil {
5627		invalidParams.Add(request.NewErrParamRequired("TableName"))
5628	}
5629	if s.Payload != nil {
5630		if err := s.Payload.Validate(); err != nil {
5631			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
5632		}
5633	}
5634
5635	if invalidParams.Len() > 0 {
5636		return invalidParams
5637	}
5638	return nil
5639}
5640
5641// SetPayload sets the Payload field's value.
5642func (s *DynamoDBv2Action) SetPayload(v *Payload) *DynamoDBv2Action {
5643	s.Payload = v
5644	return s
5645}
5646
5647// SetTableName sets the TableName field's value.
5648func (s *DynamoDBv2Action) SetTableName(v string) *DynamoDBv2Action {
5649	s.TableName = &v
5650	return s
5651}
5652
5653// Contains the configuration information of email notifications.
5654type EmailConfiguration struct {
5655	_ struct{} `type:"structure"`
5656
5657	// Contains the subject and message of an email.
5658	Content *EmailContent `locationName:"content" type:"structure"`
5659
5660	// The email address that sends emails.
5661	//
5662	// If you use the AWS IoT Events managed AWS Lambda function to manage your
5663	// emails, you must verify the email address that sends emails in Amazon SES
5664	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html).
5665	//
5666	// From is a required field
5667	From *string `locationName:"from" type:"string" required:"true"`
5668
5669	// Contains the information of one or more recipients who receive the emails.
5670	//
5671	// You must add the users that receive emails to your AWS SSO store (https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html).
5672	//
5673	// Recipients is a required field
5674	Recipients *EmailRecipients `locationName:"recipients" type:"structure" required:"true"`
5675}
5676
5677// String returns the string representation
5678func (s EmailConfiguration) String() string {
5679	return awsutil.Prettify(s)
5680}
5681
5682// GoString returns the string representation
5683func (s EmailConfiguration) GoString() string {
5684	return s.String()
5685}
5686
5687// Validate inspects the fields of the type to determine if they are valid.
5688func (s *EmailConfiguration) Validate() error {
5689	invalidParams := request.ErrInvalidParams{Context: "EmailConfiguration"}
5690	if s.From == nil {
5691		invalidParams.Add(request.NewErrParamRequired("From"))
5692	}
5693	if s.Recipients == nil {
5694		invalidParams.Add(request.NewErrParamRequired("Recipients"))
5695	}
5696	if s.Recipients != nil {
5697		if err := s.Recipients.Validate(); err != nil {
5698			invalidParams.AddNested("Recipients", err.(request.ErrInvalidParams))
5699		}
5700	}
5701
5702	if invalidParams.Len() > 0 {
5703		return invalidParams
5704	}
5705	return nil
5706}
5707
5708// SetContent sets the Content field's value.
5709func (s *EmailConfiguration) SetContent(v *EmailContent) *EmailConfiguration {
5710	s.Content = v
5711	return s
5712}
5713
5714// SetFrom sets the From field's value.
5715func (s *EmailConfiguration) SetFrom(v string) *EmailConfiguration {
5716	s.From = &v
5717	return s
5718}
5719
5720// SetRecipients sets the Recipients field's value.
5721func (s *EmailConfiguration) SetRecipients(v *EmailRecipients) *EmailConfiguration {
5722	s.Recipients = v
5723	return s
5724}
5725
5726// Contains the subject and message of an email.
5727type EmailContent struct {
5728	_ struct{} `type:"structure"`
5729
5730	// The message that you want to send. The message can be up to 200 characters.
5731	AdditionalMessage *string `locationName:"additionalMessage" type:"string"`
5732
5733	// The subject of the email.
5734	Subject *string `locationName:"subject" type:"string"`
5735}
5736
5737// String returns the string representation
5738func (s EmailContent) String() string {
5739	return awsutil.Prettify(s)
5740}
5741
5742// GoString returns the string representation
5743func (s EmailContent) GoString() string {
5744	return s.String()
5745}
5746
5747// SetAdditionalMessage sets the AdditionalMessage field's value.
5748func (s *EmailContent) SetAdditionalMessage(v string) *EmailContent {
5749	s.AdditionalMessage = &v
5750	return s
5751}
5752
5753// SetSubject sets the Subject field's value.
5754func (s *EmailContent) SetSubject(v string) *EmailContent {
5755	s.Subject = &v
5756	return s
5757}
5758
5759// Contains the information of one or more recipients who receive the emails.
5760//
5761// You must add the users that receive emails to your AWS SSO store (https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html).
5762type EmailRecipients struct {
5763	_ struct{} `type:"structure"`
5764
5765	// Specifies one or more recipients who receive the email.
5766	To []*RecipientDetail `locationName:"to" min:"1" type:"list"`
5767}
5768
5769// String returns the string representation
5770func (s EmailRecipients) String() string {
5771	return awsutil.Prettify(s)
5772}
5773
5774// GoString returns the string representation
5775func (s EmailRecipients) GoString() string {
5776	return s.String()
5777}
5778
5779// Validate inspects the fields of the type to determine if they are valid.
5780func (s *EmailRecipients) Validate() error {
5781	invalidParams := request.ErrInvalidParams{Context: "EmailRecipients"}
5782	if s.To != nil && len(s.To) < 1 {
5783		invalidParams.Add(request.NewErrParamMinLen("To", 1))
5784	}
5785	if s.To != nil {
5786		for i, v := range s.To {
5787			if v == nil {
5788				continue
5789			}
5790			if err := v.Validate(); err != nil {
5791				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "To", i), err.(request.ErrInvalidParams))
5792			}
5793		}
5794	}
5795
5796	if invalidParams.Len() > 0 {
5797		return invalidParams
5798	}
5799	return nil
5800}
5801
5802// SetTo sets the To field's value.
5803func (s *EmailRecipients) SetTo(v []*RecipientDetail) *EmailRecipients {
5804	s.To = v
5805	return s
5806}
5807
5808// Specifies the actions to be performed when the condition evaluates to TRUE.
5809type Event struct {
5810	_ struct{} `type:"structure"`
5811
5812	// The actions to be performed.
5813	Actions []*ActionData `locationName:"actions" type:"list"`
5814
5815	// Optional. The Boolean expression that, when TRUE, causes the actions to be
5816	// performed. If not present, the actions are performed (=TRUE). If the expression
5817	// result is not a Boolean value, the actions are not performed (=FALSE).
5818	Condition *string `locationName:"condition" type:"string"`
5819
5820	// The name of the event.
5821	//
5822	// EventName is a required field
5823	EventName *string `locationName:"eventName" type:"string" required:"true"`
5824}
5825
5826// String returns the string representation
5827func (s Event) String() string {
5828	return awsutil.Prettify(s)
5829}
5830
5831// GoString returns the string representation
5832func (s Event) GoString() string {
5833	return s.String()
5834}
5835
5836// Validate inspects the fields of the type to determine if they are valid.
5837func (s *Event) Validate() error {
5838	invalidParams := request.ErrInvalidParams{Context: "Event"}
5839	if s.EventName == nil {
5840		invalidParams.Add(request.NewErrParamRequired("EventName"))
5841	}
5842	if s.Actions != nil {
5843		for i, v := range s.Actions {
5844			if v == nil {
5845				continue
5846			}
5847			if err := v.Validate(); err != nil {
5848				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
5849			}
5850		}
5851	}
5852
5853	if invalidParams.Len() > 0 {
5854		return invalidParams
5855	}
5856	return nil
5857}
5858
5859// SetActions sets the Actions field's value.
5860func (s *Event) SetActions(v []*ActionData) *Event {
5861	s.Actions = v
5862	return s
5863}
5864
5865// SetCondition sets the Condition field's value.
5866func (s *Event) SetCondition(v string) *Event {
5867	s.Condition = &v
5868	return s
5869}
5870
5871// SetEventName sets the EventName field's value.
5872func (s *Event) SetEventName(v string) *Event {
5873	s.EventName = &v
5874	return s
5875}
5876
5877// Sends information about the detector model instance and the event that triggered
5878// the action to an Amazon Kinesis Data Firehose delivery stream.
5879type FirehoseAction struct {
5880	_ struct{} `type:"structure"`
5881
5882	// The name of the Kinesis Data Firehose delivery stream where the data is written.
5883	//
5884	// DeliveryStreamName is a required field
5885	DeliveryStreamName *string `locationName:"deliveryStreamName" type:"string" required:"true"`
5886
5887	// You can configure the action payload when you send a message to an Amazon
5888	// Kinesis Data Firehose delivery stream.
5889	Payload *Payload `locationName:"payload" type:"structure"`
5890
5891	// A character separator that is used to separate records written to the Kinesis
5892	// Data Firehose delivery stream. Valid values are: '\n' (newline), '\t' (tab),
5893	// '\r\n' (Windows newline), ',' (comma).
5894	Separator *string `locationName:"separator" type:"string"`
5895}
5896
5897// String returns the string representation
5898func (s FirehoseAction) String() string {
5899	return awsutil.Prettify(s)
5900}
5901
5902// GoString returns the string representation
5903func (s FirehoseAction) GoString() string {
5904	return s.String()
5905}
5906
5907// Validate inspects the fields of the type to determine if they are valid.
5908func (s *FirehoseAction) Validate() error {
5909	invalidParams := request.ErrInvalidParams{Context: "FirehoseAction"}
5910	if s.DeliveryStreamName == nil {
5911		invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName"))
5912	}
5913	if s.Payload != nil {
5914		if err := s.Payload.Validate(); err != nil {
5915			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
5916		}
5917	}
5918
5919	if invalidParams.Len() > 0 {
5920		return invalidParams
5921	}
5922	return nil
5923}
5924
5925// SetDeliveryStreamName sets the DeliveryStreamName field's value.
5926func (s *FirehoseAction) SetDeliveryStreamName(v string) *FirehoseAction {
5927	s.DeliveryStreamName = &v
5928	return s
5929}
5930
5931// SetPayload sets the Payload field's value.
5932func (s *FirehoseAction) SetPayload(v *Payload) *FirehoseAction {
5933	s.Payload = v
5934	return s
5935}
5936
5937// SetSeparator sets the Separator field's value.
5938func (s *FirehoseAction) SetSeparator(v string) *FirehoseAction {
5939	s.Separator = &v
5940	return s
5941}
5942
5943type GetDetectorModelAnalysisResultsInput struct {
5944	_ struct{} `type:"structure"`
5945
5946	// The ID of the analysis result that you want to retrieve.
5947	//
5948	// AnalysisId is a required field
5949	AnalysisId *string `location:"uri" locationName:"analysisId" type:"string" required:"true"`
5950
5951	// The maximum number of results to be returned per request.
5952	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
5953
5954	// The token that you can use to return the next set of results.
5955	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
5956}
5957
5958// String returns the string representation
5959func (s GetDetectorModelAnalysisResultsInput) String() string {
5960	return awsutil.Prettify(s)
5961}
5962
5963// GoString returns the string representation
5964func (s GetDetectorModelAnalysisResultsInput) GoString() string {
5965	return s.String()
5966}
5967
5968// Validate inspects the fields of the type to determine if they are valid.
5969func (s *GetDetectorModelAnalysisResultsInput) Validate() error {
5970	invalidParams := request.ErrInvalidParams{Context: "GetDetectorModelAnalysisResultsInput"}
5971	if s.AnalysisId == nil {
5972		invalidParams.Add(request.NewErrParamRequired("AnalysisId"))
5973	}
5974	if s.AnalysisId != nil && len(*s.AnalysisId) < 1 {
5975		invalidParams.Add(request.NewErrParamMinLen("AnalysisId", 1))
5976	}
5977
5978	if invalidParams.Len() > 0 {
5979		return invalidParams
5980	}
5981	return nil
5982}
5983
5984// SetAnalysisId sets the AnalysisId field's value.
5985func (s *GetDetectorModelAnalysisResultsInput) SetAnalysisId(v string) *GetDetectorModelAnalysisResultsInput {
5986	s.AnalysisId = &v
5987	return s
5988}
5989
5990// SetMaxResults sets the MaxResults field's value.
5991func (s *GetDetectorModelAnalysisResultsInput) SetMaxResults(v int64) *GetDetectorModelAnalysisResultsInput {
5992	s.MaxResults = &v
5993	return s
5994}
5995
5996// SetNextToken sets the NextToken field's value.
5997func (s *GetDetectorModelAnalysisResultsInput) SetNextToken(v string) *GetDetectorModelAnalysisResultsInput {
5998	s.NextToken = &v
5999	return s
6000}
6001
6002type GetDetectorModelAnalysisResultsOutput struct {
6003	_ struct{} `type:"structure"`
6004
6005	// Contains information about one or more analysis results.
6006	AnalysisResults []*AnalysisResult `locationName:"analysisResults" type:"list"`
6007
6008	// The token that you can use to return the next set of results, or null if
6009	// there are no more results.
6010	NextToken *string `locationName:"nextToken" type:"string"`
6011}
6012
6013// String returns the string representation
6014func (s GetDetectorModelAnalysisResultsOutput) String() string {
6015	return awsutil.Prettify(s)
6016}
6017
6018// GoString returns the string representation
6019func (s GetDetectorModelAnalysisResultsOutput) GoString() string {
6020	return s.String()
6021}
6022
6023// SetAnalysisResults sets the AnalysisResults field's value.
6024func (s *GetDetectorModelAnalysisResultsOutput) SetAnalysisResults(v []*AnalysisResult) *GetDetectorModelAnalysisResultsOutput {
6025	s.AnalysisResults = v
6026	return s
6027}
6028
6029// SetNextToken sets the NextToken field's value.
6030func (s *GetDetectorModelAnalysisResultsOutput) SetNextToken(v string) *GetDetectorModelAnalysisResultsOutput {
6031	s.NextToken = &v
6032	return s
6033}
6034
6035// Specifies the default alarm state. The configuration applies to all alarms
6036// that were created based on this alarm model.
6037type InitializationConfiguration struct {
6038	_ struct{} `type:"structure"`
6039
6040	// The value must be TRUE or FALSE. If FALSE, all alarm instances created based
6041	// on the alarm model are activated. The default value is TRUE.
6042	//
6043	// DisabledOnInitialization is a required field
6044	DisabledOnInitialization *bool `locationName:"disabledOnInitialization" type:"boolean" required:"true"`
6045}
6046
6047// String returns the string representation
6048func (s InitializationConfiguration) String() string {
6049	return awsutil.Prettify(s)
6050}
6051
6052// GoString returns the string representation
6053func (s InitializationConfiguration) GoString() string {
6054	return s.String()
6055}
6056
6057// Validate inspects the fields of the type to determine if they are valid.
6058func (s *InitializationConfiguration) Validate() error {
6059	invalidParams := request.ErrInvalidParams{Context: "InitializationConfiguration"}
6060	if s.DisabledOnInitialization == nil {
6061		invalidParams.Add(request.NewErrParamRequired("DisabledOnInitialization"))
6062	}
6063
6064	if invalidParams.Len() > 0 {
6065		return invalidParams
6066	}
6067	return nil
6068}
6069
6070// SetDisabledOnInitialization sets the DisabledOnInitialization field's value.
6071func (s *InitializationConfiguration) SetDisabledOnInitialization(v bool) *InitializationConfiguration {
6072	s.DisabledOnInitialization = &v
6073	return s
6074}
6075
6076// Information about the input.
6077type Input struct {
6078	_ struct{} `type:"structure"`
6079
6080	// Information about the configuration of an input.
6081	InputConfiguration *InputConfiguration `locationName:"inputConfiguration" type:"structure"`
6082
6083	// The definition of the input.
6084	InputDefinition *InputDefinition `locationName:"inputDefinition" type:"structure"`
6085}
6086
6087// String returns the string representation
6088func (s Input) String() string {
6089	return awsutil.Prettify(s)
6090}
6091
6092// GoString returns the string representation
6093func (s Input) GoString() string {
6094	return s.String()
6095}
6096
6097// SetInputConfiguration sets the InputConfiguration field's value.
6098func (s *Input) SetInputConfiguration(v *InputConfiguration) *Input {
6099	s.InputConfiguration = v
6100	return s
6101}
6102
6103// SetInputDefinition sets the InputDefinition field's value.
6104func (s *Input) SetInputDefinition(v *InputDefinition) *Input {
6105	s.InputDefinition = v
6106	return s
6107}
6108
6109// Information about the configuration of an input.
6110type InputConfiguration struct {
6111	_ struct{} `type:"structure"`
6112
6113	// The time the input was created.
6114	//
6115	// CreationTime is a required field
6116	CreationTime *time.Time `locationName:"creationTime" type:"timestamp" required:"true"`
6117
6118	// The ARN of the input.
6119	//
6120	// InputArn is a required field
6121	InputArn *string `locationName:"inputArn" type:"string" required:"true"`
6122
6123	// A brief description of the input.
6124	InputDescription *string `locationName:"inputDescription" type:"string"`
6125
6126	// The name of the input.
6127	//
6128	// InputName is a required field
6129	InputName *string `locationName:"inputName" min:"1" type:"string" required:"true"`
6130
6131	// The last time the input was updated.
6132	//
6133	// LastUpdateTime is a required field
6134	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp" required:"true"`
6135
6136	// The status of the input.
6137	//
6138	// Status is a required field
6139	Status *string `locationName:"status" type:"string" required:"true" enum:"InputStatus"`
6140}
6141
6142// String returns the string representation
6143func (s InputConfiguration) String() string {
6144	return awsutil.Prettify(s)
6145}
6146
6147// GoString returns the string representation
6148func (s InputConfiguration) GoString() string {
6149	return s.String()
6150}
6151
6152// SetCreationTime sets the CreationTime field's value.
6153func (s *InputConfiguration) SetCreationTime(v time.Time) *InputConfiguration {
6154	s.CreationTime = &v
6155	return s
6156}
6157
6158// SetInputArn sets the InputArn field's value.
6159func (s *InputConfiguration) SetInputArn(v string) *InputConfiguration {
6160	s.InputArn = &v
6161	return s
6162}
6163
6164// SetInputDescription sets the InputDescription field's value.
6165func (s *InputConfiguration) SetInputDescription(v string) *InputConfiguration {
6166	s.InputDescription = &v
6167	return s
6168}
6169
6170// SetInputName sets the InputName field's value.
6171func (s *InputConfiguration) SetInputName(v string) *InputConfiguration {
6172	s.InputName = &v
6173	return s
6174}
6175
6176// SetLastUpdateTime sets the LastUpdateTime field's value.
6177func (s *InputConfiguration) SetLastUpdateTime(v time.Time) *InputConfiguration {
6178	s.LastUpdateTime = &v
6179	return s
6180}
6181
6182// SetStatus sets the Status field's value.
6183func (s *InputConfiguration) SetStatus(v string) *InputConfiguration {
6184	s.Status = &v
6185	return s
6186}
6187
6188// The definition of the input.
6189type InputDefinition struct {
6190	_ struct{} `type:"structure"`
6191
6192	// The attributes from the JSON payload that are made available by the input.
6193	// Inputs are derived from messages sent to the AWS IoT Events system using
6194	// BatchPutMessage. Each such message contains a JSON payload, and those attributes
6195	// (and their paired values) specified here are available for use in the condition
6196	// expressions used by detectors that monitor this input.
6197	//
6198	// Attributes is a required field
6199	Attributes []*Attribute `locationName:"attributes" min:"1" type:"list" required:"true"`
6200}
6201
6202// String returns the string representation
6203func (s InputDefinition) String() string {
6204	return awsutil.Prettify(s)
6205}
6206
6207// GoString returns the string representation
6208func (s InputDefinition) GoString() string {
6209	return s.String()
6210}
6211
6212// Validate inspects the fields of the type to determine if they are valid.
6213func (s *InputDefinition) Validate() error {
6214	invalidParams := request.ErrInvalidParams{Context: "InputDefinition"}
6215	if s.Attributes == nil {
6216		invalidParams.Add(request.NewErrParamRequired("Attributes"))
6217	}
6218	if s.Attributes != nil && len(s.Attributes) < 1 {
6219		invalidParams.Add(request.NewErrParamMinLen("Attributes", 1))
6220	}
6221	if s.Attributes != nil {
6222		for i, v := range s.Attributes {
6223			if v == nil {
6224				continue
6225			}
6226			if err := v.Validate(); err != nil {
6227				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
6228			}
6229		}
6230	}
6231
6232	if invalidParams.Len() > 0 {
6233		return invalidParams
6234	}
6235	return nil
6236}
6237
6238// SetAttributes sets the Attributes field's value.
6239func (s *InputDefinition) SetAttributes(v []*Attribute) *InputDefinition {
6240	s.Attributes = v
6241	return s
6242}
6243
6244// The identifer of the input.
6245type InputIdentifier struct {
6246	_ struct{} `type:"structure"`
6247
6248	// The identifier of the input routed to AWS IoT Events.
6249	IotEventsInputIdentifier *IotEventsInputIdentifier `locationName:"iotEventsInputIdentifier" type:"structure"`
6250
6251	// The identifer of the input routed from AWS IoT SiteWise.
6252	IotSiteWiseInputIdentifier *IotSiteWiseInputIdentifier `locationName:"iotSiteWiseInputIdentifier" type:"structure"`
6253}
6254
6255// String returns the string representation
6256func (s InputIdentifier) String() string {
6257	return awsutil.Prettify(s)
6258}
6259
6260// GoString returns the string representation
6261func (s InputIdentifier) GoString() string {
6262	return s.String()
6263}
6264
6265// Validate inspects the fields of the type to determine if they are valid.
6266func (s *InputIdentifier) Validate() error {
6267	invalidParams := request.ErrInvalidParams{Context: "InputIdentifier"}
6268	if s.IotEventsInputIdentifier != nil {
6269		if err := s.IotEventsInputIdentifier.Validate(); err != nil {
6270			invalidParams.AddNested("IotEventsInputIdentifier", err.(request.ErrInvalidParams))
6271		}
6272	}
6273	if s.IotSiteWiseInputIdentifier != nil {
6274		if err := s.IotSiteWiseInputIdentifier.Validate(); err != nil {
6275			invalidParams.AddNested("IotSiteWiseInputIdentifier", err.(request.ErrInvalidParams))
6276		}
6277	}
6278
6279	if invalidParams.Len() > 0 {
6280		return invalidParams
6281	}
6282	return nil
6283}
6284
6285// SetIotEventsInputIdentifier sets the IotEventsInputIdentifier field's value.
6286func (s *InputIdentifier) SetIotEventsInputIdentifier(v *IotEventsInputIdentifier) *InputIdentifier {
6287	s.IotEventsInputIdentifier = v
6288	return s
6289}
6290
6291// SetIotSiteWiseInputIdentifier sets the IotSiteWiseInputIdentifier field's value.
6292func (s *InputIdentifier) SetIotSiteWiseInputIdentifier(v *IotSiteWiseInputIdentifier) *InputIdentifier {
6293	s.IotSiteWiseInputIdentifier = v
6294	return s
6295}
6296
6297// Information about the input.
6298type InputSummary struct {
6299	_ struct{} `type:"structure"`
6300
6301	// The time the input was created.
6302	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
6303
6304	// The ARN of the input.
6305	InputArn *string `locationName:"inputArn" type:"string"`
6306
6307	// A brief description of the input.
6308	InputDescription *string `locationName:"inputDescription" type:"string"`
6309
6310	// The name of the input.
6311	InputName *string `locationName:"inputName" min:"1" type:"string"`
6312
6313	// The last time the input was updated.
6314	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
6315
6316	// The status of the input.
6317	Status *string `locationName:"status" type:"string" enum:"InputStatus"`
6318}
6319
6320// String returns the string representation
6321func (s InputSummary) String() string {
6322	return awsutil.Prettify(s)
6323}
6324
6325// GoString returns the string representation
6326func (s InputSummary) GoString() string {
6327	return s.String()
6328}
6329
6330// SetCreationTime sets the CreationTime field's value.
6331func (s *InputSummary) SetCreationTime(v time.Time) *InputSummary {
6332	s.CreationTime = &v
6333	return s
6334}
6335
6336// SetInputArn sets the InputArn field's value.
6337func (s *InputSummary) SetInputArn(v string) *InputSummary {
6338	s.InputArn = &v
6339	return s
6340}
6341
6342// SetInputDescription sets the InputDescription field's value.
6343func (s *InputSummary) SetInputDescription(v string) *InputSummary {
6344	s.InputDescription = &v
6345	return s
6346}
6347
6348// SetInputName sets the InputName field's value.
6349func (s *InputSummary) SetInputName(v string) *InputSummary {
6350	s.InputName = &v
6351	return s
6352}
6353
6354// SetLastUpdateTime sets the LastUpdateTime field's value.
6355func (s *InputSummary) SetLastUpdateTime(v time.Time) *InputSummary {
6356	s.LastUpdateTime = &v
6357	return s
6358}
6359
6360// SetStatus sets the Status field's value.
6361func (s *InputSummary) SetStatus(v string) *InputSummary {
6362	s.Status = &v
6363	return s
6364}
6365
6366// An internal failure occurred.
6367type InternalFailureException struct {
6368	_            struct{}                  `type:"structure"`
6369	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6370
6371	// The message for the exception.
6372	Message_ *string `locationName:"message" type:"string"`
6373}
6374
6375// String returns the string representation
6376func (s InternalFailureException) String() string {
6377	return awsutil.Prettify(s)
6378}
6379
6380// GoString returns the string representation
6381func (s InternalFailureException) GoString() string {
6382	return s.String()
6383}
6384
6385func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
6386	return &InternalFailureException{
6387		RespMetadata: v,
6388	}
6389}
6390
6391// Code returns the exception type name.
6392func (s *InternalFailureException) Code() string {
6393	return "InternalFailureException"
6394}
6395
6396// Message returns the exception's message.
6397func (s *InternalFailureException) Message() string {
6398	if s.Message_ != nil {
6399		return *s.Message_
6400	}
6401	return ""
6402}
6403
6404// OrigErr always returns nil, satisfies awserr.Error interface.
6405func (s *InternalFailureException) OrigErr() error {
6406	return nil
6407}
6408
6409func (s *InternalFailureException) Error() string {
6410	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6411}
6412
6413// Status code returns the HTTP status code for the request's response error.
6414func (s *InternalFailureException) StatusCode() int {
6415	return s.RespMetadata.StatusCode
6416}
6417
6418// RequestID returns the service's response RequestID for request.
6419func (s *InternalFailureException) RequestID() string {
6420	return s.RespMetadata.RequestID
6421}
6422
6423// The request was invalid.
6424type InvalidRequestException struct {
6425	_            struct{}                  `type:"structure"`
6426	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6427
6428	// The message for the exception.
6429	Message_ *string `locationName:"message" type:"string"`
6430}
6431
6432// String returns the string representation
6433func (s InvalidRequestException) String() string {
6434	return awsutil.Prettify(s)
6435}
6436
6437// GoString returns the string representation
6438func (s InvalidRequestException) GoString() string {
6439	return s.String()
6440}
6441
6442func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
6443	return &InvalidRequestException{
6444		RespMetadata: v,
6445	}
6446}
6447
6448// Code returns the exception type name.
6449func (s *InvalidRequestException) Code() string {
6450	return "InvalidRequestException"
6451}
6452
6453// Message returns the exception's message.
6454func (s *InvalidRequestException) Message() string {
6455	if s.Message_ != nil {
6456		return *s.Message_
6457	}
6458	return ""
6459}
6460
6461// OrigErr always returns nil, satisfies awserr.Error interface.
6462func (s *InvalidRequestException) OrigErr() error {
6463	return nil
6464}
6465
6466func (s *InvalidRequestException) Error() string {
6467	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6468}
6469
6470// Status code returns the HTTP status code for the request's response error.
6471func (s *InvalidRequestException) StatusCode() int {
6472	return s.RespMetadata.StatusCode
6473}
6474
6475// RequestID returns the service's response RequestID for request.
6476func (s *InvalidRequestException) RequestID() string {
6477	return s.RespMetadata.RequestID
6478}
6479
6480// The identifier of the input routed to AWS IoT Events.
6481type IotEventsInputIdentifier struct {
6482	_ struct{} `type:"structure"`
6483
6484	// The name of the input routed to AWS IoT Events.
6485	//
6486	// InputName is a required field
6487	InputName *string `locationName:"inputName" min:"1" type:"string" required:"true"`
6488}
6489
6490// String returns the string representation
6491func (s IotEventsInputIdentifier) String() string {
6492	return awsutil.Prettify(s)
6493}
6494
6495// GoString returns the string representation
6496func (s IotEventsInputIdentifier) GoString() string {
6497	return s.String()
6498}
6499
6500// Validate inspects the fields of the type to determine if they are valid.
6501func (s *IotEventsInputIdentifier) Validate() error {
6502	invalidParams := request.ErrInvalidParams{Context: "IotEventsInputIdentifier"}
6503	if s.InputName == nil {
6504		invalidParams.Add(request.NewErrParamRequired("InputName"))
6505	}
6506	if s.InputName != nil && len(*s.InputName) < 1 {
6507		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
6508	}
6509
6510	if invalidParams.Len() > 0 {
6511		return invalidParams
6512	}
6513	return nil
6514}
6515
6516// SetInputName sets the InputName field's value.
6517func (s *IotEventsInputIdentifier) SetInputName(v string) *IotEventsInputIdentifier {
6518	s.InputName = &v
6519	return s
6520}
6521
6522// Sends information about the detector model instance and the event that triggered
6523// the action to a specified asset property in AWS IoT SiteWise.
6524//
6525// You must use expressions for all parameters in IotSiteWiseAction. The expressions
6526// accept literals, operators, functions, references, and substitutions templates.
6527//
6528// Examples
6529//
6530//    * For literal values, the expressions must contain single quotes. For
6531//    example, the value for the propertyAlias parameter can be '/company/windfarm/3/turbine/7/temperature'.
6532//
6533//    * For references, you must specify either variables or input values. For
6534//    example, the value for the assetId parameter can be $input.TurbineInput.assetId1.
6535//
6536//    * For a substitution template, you must use ${}, and the template must
6537//    be in single quotes. A substitution template can also contain a combination
6538//    of literals, operators, functions, references, and substitution templates.
6539//    In the following example, the value for the propertyAlias parameter uses
6540//    a substitution template. 'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/
6541//    ${$input.TemperatureInput.sensorData.turbineID}/temperature'
6542//
6543// You must specify either propertyAlias or both assetId and propertyId to identify
6544// the target asset property in AWS IoT SiteWise.
6545//
6546// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
6547// in the AWS IoT Events Developer Guide.
6548type IotSiteWiseAction struct {
6549	_ struct{} `type:"structure"`
6550
6551	// The ID of the asset that has the specified property.
6552	AssetId *string `locationName:"assetId" type:"string"`
6553
6554	// A unique identifier for this entry. You can use the entry ID to track which
6555	// data entry causes an error in case of failure. The default is a new unique
6556	// identifier.
6557	EntryId *string `locationName:"entryId" type:"string"`
6558
6559	// The alias of the asset property.
6560	PropertyAlias *string `locationName:"propertyAlias" type:"string"`
6561
6562	// The ID of the asset property.
6563	PropertyId *string `locationName:"propertyId" type:"string"`
6564
6565	// The value to send to the asset property. This value contains timestamp, quality,
6566	// and value (TQV) information.
6567	PropertyValue *AssetPropertyValue `locationName:"propertyValue" type:"structure"`
6568}
6569
6570// String returns the string representation
6571func (s IotSiteWiseAction) String() string {
6572	return awsutil.Prettify(s)
6573}
6574
6575// GoString returns the string representation
6576func (s IotSiteWiseAction) GoString() string {
6577	return s.String()
6578}
6579
6580// Validate inspects the fields of the type to determine if they are valid.
6581func (s *IotSiteWiseAction) Validate() error {
6582	invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseAction"}
6583	if s.PropertyValue != nil {
6584		if err := s.PropertyValue.Validate(); err != nil {
6585			invalidParams.AddNested("PropertyValue", err.(request.ErrInvalidParams))
6586		}
6587	}
6588
6589	if invalidParams.Len() > 0 {
6590		return invalidParams
6591	}
6592	return nil
6593}
6594
6595// SetAssetId sets the AssetId field's value.
6596func (s *IotSiteWiseAction) SetAssetId(v string) *IotSiteWiseAction {
6597	s.AssetId = &v
6598	return s
6599}
6600
6601// SetEntryId sets the EntryId field's value.
6602func (s *IotSiteWiseAction) SetEntryId(v string) *IotSiteWiseAction {
6603	s.EntryId = &v
6604	return s
6605}
6606
6607// SetPropertyAlias sets the PropertyAlias field's value.
6608func (s *IotSiteWiseAction) SetPropertyAlias(v string) *IotSiteWiseAction {
6609	s.PropertyAlias = &v
6610	return s
6611}
6612
6613// SetPropertyId sets the PropertyId field's value.
6614func (s *IotSiteWiseAction) SetPropertyId(v string) *IotSiteWiseAction {
6615	s.PropertyId = &v
6616	return s
6617}
6618
6619// SetPropertyValue sets the PropertyValue field's value.
6620func (s *IotSiteWiseAction) SetPropertyValue(v *AssetPropertyValue) *IotSiteWiseAction {
6621	s.PropertyValue = v
6622	return s
6623}
6624
6625// The asset model property identifer of the input routed from AWS IoT SiteWise.
6626type IotSiteWiseAssetModelPropertyIdentifier struct {
6627	_ struct{} `type:"structure"`
6628
6629	// The ID of the AWS IoT SiteWise asset model.
6630	//
6631	// AssetModelId is a required field
6632	AssetModelId *string `locationName:"assetModelId" type:"string" required:"true"`
6633
6634	// The ID of the AWS IoT SiteWise asset property.
6635	//
6636	// PropertyId is a required field
6637	PropertyId *string `locationName:"propertyId" type:"string" required:"true"`
6638}
6639
6640// String returns the string representation
6641func (s IotSiteWiseAssetModelPropertyIdentifier) String() string {
6642	return awsutil.Prettify(s)
6643}
6644
6645// GoString returns the string representation
6646func (s IotSiteWiseAssetModelPropertyIdentifier) GoString() string {
6647	return s.String()
6648}
6649
6650// Validate inspects the fields of the type to determine if they are valid.
6651func (s *IotSiteWiseAssetModelPropertyIdentifier) Validate() error {
6652	invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseAssetModelPropertyIdentifier"}
6653	if s.AssetModelId == nil {
6654		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
6655	}
6656	if s.PropertyId == nil {
6657		invalidParams.Add(request.NewErrParamRequired("PropertyId"))
6658	}
6659
6660	if invalidParams.Len() > 0 {
6661		return invalidParams
6662	}
6663	return nil
6664}
6665
6666// SetAssetModelId sets the AssetModelId field's value.
6667func (s *IotSiteWiseAssetModelPropertyIdentifier) SetAssetModelId(v string) *IotSiteWiseAssetModelPropertyIdentifier {
6668	s.AssetModelId = &v
6669	return s
6670}
6671
6672// SetPropertyId sets the PropertyId field's value.
6673func (s *IotSiteWiseAssetModelPropertyIdentifier) SetPropertyId(v string) *IotSiteWiseAssetModelPropertyIdentifier {
6674	s.PropertyId = &v
6675	return s
6676}
6677
6678// The identifer of the input routed from AWS IoT SiteWise.
6679type IotSiteWiseInputIdentifier struct {
6680	_ struct{} `type:"structure"`
6681
6682	// The identifier of the AWS IoT SiteWise asset model property.
6683	IotSiteWiseAssetModelPropertyIdentifier *IotSiteWiseAssetModelPropertyIdentifier `locationName:"iotSiteWiseAssetModelPropertyIdentifier" type:"structure"`
6684}
6685
6686// String returns the string representation
6687func (s IotSiteWiseInputIdentifier) String() string {
6688	return awsutil.Prettify(s)
6689}
6690
6691// GoString returns the string representation
6692func (s IotSiteWiseInputIdentifier) GoString() string {
6693	return s.String()
6694}
6695
6696// Validate inspects the fields of the type to determine if they are valid.
6697func (s *IotSiteWiseInputIdentifier) Validate() error {
6698	invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseInputIdentifier"}
6699	if s.IotSiteWiseAssetModelPropertyIdentifier != nil {
6700		if err := s.IotSiteWiseAssetModelPropertyIdentifier.Validate(); err != nil {
6701			invalidParams.AddNested("IotSiteWiseAssetModelPropertyIdentifier", err.(request.ErrInvalidParams))
6702		}
6703	}
6704
6705	if invalidParams.Len() > 0 {
6706		return invalidParams
6707	}
6708	return nil
6709}
6710
6711// SetIotSiteWiseAssetModelPropertyIdentifier sets the IotSiteWiseAssetModelPropertyIdentifier field's value.
6712func (s *IotSiteWiseInputIdentifier) SetIotSiteWiseAssetModelPropertyIdentifier(v *IotSiteWiseAssetModelPropertyIdentifier) *IotSiteWiseInputIdentifier {
6713	s.IotSiteWiseAssetModelPropertyIdentifier = v
6714	return s
6715}
6716
6717// Information required to publish the MQTT message through the AWS IoT message
6718// broker.
6719type IotTopicPublishAction struct {
6720	_ struct{} `type:"structure"`
6721
6722	// The MQTT topic of the message. You can use a string expression that includes
6723	// variables ($variable.<variable-name>) and input values ($input.<input-name>.<path-to-datum>)
6724	// as the topic string.
6725	//
6726	// MqttTopic is a required field
6727	MqttTopic *string `locationName:"mqttTopic" min:"1" type:"string" required:"true"`
6728
6729	// You can configure the action payload when you publish a message to an AWS
6730	// IoT Core topic.
6731	Payload *Payload `locationName:"payload" type:"structure"`
6732}
6733
6734// String returns the string representation
6735func (s IotTopicPublishAction) String() string {
6736	return awsutil.Prettify(s)
6737}
6738
6739// GoString returns the string representation
6740func (s IotTopicPublishAction) GoString() string {
6741	return s.String()
6742}
6743
6744// Validate inspects the fields of the type to determine if they are valid.
6745func (s *IotTopicPublishAction) Validate() error {
6746	invalidParams := request.ErrInvalidParams{Context: "IotTopicPublishAction"}
6747	if s.MqttTopic == nil {
6748		invalidParams.Add(request.NewErrParamRequired("MqttTopic"))
6749	}
6750	if s.MqttTopic != nil && len(*s.MqttTopic) < 1 {
6751		invalidParams.Add(request.NewErrParamMinLen("MqttTopic", 1))
6752	}
6753	if s.Payload != nil {
6754		if err := s.Payload.Validate(); err != nil {
6755			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
6756		}
6757	}
6758
6759	if invalidParams.Len() > 0 {
6760		return invalidParams
6761	}
6762	return nil
6763}
6764
6765// SetMqttTopic sets the MqttTopic field's value.
6766func (s *IotTopicPublishAction) SetMqttTopic(v string) *IotTopicPublishAction {
6767	s.MqttTopic = &v
6768	return s
6769}
6770
6771// SetPayload sets the Payload field's value.
6772func (s *IotTopicPublishAction) SetPayload(v *Payload) *IotTopicPublishAction {
6773	s.Payload = v
6774	return s
6775}
6776
6777// Calls a Lambda function, passing in information about the detector model
6778// instance and the event that triggered the action.
6779type LambdaAction struct {
6780	_ struct{} `type:"structure"`
6781
6782	// The ARN of the Lambda function that is executed.
6783	//
6784	// FunctionArn is a required field
6785	FunctionArn *string `locationName:"functionArn" min:"1" type:"string" required:"true"`
6786
6787	// You can configure the action payload when you send a message to a Lambda
6788	// function.
6789	Payload *Payload `locationName:"payload" type:"structure"`
6790}
6791
6792// String returns the string representation
6793func (s LambdaAction) String() string {
6794	return awsutil.Prettify(s)
6795}
6796
6797// GoString returns the string representation
6798func (s LambdaAction) GoString() string {
6799	return s.String()
6800}
6801
6802// Validate inspects the fields of the type to determine if they are valid.
6803func (s *LambdaAction) Validate() error {
6804	invalidParams := request.ErrInvalidParams{Context: "LambdaAction"}
6805	if s.FunctionArn == nil {
6806		invalidParams.Add(request.NewErrParamRequired("FunctionArn"))
6807	}
6808	if s.FunctionArn != nil && len(*s.FunctionArn) < 1 {
6809		invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1))
6810	}
6811	if s.Payload != nil {
6812		if err := s.Payload.Validate(); err != nil {
6813			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
6814		}
6815	}
6816
6817	if invalidParams.Len() > 0 {
6818		return invalidParams
6819	}
6820	return nil
6821}
6822
6823// SetFunctionArn sets the FunctionArn field's value.
6824func (s *LambdaAction) SetFunctionArn(v string) *LambdaAction {
6825	s.FunctionArn = &v
6826	return s
6827}
6828
6829// SetPayload sets the Payload field's value.
6830func (s *LambdaAction) SetPayload(v *Payload) *LambdaAction {
6831	s.Payload = v
6832	return s
6833}
6834
6835// A limit was exceeded.
6836type LimitExceededException struct {
6837	_            struct{}                  `type:"structure"`
6838	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6839
6840	// The message for the exception.
6841	Message_ *string `locationName:"message" type:"string"`
6842}
6843
6844// String returns the string representation
6845func (s LimitExceededException) String() string {
6846	return awsutil.Prettify(s)
6847}
6848
6849// GoString returns the string representation
6850func (s LimitExceededException) GoString() string {
6851	return s.String()
6852}
6853
6854func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
6855	return &LimitExceededException{
6856		RespMetadata: v,
6857	}
6858}
6859
6860// Code returns the exception type name.
6861func (s *LimitExceededException) Code() string {
6862	return "LimitExceededException"
6863}
6864
6865// Message returns the exception's message.
6866func (s *LimitExceededException) Message() string {
6867	if s.Message_ != nil {
6868		return *s.Message_
6869	}
6870	return ""
6871}
6872
6873// OrigErr always returns nil, satisfies awserr.Error interface.
6874func (s *LimitExceededException) OrigErr() error {
6875	return nil
6876}
6877
6878func (s *LimitExceededException) Error() string {
6879	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6880}
6881
6882// Status code returns the HTTP status code for the request's response error.
6883func (s *LimitExceededException) StatusCode() int {
6884	return s.RespMetadata.StatusCode
6885}
6886
6887// RequestID returns the service's response RequestID for request.
6888func (s *LimitExceededException) RequestID() string {
6889	return s.RespMetadata.RequestID
6890}
6891
6892type ListAlarmModelVersionsInput struct {
6893	_ struct{} `type:"structure"`
6894
6895	// The name of the alarm model.
6896	//
6897	// AlarmModelName is a required field
6898	AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"`
6899
6900	// The maximum number of results to be returned per request.
6901	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6902
6903	// The token that you can use to return the next set of results.
6904	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6905}
6906
6907// String returns the string representation
6908func (s ListAlarmModelVersionsInput) String() string {
6909	return awsutil.Prettify(s)
6910}
6911
6912// GoString returns the string representation
6913func (s ListAlarmModelVersionsInput) GoString() string {
6914	return s.String()
6915}
6916
6917// Validate inspects the fields of the type to determine if they are valid.
6918func (s *ListAlarmModelVersionsInput) Validate() error {
6919	invalidParams := request.ErrInvalidParams{Context: "ListAlarmModelVersionsInput"}
6920	if s.AlarmModelName == nil {
6921		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
6922	}
6923	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
6924		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
6925	}
6926	if s.MaxResults != nil && *s.MaxResults < 1 {
6927		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6928	}
6929
6930	if invalidParams.Len() > 0 {
6931		return invalidParams
6932	}
6933	return nil
6934}
6935
6936// SetAlarmModelName sets the AlarmModelName field's value.
6937func (s *ListAlarmModelVersionsInput) SetAlarmModelName(v string) *ListAlarmModelVersionsInput {
6938	s.AlarmModelName = &v
6939	return s
6940}
6941
6942// SetMaxResults sets the MaxResults field's value.
6943func (s *ListAlarmModelVersionsInput) SetMaxResults(v int64) *ListAlarmModelVersionsInput {
6944	s.MaxResults = &v
6945	return s
6946}
6947
6948// SetNextToken sets the NextToken field's value.
6949func (s *ListAlarmModelVersionsInput) SetNextToken(v string) *ListAlarmModelVersionsInput {
6950	s.NextToken = &v
6951	return s
6952}
6953
6954type ListAlarmModelVersionsOutput struct {
6955	_ struct{} `type:"structure"`
6956
6957	// A list that summarizes each alarm model version.
6958	AlarmModelVersionSummaries []*AlarmModelVersionSummary `locationName:"alarmModelVersionSummaries" type:"list"`
6959
6960	// The token that you can use to return the next set of results, or null if
6961	// there are no more results.
6962	NextToken *string `locationName:"nextToken" type:"string"`
6963}
6964
6965// String returns the string representation
6966func (s ListAlarmModelVersionsOutput) String() string {
6967	return awsutil.Prettify(s)
6968}
6969
6970// GoString returns the string representation
6971func (s ListAlarmModelVersionsOutput) GoString() string {
6972	return s.String()
6973}
6974
6975// SetAlarmModelVersionSummaries sets the AlarmModelVersionSummaries field's value.
6976func (s *ListAlarmModelVersionsOutput) SetAlarmModelVersionSummaries(v []*AlarmModelVersionSummary) *ListAlarmModelVersionsOutput {
6977	s.AlarmModelVersionSummaries = v
6978	return s
6979}
6980
6981// SetNextToken sets the NextToken field's value.
6982func (s *ListAlarmModelVersionsOutput) SetNextToken(v string) *ListAlarmModelVersionsOutput {
6983	s.NextToken = &v
6984	return s
6985}
6986
6987type ListAlarmModelsInput struct {
6988	_ struct{} `type:"structure"`
6989
6990	// The maximum number of results to be returned per request.
6991	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6992
6993	// The token that you can use to return the next set of results.
6994	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6995}
6996
6997// String returns the string representation
6998func (s ListAlarmModelsInput) String() string {
6999	return awsutil.Prettify(s)
7000}
7001
7002// GoString returns the string representation
7003func (s ListAlarmModelsInput) GoString() string {
7004	return s.String()
7005}
7006
7007// Validate inspects the fields of the type to determine if they are valid.
7008func (s *ListAlarmModelsInput) Validate() error {
7009	invalidParams := request.ErrInvalidParams{Context: "ListAlarmModelsInput"}
7010	if s.MaxResults != nil && *s.MaxResults < 1 {
7011		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7012	}
7013
7014	if invalidParams.Len() > 0 {
7015		return invalidParams
7016	}
7017	return nil
7018}
7019
7020// SetMaxResults sets the MaxResults field's value.
7021func (s *ListAlarmModelsInput) SetMaxResults(v int64) *ListAlarmModelsInput {
7022	s.MaxResults = &v
7023	return s
7024}
7025
7026// SetNextToken sets the NextToken field's value.
7027func (s *ListAlarmModelsInput) SetNextToken(v string) *ListAlarmModelsInput {
7028	s.NextToken = &v
7029	return s
7030}
7031
7032type ListAlarmModelsOutput struct {
7033	_ struct{} `type:"structure"`
7034
7035	// A list that summarizes each alarm model.
7036	AlarmModelSummaries []*AlarmModelSummary `locationName:"alarmModelSummaries" type:"list"`
7037
7038	// The token that you can use to return the next set of results, or null if
7039	// there are no more results.
7040	NextToken *string `locationName:"nextToken" type:"string"`
7041}
7042
7043// String returns the string representation
7044func (s ListAlarmModelsOutput) String() string {
7045	return awsutil.Prettify(s)
7046}
7047
7048// GoString returns the string representation
7049func (s ListAlarmModelsOutput) GoString() string {
7050	return s.String()
7051}
7052
7053// SetAlarmModelSummaries sets the AlarmModelSummaries field's value.
7054func (s *ListAlarmModelsOutput) SetAlarmModelSummaries(v []*AlarmModelSummary) *ListAlarmModelsOutput {
7055	s.AlarmModelSummaries = v
7056	return s
7057}
7058
7059// SetNextToken sets the NextToken field's value.
7060func (s *ListAlarmModelsOutput) SetNextToken(v string) *ListAlarmModelsOutput {
7061	s.NextToken = &v
7062	return s
7063}
7064
7065type ListDetectorModelVersionsInput struct {
7066	_ struct{} `type:"structure"`
7067
7068	// The name of the detector model whose versions are returned.
7069	//
7070	// DetectorModelName is a required field
7071	DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"`
7072
7073	// The maximum number of results to be returned per request.
7074	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7075
7076	// The token that you can use to return the next set of results.
7077	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7078}
7079
7080// String returns the string representation
7081func (s ListDetectorModelVersionsInput) String() string {
7082	return awsutil.Prettify(s)
7083}
7084
7085// GoString returns the string representation
7086func (s ListDetectorModelVersionsInput) GoString() string {
7087	return s.String()
7088}
7089
7090// Validate inspects the fields of the type to determine if they are valid.
7091func (s *ListDetectorModelVersionsInput) Validate() error {
7092	invalidParams := request.ErrInvalidParams{Context: "ListDetectorModelVersionsInput"}
7093	if s.DetectorModelName == nil {
7094		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
7095	}
7096	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
7097		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
7098	}
7099	if s.MaxResults != nil && *s.MaxResults < 1 {
7100		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7101	}
7102
7103	if invalidParams.Len() > 0 {
7104		return invalidParams
7105	}
7106	return nil
7107}
7108
7109// SetDetectorModelName sets the DetectorModelName field's value.
7110func (s *ListDetectorModelVersionsInput) SetDetectorModelName(v string) *ListDetectorModelVersionsInput {
7111	s.DetectorModelName = &v
7112	return s
7113}
7114
7115// SetMaxResults sets the MaxResults field's value.
7116func (s *ListDetectorModelVersionsInput) SetMaxResults(v int64) *ListDetectorModelVersionsInput {
7117	s.MaxResults = &v
7118	return s
7119}
7120
7121// SetNextToken sets the NextToken field's value.
7122func (s *ListDetectorModelVersionsInput) SetNextToken(v string) *ListDetectorModelVersionsInput {
7123	s.NextToken = &v
7124	return s
7125}
7126
7127type ListDetectorModelVersionsOutput struct {
7128	_ struct{} `type:"structure"`
7129
7130	// Summary information about the detector model versions.
7131	DetectorModelVersionSummaries []*DetectorModelVersionSummary `locationName:"detectorModelVersionSummaries" type:"list"`
7132
7133	// The token that you can use to return the next set of results, or null if
7134	// there are no more results.
7135	NextToken *string `locationName:"nextToken" type:"string"`
7136}
7137
7138// String returns the string representation
7139func (s ListDetectorModelVersionsOutput) String() string {
7140	return awsutil.Prettify(s)
7141}
7142
7143// GoString returns the string representation
7144func (s ListDetectorModelVersionsOutput) GoString() string {
7145	return s.String()
7146}
7147
7148// SetDetectorModelVersionSummaries sets the DetectorModelVersionSummaries field's value.
7149func (s *ListDetectorModelVersionsOutput) SetDetectorModelVersionSummaries(v []*DetectorModelVersionSummary) *ListDetectorModelVersionsOutput {
7150	s.DetectorModelVersionSummaries = v
7151	return s
7152}
7153
7154// SetNextToken sets the NextToken field's value.
7155func (s *ListDetectorModelVersionsOutput) SetNextToken(v string) *ListDetectorModelVersionsOutput {
7156	s.NextToken = &v
7157	return s
7158}
7159
7160type ListDetectorModelsInput struct {
7161	_ struct{} `type:"structure"`
7162
7163	// The maximum number of results to be returned per request.
7164	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7165
7166	// The token that you can use to return the next set of results.
7167	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7168}
7169
7170// String returns the string representation
7171func (s ListDetectorModelsInput) String() string {
7172	return awsutil.Prettify(s)
7173}
7174
7175// GoString returns the string representation
7176func (s ListDetectorModelsInput) GoString() string {
7177	return s.String()
7178}
7179
7180// Validate inspects the fields of the type to determine if they are valid.
7181func (s *ListDetectorModelsInput) Validate() error {
7182	invalidParams := request.ErrInvalidParams{Context: "ListDetectorModelsInput"}
7183	if s.MaxResults != nil && *s.MaxResults < 1 {
7184		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7185	}
7186
7187	if invalidParams.Len() > 0 {
7188		return invalidParams
7189	}
7190	return nil
7191}
7192
7193// SetMaxResults sets the MaxResults field's value.
7194func (s *ListDetectorModelsInput) SetMaxResults(v int64) *ListDetectorModelsInput {
7195	s.MaxResults = &v
7196	return s
7197}
7198
7199// SetNextToken sets the NextToken field's value.
7200func (s *ListDetectorModelsInput) SetNextToken(v string) *ListDetectorModelsInput {
7201	s.NextToken = &v
7202	return s
7203}
7204
7205type ListDetectorModelsOutput struct {
7206	_ struct{} `type:"structure"`
7207
7208	// Summary information about the detector models.
7209	DetectorModelSummaries []*DetectorModelSummary `locationName:"detectorModelSummaries" type:"list"`
7210
7211	// The token that you can use to return the next set of results, or null if
7212	// there are no more results.
7213	NextToken *string `locationName:"nextToken" type:"string"`
7214}
7215
7216// String returns the string representation
7217func (s ListDetectorModelsOutput) String() string {
7218	return awsutil.Prettify(s)
7219}
7220
7221// GoString returns the string representation
7222func (s ListDetectorModelsOutput) GoString() string {
7223	return s.String()
7224}
7225
7226// SetDetectorModelSummaries sets the DetectorModelSummaries field's value.
7227func (s *ListDetectorModelsOutput) SetDetectorModelSummaries(v []*DetectorModelSummary) *ListDetectorModelsOutput {
7228	s.DetectorModelSummaries = v
7229	return s
7230}
7231
7232// SetNextToken sets the NextToken field's value.
7233func (s *ListDetectorModelsOutput) SetNextToken(v string) *ListDetectorModelsOutput {
7234	s.NextToken = &v
7235	return s
7236}
7237
7238type ListInputRoutingsInput struct {
7239	_ struct{} `type:"structure"`
7240
7241	// The identifer of the routed input.
7242	//
7243	// InputIdentifier is a required field
7244	InputIdentifier *InputIdentifier `locationName:"inputIdentifier" type:"structure" required:"true"`
7245
7246	// The maximum number of results to be returned per request.
7247	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
7248
7249	// The token that you can use to return the next set of results.
7250	NextToken *string `locationName:"nextToken" type:"string"`
7251}
7252
7253// String returns the string representation
7254func (s ListInputRoutingsInput) String() string {
7255	return awsutil.Prettify(s)
7256}
7257
7258// GoString returns the string representation
7259func (s ListInputRoutingsInput) GoString() string {
7260	return s.String()
7261}
7262
7263// Validate inspects the fields of the type to determine if they are valid.
7264func (s *ListInputRoutingsInput) Validate() error {
7265	invalidParams := request.ErrInvalidParams{Context: "ListInputRoutingsInput"}
7266	if s.InputIdentifier == nil {
7267		invalidParams.Add(request.NewErrParamRequired("InputIdentifier"))
7268	}
7269	if s.MaxResults != nil && *s.MaxResults < 1 {
7270		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7271	}
7272	if s.InputIdentifier != nil {
7273		if err := s.InputIdentifier.Validate(); err != nil {
7274			invalidParams.AddNested("InputIdentifier", err.(request.ErrInvalidParams))
7275		}
7276	}
7277
7278	if invalidParams.Len() > 0 {
7279		return invalidParams
7280	}
7281	return nil
7282}
7283
7284// SetInputIdentifier sets the InputIdentifier field's value.
7285func (s *ListInputRoutingsInput) SetInputIdentifier(v *InputIdentifier) *ListInputRoutingsInput {
7286	s.InputIdentifier = v
7287	return s
7288}
7289
7290// SetMaxResults sets the MaxResults field's value.
7291func (s *ListInputRoutingsInput) SetMaxResults(v int64) *ListInputRoutingsInput {
7292	s.MaxResults = &v
7293	return s
7294}
7295
7296// SetNextToken sets the NextToken field's value.
7297func (s *ListInputRoutingsInput) SetNextToken(v string) *ListInputRoutingsInput {
7298	s.NextToken = &v
7299	return s
7300}
7301
7302type ListInputRoutingsOutput struct {
7303	_ struct{} `type:"structure"`
7304
7305	// The token that you can use to return the next set of results, or null if
7306	// there are no more results.
7307	NextToken *string `locationName:"nextToken" type:"string"`
7308
7309	// Summary information about the routed resources.
7310	RoutedResources []*RoutedResource `locationName:"routedResources" type:"list"`
7311}
7312
7313// String returns the string representation
7314func (s ListInputRoutingsOutput) String() string {
7315	return awsutil.Prettify(s)
7316}
7317
7318// GoString returns the string representation
7319func (s ListInputRoutingsOutput) GoString() string {
7320	return s.String()
7321}
7322
7323// SetNextToken sets the NextToken field's value.
7324func (s *ListInputRoutingsOutput) SetNextToken(v string) *ListInputRoutingsOutput {
7325	s.NextToken = &v
7326	return s
7327}
7328
7329// SetRoutedResources sets the RoutedResources field's value.
7330func (s *ListInputRoutingsOutput) SetRoutedResources(v []*RoutedResource) *ListInputRoutingsOutput {
7331	s.RoutedResources = v
7332	return s
7333}
7334
7335type ListInputsInput struct {
7336	_ struct{} `type:"structure"`
7337
7338	// The maximum number of results to be returned per request.
7339	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7340
7341	// The token that you can use to return the next set of results.
7342	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7343}
7344
7345// String returns the string representation
7346func (s ListInputsInput) String() string {
7347	return awsutil.Prettify(s)
7348}
7349
7350// GoString returns the string representation
7351func (s ListInputsInput) GoString() string {
7352	return s.String()
7353}
7354
7355// Validate inspects the fields of the type to determine if they are valid.
7356func (s *ListInputsInput) Validate() error {
7357	invalidParams := request.ErrInvalidParams{Context: "ListInputsInput"}
7358	if s.MaxResults != nil && *s.MaxResults < 1 {
7359		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7360	}
7361
7362	if invalidParams.Len() > 0 {
7363		return invalidParams
7364	}
7365	return nil
7366}
7367
7368// SetMaxResults sets the MaxResults field's value.
7369func (s *ListInputsInput) SetMaxResults(v int64) *ListInputsInput {
7370	s.MaxResults = &v
7371	return s
7372}
7373
7374// SetNextToken sets the NextToken field's value.
7375func (s *ListInputsInput) SetNextToken(v string) *ListInputsInput {
7376	s.NextToken = &v
7377	return s
7378}
7379
7380type ListInputsOutput struct {
7381	_ struct{} `type:"structure"`
7382
7383	// Summary information about the inputs.
7384	InputSummaries []*InputSummary `locationName:"inputSummaries" type:"list"`
7385
7386	// The token that you can use to return the next set of results, or null if
7387	// there are no more results.
7388	NextToken *string `locationName:"nextToken" type:"string"`
7389}
7390
7391// String returns the string representation
7392func (s ListInputsOutput) String() string {
7393	return awsutil.Prettify(s)
7394}
7395
7396// GoString returns the string representation
7397func (s ListInputsOutput) GoString() string {
7398	return s.String()
7399}
7400
7401// SetInputSummaries sets the InputSummaries field's value.
7402func (s *ListInputsOutput) SetInputSummaries(v []*InputSummary) *ListInputsOutput {
7403	s.InputSummaries = v
7404	return s
7405}
7406
7407// SetNextToken sets the NextToken field's value.
7408func (s *ListInputsOutput) SetNextToken(v string) *ListInputsOutput {
7409	s.NextToken = &v
7410	return s
7411}
7412
7413type ListTagsForResourceInput struct {
7414	_ struct{} `type:"structure"`
7415
7416	// The ARN of the resource.
7417	//
7418	// ResourceArn is a required field
7419	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
7420}
7421
7422// String returns the string representation
7423func (s ListTagsForResourceInput) String() string {
7424	return awsutil.Prettify(s)
7425}
7426
7427// GoString returns the string representation
7428func (s ListTagsForResourceInput) GoString() string {
7429	return s.String()
7430}
7431
7432// Validate inspects the fields of the type to determine if they are valid.
7433func (s *ListTagsForResourceInput) Validate() error {
7434	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
7435	if s.ResourceArn == nil {
7436		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7437	}
7438	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7439		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7440	}
7441
7442	if invalidParams.Len() > 0 {
7443		return invalidParams
7444	}
7445	return nil
7446}
7447
7448// SetResourceArn sets the ResourceArn field's value.
7449func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
7450	s.ResourceArn = &v
7451	return s
7452}
7453
7454type ListTagsForResourceOutput struct {
7455	_ struct{} `type:"structure"`
7456
7457	// The list of tags assigned to the resource.
7458	Tags []*Tag `locationName:"tags" type:"list"`
7459}
7460
7461// String returns the string representation
7462func (s ListTagsForResourceOutput) String() string {
7463	return awsutil.Prettify(s)
7464}
7465
7466// GoString returns the string representation
7467func (s ListTagsForResourceOutput) GoString() string {
7468	return s.String()
7469}
7470
7471// SetTags sets the Tags field's value.
7472func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
7473	s.Tags = v
7474	return s
7475}
7476
7477// The values of the AWS IoT Events logging options.
7478type LoggingOptions struct {
7479	_ struct{} `type:"structure"`
7480
7481	// Information that identifies those detector models and their detectors (instances)
7482	// for which the logging level is given.
7483	DetectorDebugOptions []*DetectorDebugOption `locationName:"detectorDebugOptions" min:"1" type:"list"`
7484
7485	// If TRUE, logging is enabled for AWS IoT Events.
7486	//
7487	// Enabled is a required field
7488	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
7489
7490	// The logging level.
7491	//
7492	// Level is a required field
7493	Level *string `locationName:"level" type:"string" required:"true" enum:"LoggingLevel"`
7494
7495	// The ARN of the role that grants permission to AWS IoT Events to perform logging.
7496	//
7497	// RoleArn is a required field
7498	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
7499}
7500
7501// String returns the string representation
7502func (s LoggingOptions) String() string {
7503	return awsutil.Prettify(s)
7504}
7505
7506// GoString returns the string representation
7507func (s LoggingOptions) GoString() string {
7508	return s.String()
7509}
7510
7511// Validate inspects the fields of the type to determine if they are valid.
7512func (s *LoggingOptions) Validate() error {
7513	invalidParams := request.ErrInvalidParams{Context: "LoggingOptions"}
7514	if s.DetectorDebugOptions != nil && len(s.DetectorDebugOptions) < 1 {
7515		invalidParams.Add(request.NewErrParamMinLen("DetectorDebugOptions", 1))
7516	}
7517	if s.Enabled == nil {
7518		invalidParams.Add(request.NewErrParamRequired("Enabled"))
7519	}
7520	if s.Level == nil {
7521		invalidParams.Add(request.NewErrParamRequired("Level"))
7522	}
7523	if s.RoleArn == nil {
7524		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
7525	}
7526	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
7527		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
7528	}
7529	if s.DetectorDebugOptions != nil {
7530		for i, v := range s.DetectorDebugOptions {
7531			if v == nil {
7532				continue
7533			}
7534			if err := v.Validate(); err != nil {
7535				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DetectorDebugOptions", i), err.(request.ErrInvalidParams))
7536			}
7537		}
7538	}
7539
7540	if invalidParams.Len() > 0 {
7541		return invalidParams
7542	}
7543	return nil
7544}
7545
7546// SetDetectorDebugOptions sets the DetectorDebugOptions field's value.
7547func (s *LoggingOptions) SetDetectorDebugOptions(v []*DetectorDebugOption) *LoggingOptions {
7548	s.DetectorDebugOptions = v
7549	return s
7550}
7551
7552// SetEnabled sets the Enabled field's value.
7553func (s *LoggingOptions) SetEnabled(v bool) *LoggingOptions {
7554	s.Enabled = &v
7555	return s
7556}
7557
7558// SetLevel sets the Level field's value.
7559func (s *LoggingOptions) SetLevel(v string) *LoggingOptions {
7560	s.Level = &v
7561	return s
7562}
7563
7564// SetRoleArn sets the RoleArn field's value.
7565func (s *LoggingOptions) SetRoleArn(v string) *LoggingOptions {
7566	s.RoleArn = &v
7567	return s
7568}
7569
7570// Contains the notification settings of an alarm model. The settings apply
7571// to all alarms that were created based on this alarm model.
7572type NotificationAction struct {
7573	_ struct{} `type:"structure"`
7574
7575	// Specifies an AWS Lambda function to manage alarm notifications. You can create
7576	// one or use the AWS Lambda function provided by AWS IoT Events (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html).
7577	//
7578	// Action is a required field
7579	Action *NotificationTargetActions `locationName:"action" type:"structure" required:"true"`
7580
7581	// Contains the configuration information of email notifications.
7582	EmailConfigurations []*EmailConfiguration `locationName:"emailConfigurations" min:"1" type:"list"`
7583
7584	// Contains the configuration information of SMS notifications.
7585	SmsConfigurations []*SMSConfiguration `locationName:"smsConfigurations" min:"1" type:"list"`
7586}
7587
7588// String returns the string representation
7589func (s NotificationAction) String() string {
7590	return awsutil.Prettify(s)
7591}
7592
7593// GoString returns the string representation
7594func (s NotificationAction) GoString() string {
7595	return s.String()
7596}
7597
7598// Validate inspects the fields of the type to determine if they are valid.
7599func (s *NotificationAction) Validate() error {
7600	invalidParams := request.ErrInvalidParams{Context: "NotificationAction"}
7601	if s.Action == nil {
7602		invalidParams.Add(request.NewErrParamRequired("Action"))
7603	}
7604	if s.EmailConfigurations != nil && len(s.EmailConfigurations) < 1 {
7605		invalidParams.Add(request.NewErrParamMinLen("EmailConfigurations", 1))
7606	}
7607	if s.SmsConfigurations != nil && len(s.SmsConfigurations) < 1 {
7608		invalidParams.Add(request.NewErrParamMinLen("SmsConfigurations", 1))
7609	}
7610	if s.Action != nil {
7611		if err := s.Action.Validate(); err != nil {
7612			invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
7613		}
7614	}
7615	if s.EmailConfigurations != nil {
7616		for i, v := range s.EmailConfigurations {
7617			if v == nil {
7618				continue
7619			}
7620			if err := v.Validate(); err != nil {
7621				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EmailConfigurations", i), err.(request.ErrInvalidParams))
7622			}
7623		}
7624	}
7625	if s.SmsConfigurations != nil {
7626		for i, v := range s.SmsConfigurations {
7627			if v == nil {
7628				continue
7629			}
7630			if err := v.Validate(); err != nil {
7631				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SmsConfigurations", i), err.(request.ErrInvalidParams))
7632			}
7633		}
7634	}
7635
7636	if invalidParams.Len() > 0 {
7637		return invalidParams
7638	}
7639	return nil
7640}
7641
7642// SetAction sets the Action field's value.
7643func (s *NotificationAction) SetAction(v *NotificationTargetActions) *NotificationAction {
7644	s.Action = v
7645	return s
7646}
7647
7648// SetEmailConfigurations sets the EmailConfigurations field's value.
7649func (s *NotificationAction) SetEmailConfigurations(v []*EmailConfiguration) *NotificationAction {
7650	s.EmailConfigurations = v
7651	return s
7652}
7653
7654// SetSmsConfigurations sets the SmsConfigurations field's value.
7655func (s *NotificationAction) SetSmsConfigurations(v []*SMSConfiguration) *NotificationAction {
7656	s.SmsConfigurations = v
7657	return s
7658}
7659
7660// Specifies an AWS Lambda function to manage alarm notifications. You can create
7661// one or use the AWS Lambda function provided by AWS IoT Events (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html).
7662type NotificationTargetActions struct {
7663	_ struct{} `type:"structure"`
7664
7665	// Calls a Lambda function, passing in information about the detector model
7666	// instance and the event that triggered the action.
7667	LambdaAction *LambdaAction `locationName:"lambdaAction" type:"structure"`
7668}
7669
7670// String returns the string representation
7671func (s NotificationTargetActions) String() string {
7672	return awsutil.Prettify(s)
7673}
7674
7675// GoString returns the string representation
7676func (s NotificationTargetActions) GoString() string {
7677	return s.String()
7678}
7679
7680// Validate inspects the fields of the type to determine if they are valid.
7681func (s *NotificationTargetActions) Validate() error {
7682	invalidParams := request.ErrInvalidParams{Context: "NotificationTargetActions"}
7683	if s.LambdaAction != nil {
7684		if err := s.LambdaAction.Validate(); err != nil {
7685			invalidParams.AddNested("LambdaAction", err.(request.ErrInvalidParams))
7686		}
7687	}
7688
7689	if invalidParams.Len() > 0 {
7690		return invalidParams
7691	}
7692	return nil
7693}
7694
7695// SetLambdaAction sets the LambdaAction field's value.
7696func (s *NotificationTargetActions) SetLambdaAction(v *LambdaAction) *NotificationTargetActions {
7697	s.LambdaAction = v
7698	return s
7699}
7700
7701// When entering this state, perform these actions if the condition is TRUE.
7702type OnEnterLifecycle struct {
7703	_ struct{} `type:"structure"`
7704
7705	// Specifies the actions that are performed when the state is entered and the
7706	// condition is TRUE.
7707	Events []*Event `locationName:"events" type:"list"`
7708}
7709
7710// String returns the string representation
7711func (s OnEnterLifecycle) String() string {
7712	return awsutil.Prettify(s)
7713}
7714
7715// GoString returns the string representation
7716func (s OnEnterLifecycle) GoString() string {
7717	return s.String()
7718}
7719
7720// Validate inspects the fields of the type to determine if they are valid.
7721func (s *OnEnterLifecycle) Validate() error {
7722	invalidParams := request.ErrInvalidParams{Context: "OnEnterLifecycle"}
7723	if s.Events != nil {
7724		for i, v := range s.Events {
7725			if v == nil {
7726				continue
7727			}
7728			if err := v.Validate(); err != nil {
7729				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
7730			}
7731		}
7732	}
7733
7734	if invalidParams.Len() > 0 {
7735		return invalidParams
7736	}
7737	return nil
7738}
7739
7740// SetEvents sets the Events field's value.
7741func (s *OnEnterLifecycle) SetEvents(v []*Event) *OnEnterLifecycle {
7742	s.Events = v
7743	return s
7744}
7745
7746// When exiting this state, perform these actions if the specified condition
7747// is TRUE.
7748type OnExitLifecycle struct {
7749	_ struct{} `type:"structure"`
7750
7751	// Specifies the actions that are performed when the state is exited and the
7752	// condition is TRUE.
7753	Events []*Event `locationName:"events" type:"list"`
7754}
7755
7756// String returns the string representation
7757func (s OnExitLifecycle) String() string {
7758	return awsutil.Prettify(s)
7759}
7760
7761// GoString returns the string representation
7762func (s OnExitLifecycle) GoString() string {
7763	return s.String()
7764}
7765
7766// Validate inspects the fields of the type to determine if they are valid.
7767func (s *OnExitLifecycle) Validate() error {
7768	invalidParams := request.ErrInvalidParams{Context: "OnExitLifecycle"}
7769	if s.Events != nil {
7770		for i, v := range s.Events {
7771			if v == nil {
7772				continue
7773			}
7774			if err := v.Validate(); err != nil {
7775				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
7776			}
7777		}
7778	}
7779
7780	if invalidParams.Len() > 0 {
7781		return invalidParams
7782	}
7783	return nil
7784}
7785
7786// SetEvents sets the Events field's value.
7787func (s *OnExitLifecycle) SetEvents(v []*Event) *OnExitLifecycle {
7788	s.Events = v
7789	return s
7790}
7791
7792// Specifies the actions performed when the condition evaluates to TRUE.
7793type OnInputLifecycle struct {
7794	_ struct{} `type:"structure"`
7795
7796	// Specifies the actions performed when the condition evaluates to TRUE.
7797	Events []*Event `locationName:"events" type:"list"`
7798
7799	// Specifies the actions performed, and the next state entered, when a condition
7800	// evaluates to TRUE.
7801	TransitionEvents []*TransitionEvent `locationName:"transitionEvents" type:"list"`
7802}
7803
7804// String returns the string representation
7805func (s OnInputLifecycle) String() string {
7806	return awsutil.Prettify(s)
7807}
7808
7809// GoString returns the string representation
7810func (s OnInputLifecycle) GoString() string {
7811	return s.String()
7812}
7813
7814// Validate inspects the fields of the type to determine if they are valid.
7815func (s *OnInputLifecycle) Validate() error {
7816	invalidParams := request.ErrInvalidParams{Context: "OnInputLifecycle"}
7817	if s.Events != nil {
7818		for i, v := range s.Events {
7819			if v == nil {
7820				continue
7821			}
7822			if err := v.Validate(); err != nil {
7823				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
7824			}
7825		}
7826	}
7827	if s.TransitionEvents != nil {
7828		for i, v := range s.TransitionEvents {
7829			if v == nil {
7830				continue
7831			}
7832			if err := v.Validate(); err != nil {
7833				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransitionEvents", i), err.(request.ErrInvalidParams))
7834			}
7835		}
7836	}
7837
7838	if invalidParams.Len() > 0 {
7839		return invalidParams
7840	}
7841	return nil
7842}
7843
7844// SetEvents sets the Events field's value.
7845func (s *OnInputLifecycle) SetEvents(v []*Event) *OnInputLifecycle {
7846	s.Events = v
7847	return s
7848}
7849
7850// SetTransitionEvents sets the TransitionEvents field's value.
7851func (s *OnInputLifecycle) SetTransitionEvents(v []*TransitionEvent) *OnInputLifecycle {
7852	s.TransitionEvents = v
7853	return s
7854}
7855
7856// Information needed to configure the payload.
7857//
7858// By default, AWS IoT Events generates a standard payload in JSON for any action.
7859// This action payload contains all attribute-value pairs that have the information
7860// about the detector model instance and the event triggered the action. To
7861// configure the action payload, you can use contentExpression.
7862type Payload struct {
7863	_ struct{} `type:"structure"`
7864
7865	// The content of the payload. You can use a string expression that includes
7866	// quoted strings ('<string>'), variables ($variable.<variable-name>), input
7867	// values ($input.<input-name>.<path-to-datum>), string concatenations, and
7868	// quoted strings that contain ${} as the content. The recommended maximum size
7869	// of a content expression is 1 KB.
7870	//
7871	// ContentExpression is a required field
7872	ContentExpression *string `locationName:"contentExpression" min:"1" type:"string" required:"true"`
7873
7874	// The value of the payload type can be either STRING or JSON.
7875	//
7876	// Type is a required field
7877	Type *string `locationName:"type" type:"string" required:"true" enum:"PayloadType"`
7878}
7879
7880// String returns the string representation
7881func (s Payload) String() string {
7882	return awsutil.Prettify(s)
7883}
7884
7885// GoString returns the string representation
7886func (s Payload) GoString() string {
7887	return s.String()
7888}
7889
7890// Validate inspects the fields of the type to determine if they are valid.
7891func (s *Payload) Validate() error {
7892	invalidParams := request.ErrInvalidParams{Context: "Payload"}
7893	if s.ContentExpression == nil {
7894		invalidParams.Add(request.NewErrParamRequired("ContentExpression"))
7895	}
7896	if s.ContentExpression != nil && len(*s.ContentExpression) < 1 {
7897		invalidParams.Add(request.NewErrParamMinLen("ContentExpression", 1))
7898	}
7899	if s.Type == nil {
7900		invalidParams.Add(request.NewErrParamRequired("Type"))
7901	}
7902
7903	if invalidParams.Len() > 0 {
7904		return invalidParams
7905	}
7906	return nil
7907}
7908
7909// SetContentExpression sets the ContentExpression field's value.
7910func (s *Payload) SetContentExpression(v string) *Payload {
7911	s.ContentExpression = &v
7912	return s
7913}
7914
7915// SetType sets the Type field's value.
7916func (s *Payload) SetType(v string) *Payload {
7917	s.Type = &v
7918	return s
7919}
7920
7921type PutLoggingOptionsInput struct {
7922	_ struct{} `type:"structure"`
7923
7924	// The new values of the AWS IoT Events logging options.
7925	//
7926	// LoggingOptions is a required field
7927	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure" required:"true"`
7928}
7929
7930// String returns the string representation
7931func (s PutLoggingOptionsInput) String() string {
7932	return awsutil.Prettify(s)
7933}
7934
7935// GoString returns the string representation
7936func (s PutLoggingOptionsInput) GoString() string {
7937	return s.String()
7938}
7939
7940// Validate inspects the fields of the type to determine if they are valid.
7941func (s *PutLoggingOptionsInput) Validate() error {
7942	invalidParams := request.ErrInvalidParams{Context: "PutLoggingOptionsInput"}
7943	if s.LoggingOptions == nil {
7944		invalidParams.Add(request.NewErrParamRequired("LoggingOptions"))
7945	}
7946	if s.LoggingOptions != nil {
7947		if err := s.LoggingOptions.Validate(); err != nil {
7948			invalidParams.AddNested("LoggingOptions", err.(request.ErrInvalidParams))
7949		}
7950	}
7951
7952	if invalidParams.Len() > 0 {
7953		return invalidParams
7954	}
7955	return nil
7956}
7957
7958// SetLoggingOptions sets the LoggingOptions field's value.
7959func (s *PutLoggingOptionsInput) SetLoggingOptions(v *LoggingOptions) *PutLoggingOptionsInput {
7960	s.LoggingOptions = v
7961	return s
7962}
7963
7964type PutLoggingOptionsOutput struct {
7965	_ struct{} `type:"structure"`
7966}
7967
7968// String returns the string representation
7969func (s PutLoggingOptionsOutput) String() string {
7970	return awsutil.Prettify(s)
7971}
7972
7973// GoString returns the string representation
7974func (s PutLoggingOptionsOutput) GoString() string {
7975	return s.String()
7976}
7977
7978// The information that identifies the recipient.
7979type RecipientDetail struct {
7980	_ struct{} `type:"structure"`
7981
7982	// The AWS Single Sign-On (AWS SSO) authentication information.
7983	SsoIdentity *SSOIdentity `locationName:"ssoIdentity" type:"structure"`
7984}
7985
7986// String returns the string representation
7987func (s RecipientDetail) String() string {
7988	return awsutil.Prettify(s)
7989}
7990
7991// GoString returns the string representation
7992func (s RecipientDetail) GoString() string {
7993	return s.String()
7994}
7995
7996// Validate inspects the fields of the type to determine if they are valid.
7997func (s *RecipientDetail) Validate() error {
7998	invalidParams := request.ErrInvalidParams{Context: "RecipientDetail"}
7999	if s.SsoIdentity != nil {
8000		if err := s.SsoIdentity.Validate(); err != nil {
8001			invalidParams.AddNested("SsoIdentity", err.(request.ErrInvalidParams))
8002		}
8003	}
8004
8005	if invalidParams.Len() > 0 {
8006		return invalidParams
8007	}
8008	return nil
8009}
8010
8011// SetSsoIdentity sets the SsoIdentity field's value.
8012func (s *RecipientDetail) SetSsoIdentity(v *SSOIdentity) *RecipientDetail {
8013	s.SsoIdentity = v
8014	return s
8015}
8016
8017// Information required to reset the timer. The timer is reset to the previously
8018// evaluated result of the duration. The duration expression isn't reevaluated
8019// when you reset the timer.
8020type ResetTimerAction struct {
8021	_ struct{} `type:"structure"`
8022
8023	// The name of the timer to reset.
8024	//
8025	// TimerName is a required field
8026	TimerName *string `locationName:"timerName" min:"1" type:"string" required:"true"`
8027}
8028
8029// String returns the string representation
8030func (s ResetTimerAction) String() string {
8031	return awsutil.Prettify(s)
8032}
8033
8034// GoString returns the string representation
8035func (s ResetTimerAction) GoString() string {
8036	return s.String()
8037}
8038
8039// Validate inspects the fields of the type to determine if they are valid.
8040func (s *ResetTimerAction) Validate() error {
8041	invalidParams := request.ErrInvalidParams{Context: "ResetTimerAction"}
8042	if s.TimerName == nil {
8043		invalidParams.Add(request.NewErrParamRequired("TimerName"))
8044	}
8045	if s.TimerName != nil && len(*s.TimerName) < 1 {
8046		invalidParams.Add(request.NewErrParamMinLen("TimerName", 1))
8047	}
8048
8049	if invalidParams.Len() > 0 {
8050		return invalidParams
8051	}
8052	return nil
8053}
8054
8055// SetTimerName sets the TimerName field's value.
8056func (s *ResetTimerAction) SetTimerName(v string) *ResetTimerAction {
8057	s.TimerName = &v
8058	return s
8059}
8060
8061// The resource already exists.
8062type ResourceAlreadyExistsException struct {
8063	_            struct{}                  `type:"structure"`
8064	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8065
8066	// The message for the exception.
8067	Message_ *string `locationName:"message" type:"string"`
8068
8069	// The ARN of the resource.
8070	ResourceArn *string `locationName:"resourceArn" type:"string"`
8071
8072	// The ID of the resource.
8073	ResourceId *string `locationName:"resourceId" type:"string"`
8074}
8075
8076// String returns the string representation
8077func (s ResourceAlreadyExistsException) String() string {
8078	return awsutil.Prettify(s)
8079}
8080
8081// GoString returns the string representation
8082func (s ResourceAlreadyExistsException) GoString() string {
8083	return s.String()
8084}
8085
8086func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
8087	return &ResourceAlreadyExistsException{
8088		RespMetadata: v,
8089	}
8090}
8091
8092// Code returns the exception type name.
8093func (s *ResourceAlreadyExistsException) Code() string {
8094	return "ResourceAlreadyExistsException"
8095}
8096
8097// Message returns the exception's message.
8098func (s *ResourceAlreadyExistsException) Message() string {
8099	if s.Message_ != nil {
8100		return *s.Message_
8101	}
8102	return ""
8103}
8104
8105// OrigErr always returns nil, satisfies awserr.Error interface.
8106func (s *ResourceAlreadyExistsException) OrigErr() error {
8107	return nil
8108}
8109
8110func (s *ResourceAlreadyExistsException) Error() string {
8111	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8112}
8113
8114// Status code returns the HTTP status code for the request's response error.
8115func (s *ResourceAlreadyExistsException) StatusCode() int {
8116	return s.RespMetadata.StatusCode
8117}
8118
8119// RequestID returns the service's response RequestID for request.
8120func (s *ResourceAlreadyExistsException) RequestID() string {
8121	return s.RespMetadata.RequestID
8122}
8123
8124// The resource is in use.
8125type ResourceInUseException struct {
8126	_            struct{}                  `type:"structure"`
8127	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8128
8129	// The message for the exception.
8130	Message_ *string `locationName:"message" type:"string"`
8131}
8132
8133// String returns the string representation
8134func (s ResourceInUseException) String() string {
8135	return awsutil.Prettify(s)
8136}
8137
8138// GoString returns the string representation
8139func (s ResourceInUseException) GoString() string {
8140	return s.String()
8141}
8142
8143func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
8144	return &ResourceInUseException{
8145		RespMetadata: v,
8146	}
8147}
8148
8149// Code returns the exception type name.
8150func (s *ResourceInUseException) Code() string {
8151	return "ResourceInUseException"
8152}
8153
8154// Message returns the exception's message.
8155func (s *ResourceInUseException) Message() string {
8156	if s.Message_ != nil {
8157		return *s.Message_
8158	}
8159	return ""
8160}
8161
8162// OrigErr always returns nil, satisfies awserr.Error interface.
8163func (s *ResourceInUseException) OrigErr() error {
8164	return nil
8165}
8166
8167func (s *ResourceInUseException) Error() string {
8168	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8169}
8170
8171// Status code returns the HTTP status code for the request's response error.
8172func (s *ResourceInUseException) StatusCode() int {
8173	return s.RespMetadata.StatusCode
8174}
8175
8176// RequestID returns the service's response RequestID for request.
8177func (s *ResourceInUseException) RequestID() string {
8178	return s.RespMetadata.RequestID
8179}
8180
8181// The resource was not found.
8182type ResourceNotFoundException struct {
8183	_            struct{}                  `type:"structure"`
8184	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8185
8186	// The message for the exception.
8187	Message_ *string `locationName:"message" type:"string"`
8188}
8189
8190// String returns the string representation
8191func (s ResourceNotFoundException) String() string {
8192	return awsutil.Prettify(s)
8193}
8194
8195// GoString returns the string representation
8196func (s ResourceNotFoundException) GoString() string {
8197	return s.String()
8198}
8199
8200func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
8201	return &ResourceNotFoundException{
8202		RespMetadata: v,
8203	}
8204}
8205
8206// Code returns the exception type name.
8207func (s *ResourceNotFoundException) Code() string {
8208	return "ResourceNotFoundException"
8209}
8210
8211// Message returns the exception's message.
8212func (s *ResourceNotFoundException) Message() string {
8213	if s.Message_ != nil {
8214		return *s.Message_
8215	}
8216	return ""
8217}
8218
8219// OrigErr always returns nil, satisfies awserr.Error interface.
8220func (s *ResourceNotFoundException) OrigErr() error {
8221	return nil
8222}
8223
8224func (s *ResourceNotFoundException) Error() string {
8225	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8226}
8227
8228// Status code returns the HTTP status code for the request's response error.
8229func (s *ResourceNotFoundException) StatusCode() int {
8230	return s.RespMetadata.StatusCode
8231}
8232
8233// RequestID returns the service's response RequestID for request.
8234func (s *ResourceNotFoundException) RequestID() string {
8235	return s.RespMetadata.RequestID
8236}
8237
8238// Contains information about the routed resource.
8239type RoutedResource struct {
8240	_ struct{} `type:"structure"`
8241
8242	// The ARN of the routed resource. For more information, see Amazon Resource
8243	// Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
8244	// in the AWS General Reference.
8245	Arn *string `locationName:"arn" min:"1" type:"string"`
8246
8247	// The name of the routed resource.
8248	Name *string `locationName:"name" type:"string"`
8249}
8250
8251// String returns the string representation
8252func (s RoutedResource) String() string {
8253	return awsutil.Prettify(s)
8254}
8255
8256// GoString returns the string representation
8257func (s RoutedResource) GoString() string {
8258	return s.String()
8259}
8260
8261// SetArn sets the Arn field's value.
8262func (s *RoutedResource) SetArn(v string) *RoutedResource {
8263	s.Arn = &v
8264	return s
8265}
8266
8267// SetName sets the Name field's value.
8268func (s *RoutedResource) SetName(v string) *RoutedResource {
8269	s.Name = &v
8270	return s
8271}
8272
8273// Contains the configuration information of SMS notifications.
8274type SMSConfiguration struct {
8275	_ struct{} `type:"structure"`
8276
8277	// The message that you want to send. The message can be up to 200 characters.
8278	AdditionalMessage *string `locationName:"additionalMessage" type:"string"`
8279
8280	// Specifies one or more recipients who receive the message.
8281	//
8282	// You must add the users that receive SMS messages to your AWS SSO store (https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html).
8283	//
8284	// Recipients is a required field
8285	Recipients []*RecipientDetail `locationName:"recipients" min:"1" type:"list" required:"true"`
8286
8287	// The sender ID.
8288	SenderId *string `locationName:"senderId" type:"string"`
8289}
8290
8291// String returns the string representation
8292func (s SMSConfiguration) String() string {
8293	return awsutil.Prettify(s)
8294}
8295
8296// GoString returns the string representation
8297func (s SMSConfiguration) GoString() string {
8298	return s.String()
8299}
8300
8301// Validate inspects the fields of the type to determine if they are valid.
8302func (s *SMSConfiguration) Validate() error {
8303	invalidParams := request.ErrInvalidParams{Context: "SMSConfiguration"}
8304	if s.Recipients == nil {
8305		invalidParams.Add(request.NewErrParamRequired("Recipients"))
8306	}
8307	if s.Recipients != nil && len(s.Recipients) < 1 {
8308		invalidParams.Add(request.NewErrParamMinLen("Recipients", 1))
8309	}
8310	if s.Recipients != nil {
8311		for i, v := range s.Recipients {
8312			if v == nil {
8313				continue
8314			}
8315			if err := v.Validate(); err != nil {
8316				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Recipients", i), err.(request.ErrInvalidParams))
8317			}
8318		}
8319	}
8320
8321	if invalidParams.Len() > 0 {
8322		return invalidParams
8323	}
8324	return nil
8325}
8326
8327// SetAdditionalMessage sets the AdditionalMessage field's value.
8328func (s *SMSConfiguration) SetAdditionalMessage(v string) *SMSConfiguration {
8329	s.AdditionalMessage = &v
8330	return s
8331}
8332
8333// SetRecipients sets the Recipients field's value.
8334func (s *SMSConfiguration) SetRecipients(v []*RecipientDetail) *SMSConfiguration {
8335	s.Recipients = v
8336	return s
8337}
8338
8339// SetSenderId sets the SenderId field's value.
8340func (s *SMSConfiguration) SetSenderId(v string) *SMSConfiguration {
8341	s.SenderId = &v
8342	return s
8343}
8344
8345// Information required to publish the Amazon SNS message.
8346type SNSTopicPublishAction struct {
8347	_ struct{} `type:"structure"`
8348
8349	// You can configure the action payload when you send a message as an Amazon
8350	// SNS push notification.
8351	Payload *Payload `locationName:"payload" type:"structure"`
8352
8353	// The ARN of the Amazon SNS target where the message is sent.
8354	//
8355	// TargetArn is a required field
8356	TargetArn *string `locationName:"targetArn" min:"1" type:"string" required:"true"`
8357}
8358
8359// String returns the string representation
8360func (s SNSTopicPublishAction) String() string {
8361	return awsutil.Prettify(s)
8362}
8363
8364// GoString returns the string representation
8365func (s SNSTopicPublishAction) GoString() string {
8366	return s.String()
8367}
8368
8369// Validate inspects the fields of the type to determine if they are valid.
8370func (s *SNSTopicPublishAction) Validate() error {
8371	invalidParams := request.ErrInvalidParams{Context: "SNSTopicPublishAction"}
8372	if s.TargetArn == nil {
8373		invalidParams.Add(request.NewErrParamRequired("TargetArn"))
8374	}
8375	if s.TargetArn != nil && len(*s.TargetArn) < 1 {
8376		invalidParams.Add(request.NewErrParamMinLen("TargetArn", 1))
8377	}
8378	if s.Payload != nil {
8379		if err := s.Payload.Validate(); err != nil {
8380			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
8381		}
8382	}
8383
8384	if invalidParams.Len() > 0 {
8385		return invalidParams
8386	}
8387	return nil
8388}
8389
8390// SetPayload sets the Payload field's value.
8391func (s *SNSTopicPublishAction) SetPayload(v *Payload) *SNSTopicPublishAction {
8392	s.Payload = v
8393	return s
8394}
8395
8396// SetTargetArn sets the TargetArn field's value.
8397func (s *SNSTopicPublishAction) SetTargetArn(v string) *SNSTopicPublishAction {
8398	s.TargetArn = &v
8399	return s
8400}
8401
8402// Contains information about your identity source in AWS Single Sign-On. For
8403// more information, see the AWS Single Sign-On User Guide (https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).
8404type SSOIdentity struct {
8405	_ struct{} `type:"structure"`
8406
8407	// The ID of the AWS SSO identity store.
8408	//
8409	// IdentityStoreId is a required field
8410	IdentityStoreId *string `locationName:"identityStoreId" type:"string" required:"true"`
8411
8412	// The user ID.
8413	UserId *string `locationName:"userId" type:"string"`
8414}
8415
8416// String returns the string representation
8417func (s SSOIdentity) String() string {
8418	return awsutil.Prettify(s)
8419}
8420
8421// GoString returns the string representation
8422func (s SSOIdentity) GoString() string {
8423	return s.String()
8424}
8425
8426// Validate inspects the fields of the type to determine if they are valid.
8427func (s *SSOIdentity) Validate() error {
8428	invalidParams := request.ErrInvalidParams{Context: "SSOIdentity"}
8429	if s.IdentityStoreId == nil {
8430		invalidParams.Add(request.NewErrParamRequired("IdentityStoreId"))
8431	}
8432
8433	if invalidParams.Len() > 0 {
8434		return invalidParams
8435	}
8436	return nil
8437}
8438
8439// SetIdentityStoreId sets the IdentityStoreId field's value.
8440func (s *SSOIdentity) SetIdentityStoreId(v string) *SSOIdentity {
8441	s.IdentityStoreId = &v
8442	return s
8443}
8444
8445// SetUserId sets the UserId field's value.
8446func (s *SSOIdentity) SetUserId(v string) *SSOIdentity {
8447	s.UserId = &v
8448	return s
8449}
8450
8451// The service is currently unavailable.
8452type ServiceUnavailableException struct {
8453	_            struct{}                  `type:"structure"`
8454	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8455
8456	// The message for the exception.
8457	Message_ *string `locationName:"message" type:"string"`
8458}
8459
8460// String returns the string representation
8461func (s ServiceUnavailableException) String() string {
8462	return awsutil.Prettify(s)
8463}
8464
8465// GoString returns the string representation
8466func (s ServiceUnavailableException) GoString() string {
8467	return s.String()
8468}
8469
8470func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
8471	return &ServiceUnavailableException{
8472		RespMetadata: v,
8473	}
8474}
8475
8476// Code returns the exception type name.
8477func (s *ServiceUnavailableException) Code() string {
8478	return "ServiceUnavailableException"
8479}
8480
8481// Message returns the exception's message.
8482func (s *ServiceUnavailableException) Message() string {
8483	if s.Message_ != nil {
8484		return *s.Message_
8485	}
8486	return ""
8487}
8488
8489// OrigErr always returns nil, satisfies awserr.Error interface.
8490func (s *ServiceUnavailableException) OrigErr() error {
8491	return nil
8492}
8493
8494func (s *ServiceUnavailableException) Error() string {
8495	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8496}
8497
8498// Status code returns the HTTP status code for the request's response error.
8499func (s *ServiceUnavailableException) StatusCode() int {
8500	return s.RespMetadata.StatusCode
8501}
8502
8503// RequestID returns the service's response RequestID for request.
8504func (s *ServiceUnavailableException) RequestID() string {
8505	return s.RespMetadata.RequestID
8506}
8507
8508// Information needed to set the timer.
8509type SetTimerAction struct {
8510	_ struct{} `type:"structure"`
8511
8512	// The duration of the timer, in seconds. You can use a string expression that
8513	// includes numbers, variables ($variable.<variable-name>), and input values
8514	// ($input.<input-name>.<path-to-datum>) as the duration. The range of the duration
8515	// is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds.
8516	// The evaluated result of the duration is rounded down to the nearest whole
8517	// number.
8518	DurationExpression *string `locationName:"durationExpression" min:"1" type:"string"`
8519
8520	// The number of seconds until the timer expires. The minimum value is 60 seconds
8521	// to ensure accuracy. The maximum value is 31622400 seconds.
8522	//
8523	// Deprecated: seconds is deprecated. You can use durationExpression for SetTimerAction. The value of seconds can be used as a string expression for durationExpression.
8524	Seconds *int64 `locationName:"seconds" min:"1" deprecated:"true" type:"integer"`
8525
8526	// The name of the timer.
8527	//
8528	// TimerName is a required field
8529	TimerName *string `locationName:"timerName" min:"1" type:"string" required:"true"`
8530}
8531
8532// String returns the string representation
8533func (s SetTimerAction) String() string {
8534	return awsutil.Prettify(s)
8535}
8536
8537// GoString returns the string representation
8538func (s SetTimerAction) GoString() string {
8539	return s.String()
8540}
8541
8542// Validate inspects the fields of the type to determine if they are valid.
8543func (s *SetTimerAction) Validate() error {
8544	invalidParams := request.ErrInvalidParams{Context: "SetTimerAction"}
8545	if s.DurationExpression != nil && len(*s.DurationExpression) < 1 {
8546		invalidParams.Add(request.NewErrParamMinLen("DurationExpression", 1))
8547	}
8548	if s.Seconds != nil && *s.Seconds < 1 {
8549		invalidParams.Add(request.NewErrParamMinValue("Seconds", 1))
8550	}
8551	if s.TimerName == nil {
8552		invalidParams.Add(request.NewErrParamRequired("TimerName"))
8553	}
8554	if s.TimerName != nil && len(*s.TimerName) < 1 {
8555		invalidParams.Add(request.NewErrParamMinLen("TimerName", 1))
8556	}
8557
8558	if invalidParams.Len() > 0 {
8559		return invalidParams
8560	}
8561	return nil
8562}
8563
8564// SetDurationExpression sets the DurationExpression field's value.
8565func (s *SetTimerAction) SetDurationExpression(v string) *SetTimerAction {
8566	s.DurationExpression = &v
8567	return s
8568}
8569
8570// SetSeconds sets the Seconds field's value.
8571func (s *SetTimerAction) SetSeconds(v int64) *SetTimerAction {
8572	s.Seconds = &v
8573	return s
8574}
8575
8576// SetTimerName sets the TimerName field's value.
8577func (s *SetTimerAction) SetTimerName(v string) *SetTimerAction {
8578	s.TimerName = &v
8579	return s
8580}
8581
8582// Information about the variable and its new value.
8583type SetVariableAction struct {
8584	_ struct{} `type:"structure"`
8585
8586	// The new value of the variable.
8587	//
8588	// Value is a required field
8589	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
8590
8591	// The name of the variable.
8592	//
8593	// VariableName is a required field
8594	VariableName *string `locationName:"variableName" min:"1" type:"string" required:"true"`
8595}
8596
8597// String returns the string representation
8598func (s SetVariableAction) String() string {
8599	return awsutil.Prettify(s)
8600}
8601
8602// GoString returns the string representation
8603func (s SetVariableAction) GoString() string {
8604	return s.String()
8605}
8606
8607// Validate inspects the fields of the type to determine if they are valid.
8608func (s *SetVariableAction) Validate() error {
8609	invalidParams := request.ErrInvalidParams{Context: "SetVariableAction"}
8610	if s.Value == nil {
8611		invalidParams.Add(request.NewErrParamRequired("Value"))
8612	}
8613	if s.Value != nil && len(*s.Value) < 1 {
8614		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
8615	}
8616	if s.VariableName == nil {
8617		invalidParams.Add(request.NewErrParamRequired("VariableName"))
8618	}
8619	if s.VariableName != nil && len(*s.VariableName) < 1 {
8620		invalidParams.Add(request.NewErrParamMinLen("VariableName", 1))
8621	}
8622
8623	if invalidParams.Len() > 0 {
8624		return invalidParams
8625	}
8626	return nil
8627}
8628
8629// SetValue sets the Value field's value.
8630func (s *SetVariableAction) SetValue(v string) *SetVariableAction {
8631	s.Value = &v
8632	return s
8633}
8634
8635// SetVariableName sets the VariableName field's value.
8636func (s *SetVariableAction) SetVariableName(v string) *SetVariableAction {
8637	s.VariableName = &v
8638	return s
8639}
8640
8641// A rule that compares an input property value to a threshold value with a
8642// comparison operator.
8643type SimpleRule struct {
8644	_ struct{} `type:"structure"`
8645
8646	// The comparison operator.
8647	//
8648	// ComparisonOperator is a required field
8649	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" required:"true" enum:"ComparisonOperator"`
8650
8651	// The value on the left side of the comparison operator. You can specify an
8652	// AWS IoT Events input attribute as an input property.
8653	//
8654	// InputProperty is a required field
8655	InputProperty *string `locationName:"inputProperty" min:"1" type:"string" required:"true"`
8656
8657	// The value on the right side of the comparison operator. You can enter a number
8658	// or specify an AWS IoT Events input attribute.
8659	//
8660	// Threshold is a required field
8661	Threshold *string `locationName:"threshold" min:"1" type:"string" required:"true"`
8662}
8663
8664// String returns the string representation
8665func (s SimpleRule) String() string {
8666	return awsutil.Prettify(s)
8667}
8668
8669// GoString returns the string representation
8670func (s SimpleRule) GoString() string {
8671	return s.String()
8672}
8673
8674// Validate inspects the fields of the type to determine if they are valid.
8675func (s *SimpleRule) Validate() error {
8676	invalidParams := request.ErrInvalidParams{Context: "SimpleRule"}
8677	if s.ComparisonOperator == nil {
8678		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
8679	}
8680	if s.InputProperty == nil {
8681		invalidParams.Add(request.NewErrParamRequired("InputProperty"))
8682	}
8683	if s.InputProperty != nil && len(*s.InputProperty) < 1 {
8684		invalidParams.Add(request.NewErrParamMinLen("InputProperty", 1))
8685	}
8686	if s.Threshold == nil {
8687		invalidParams.Add(request.NewErrParamRequired("Threshold"))
8688	}
8689	if s.Threshold != nil && len(*s.Threshold) < 1 {
8690		invalidParams.Add(request.NewErrParamMinLen("Threshold", 1))
8691	}
8692
8693	if invalidParams.Len() > 0 {
8694		return invalidParams
8695	}
8696	return nil
8697}
8698
8699// SetComparisonOperator sets the ComparisonOperator field's value.
8700func (s *SimpleRule) SetComparisonOperator(v string) *SimpleRule {
8701	s.ComparisonOperator = &v
8702	return s
8703}
8704
8705// SetInputProperty sets the InputProperty field's value.
8706func (s *SimpleRule) SetInputProperty(v string) *SimpleRule {
8707	s.InputProperty = &v
8708	return s
8709}
8710
8711// SetThreshold sets the Threshold field's value.
8712func (s *SimpleRule) SetThreshold(v string) *SimpleRule {
8713	s.Threshold = &v
8714	return s
8715}
8716
8717// Sends information about the detector model instance and the event that triggered
8718// the action to an Amazon SQS queue.
8719type SqsAction struct {
8720	_ struct{} `type:"structure"`
8721
8722	// You can configure the action payload when you send a message to an Amazon
8723	// SQS queue.
8724	Payload *Payload `locationName:"payload" type:"structure"`
8725
8726	// The URL of the SQS queue where the data is written.
8727	//
8728	// QueueUrl is a required field
8729	QueueUrl *string `locationName:"queueUrl" type:"string" required:"true"`
8730
8731	// Set this to TRUE if you want the data to be base-64 encoded before it is
8732	// written to the queue. Otherwise, set this to FALSE.
8733	UseBase64 *bool `locationName:"useBase64" type:"boolean"`
8734}
8735
8736// String returns the string representation
8737func (s SqsAction) String() string {
8738	return awsutil.Prettify(s)
8739}
8740
8741// GoString returns the string representation
8742func (s SqsAction) GoString() string {
8743	return s.String()
8744}
8745
8746// Validate inspects the fields of the type to determine if they are valid.
8747func (s *SqsAction) Validate() error {
8748	invalidParams := request.ErrInvalidParams{Context: "SqsAction"}
8749	if s.QueueUrl == nil {
8750		invalidParams.Add(request.NewErrParamRequired("QueueUrl"))
8751	}
8752	if s.Payload != nil {
8753		if err := s.Payload.Validate(); err != nil {
8754			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
8755		}
8756	}
8757
8758	if invalidParams.Len() > 0 {
8759		return invalidParams
8760	}
8761	return nil
8762}
8763
8764// SetPayload sets the Payload field's value.
8765func (s *SqsAction) SetPayload(v *Payload) *SqsAction {
8766	s.Payload = v
8767	return s
8768}
8769
8770// SetQueueUrl sets the QueueUrl field's value.
8771func (s *SqsAction) SetQueueUrl(v string) *SqsAction {
8772	s.QueueUrl = &v
8773	return s
8774}
8775
8776// SetUseBase64 sets the UseBase64 field's value.
8777func (s *SqsAction) SetUseBase64(v bool) *SqsAction {
8778	s.UseBase64 = &v
8779	return s
8780}
8781
8782type StartDetectorModelAnalysisInput struct {
8783	_ struct{} `type:"structure"`
8784
8785	// Information that defines how a detector operates.
8786	//
8787	// DetectorModelDefinition is a required field
8788	DetectorModelDefinition *DetectorModelDefinition `locationName:"detectorModelDefinition" type:"structure" required:"true"`
8789}
8790
8791// String returns the string representation
8792func (s StartDetectorModelAnalysisInput) String() string {
8793	return awsutil.Prettify(s)
8794}
8795
8796// GoString returns the string representation
8797func (s StartDetectorModelAnalysisInput) GoString() string {
8798	return s.String()
8799}
8800
8801// Validate inspects the fields of the type to determine if they are valid.
8802func (s *StartDetectorModelAnalysisInput) Validate() error {
8803	invalidParams := request.ErrInvalidParams{Context: "StartDetectorModelAnalysisInput"}
8804	if s.DetectorModelDefinition == nil {
8805		invalidParams.Add(request.NewErrParamRequired("DetectorModelDefinition"))
8806	}
8807	if s.DetectorModelDefinition != nil {
8808		if err := s.DetectorModelDefinition.Validate(); err != nil {
8809			invalidParams.AddNested("DetectorModelDefinition", err.(request.ErrInvalidParams))
8810		}
8811	}
8812
8813	if invalidParams.Len() > 0 {
8814		return invalidParams
8815	}
8816	return nil
8817}
8818
8819// SetDetectorModelDefinition sets the DetectorModelDefinition field's value.
8820func (s *StartDetectorModelAnalysisInput) SetDetectorModelDefinition(v *DetectorModelDefinition) *StartDetectorModelAnalysisInput {
8821	s.DetectorModelDefinition = v
8822	return s
8823}
8824
8825type StartDetectorModelAnalysisOutput struct {
8826	_ struct{} `type:"structure"`
8827
8828	// The ID that you can use to retrieve the analysis result.
8829	AnalysisId *string `locationName:"analysisId" type:"string"`
8830}
8831
8832// String returns the string representation
8833func (s StartDetectorModelAnalysisOutput) String() string {
8834	return awsutil.Prettify(s)
8835}
8836
8837// GoString returns the string representation
8838func (s StartDetectorModelAnalysisOutput) GoString() string {
8839	return s.String()
8840}
8841
8842// SetAnalysisId sets the AnalysisId field's value.
8843func (s *StartDetectorModelAnalysisOutput) SetAnalysisId(v string) *StartDetectorModelAnalysisOutput {
8844	s.AnalysisId = &v
8845	return s
8846}
8847
8848// Information that defines a state of a detector.
8849type State struct {
8850	_ struct{} `type:"structure"`
8851
8852	// When entering this state, perform these actions if the condition is TRUE.
8853	OnEnter *OnEnterLifecycle `locationName:"onEnter" type:"structure"`
8854
8855	// When exiting this state, perform these actions if the specified condition
8856	// is TRUE.
8857	OnExit *OnExitLifecycle `locationName:"onExit" type:"structure"`
8858
8859	// When an input is received and the condition is TRUE, perform the specified
8860	// actions.
8861	OnInput *OnInputLifecycle `locationName:"onInput" type:"structure"`
8862
8863	// The name of the state.
8864	//
8865	// StateName is a required field
8866	StateName *string `locationName:"stateName" min:"1" type:"string" required:"true"`
8867}
8868
8869// String returns the string representation
8870func (s State) String() string {
8871	return awsutil.Prettify(s)
8872}
8873
8874// GoString returns the string representation
8875func (s State) GoString() string {
8876	return s.String()
8877}
8878
8879// Validate inspects the fields of the type to determine if they are valid.
8880func (s *State) Validate() error {
8881	invalidParams := request.ErrInvalidParams{Context: "State"}
8882	if s.StateName == nil {
8883		invalidParams.Add(request.NewErrParamRequired("StateName"))
8884	}
8885	if s.StateName != nil && len(*s.StateName) < 1 {
8886		invalidParams.Add(request.NewErrParamMinLen("StateName", 1))
8887	}
8888	if s.OnEnter != nil {
8889		if err := s.OnEnter.Validate(); err != nil {
8890			invalidParams.AddNested("OnEnter", err.(request.ErrInvalidParams))
8891		}
8892	}
8893	if s.OnExit != nil {
8894		if err := s.OnExit.Validate(); err != nil {
8895			invalidParams.AddNested("OnExit", err.(request.ErrInvalidParams))
8896		}
8897	}
8898	if s.OnInput != nil {
8899		if err := s.OnInput.Validate(); err != nil {
8900			invalidParams.AddNested("OnInput", err.(request.ErrInvalidParams))
8901		}
8902	}
8903
8904	if invalidParams.Len() > 0 {
8905		return invalidParams
8906	}
8907	return nil
8908}
8909
8910// SetOnEnter sets the OnEnter field's value.
8911func (s *State) SetOnEnter(v *OnEnterLifecycle) *State {
8912	s.OnEnter = v
8913	return s
8914}
8915
8916// SetOnExit sets the OnExit field's value.
8917func (s *State) SetOnExit(v *OnExitLifecycle) *State {
8918	s.OnExit = v
8919	return s
8920}
8921
8922// SetOnInput sets the OnInput field's value.
8923func (s *State) SetOnInput(v *OnInputLifecycle) *State {
8924	s.OnInput = v
8925	return s
8926}
8927
8928// SetStateName sets the StateName field's value.
8929func (s *State) SetStateName(v string) *State {
8930	s.StateName = &v
8931	return s
8932}
8933
8934// Metadata that can be used to manage the resource.
8935type Tag struct {
8936	_ struct{} `type:"structure"`
8937
8938	// The tag's key.
8939	//
8940	// Key is a required field
8941	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
8942
8943	// The tag's value.
8944	//
8945	// Value is a required field
8946	Value *string `locationName:"value" type:"string" required:"true"`
8947}
8948
8949// String returns the string representation
8950func (s Tag) String() string {
8951	return awsutil.Prettify(s)
8952}
8953
8954// GoString returns the string representation
8955func (s Tag) GoString() string {
8956	return s.String()
8957}
8958
8959// Validate inspects the fields of the type to determine if they are valid.
8960func (s *Tag) Validate() error {
8961	invalidParams := request.ErrInvalidParams{Context: "Tag"}
8962	if s.Key == nil {
8963		invalidParams.Add(request.NewErrParamRequired("Key"))
8964	}
8965	if s.Key != nil && len(*s.Key) < 1 {
8966		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8967	}
8968	if s.Value == nil {
8969		invalidParams.Add(request.NewErrParamRequired("Value"))
8970	}
8971
8972	if invalidParams.Len() > 0 {
8973		return invalidParams
8974	}
8975	return nil
8976}
8977
8978// SetKey sets the Key field's value.
8979func (s *Tag) SetKey(v string) *Tag {
8980	s.Key = &v
8981	return s
8982}
8983
8984// SetValue sets the Value field's value.
8985func (s *Tag) SetValue(v string) *Tag {
8986	s.Value = &v
8987	return s
8988}
8989
8990type TagResourceInput struct {
8991	_ struct{} `type:"structure"`
8992
8993	// The ARN of the resource.
8994	//
8995	// ResourceArn is a required field
8996	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
8997
8998	// The new or modified tags for the resource.
8999	//
9000	// Tags is a required field
9001	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
9002}
9003
9004// String returns the string representation
9005func (s TagResourceInput) String() string {
9006	return awsutil.Prettify(s)
9007}
9008
9009// GoString returns the string representation
9010func (s TagResourceInput) GoString() string {
9011	return s.String()
9012}
9013
9014// Validate inspects the fields of the type to determine if they are valid.
9015func (s *TagResourceInput) Validate() error {
9016	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
9017	if s.ResourceArn == nil {
9018		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9019	}
9020	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9021		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9022	}
9023	if s.Tags == nil {
9024		invalidParams.Add(request.NewErrParamRequired("Tags"))
9025	}
9026	if s.Tags != nil {
9027		for i, v := range s.Tags {
9028			if v == nil {
9029				continue
9030			}
9031			if err := v.Validate(); err != nil {
9032				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9033			}
9034		}
9035	}
9036
9037	if invalidParams.Len() > 0 {
9038		return invalidParams
9039	}
9040	return nil
9041}
9042
9043// SetResourceArn sets the ResourceArn field's value.
9044func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
9045	s.ResourceArn = &v
9046	return s
9047}
9048
9049// SetTags sets the Tags field's value.
9050func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
9051	s.Tags = v
9052	return s
9053}
9054
9055type TagResourceOutput struct {
9056	_ struct{} `type:"structure"`
9057}
9058
9059// String returns the string representation
9060func (s TagResourceOutput) String() string {
9061	return awsutil.Prettify(s)
9062}
9063
9064// GoString returns the string representation
9065func (s TagResourceOutput) GoString() string {
9066	return s.String()
9067}
9068
9069// The request could not be completed due to throttling.
9070type ThrottlingException struct {
9071	_            struct{}                  `type:"structure"`
9072	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9073
9074	// The message for the exception.
9075	Message_ *string `locationName:"message" type:"string"`
9076}
9077
9078// String returns the string representation
9079func (s ThrottlingException) String() string {
9080	return awsutil.Prettify(s)
9081}
9082
9083// GoString returns the string representation
9084func (s ThrottlingException) GoString() string {
9085	return s.String()
9086}
9087
9088func newErrorThrottlingException(v protocol.ResponseMetadata) error {
9089	return &ThrottlingException{
9090		RespMetadata: v,
9091	}
9092}
9093
9094// Code returns the exception type name.
9095func (s *ThrottlingException) Code() string {
9096	return "ThrottlingException"
9097}
9098
9099// Message returns the exception's message.
9100func (s *ThrottlingException) Message() string {
9101	if s.Message_ != nil {
9102		return *s.Message_
9103	}
9104	return ""
9105}
9106
9107// OrigErr always returns nil, satisfies awserr.Error interface.
9108func (s *ThrottlingException) OrigErr() error {
9109	return nil
9110}
9111
9112func (s *ThrottlingException) Error() string {
9113	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9114}
9115
9116// Status code returns the HTTP status code for the request's response error.
9117func (s *ThrottlingException) StatusCode() int {
9118	return s.RespMetadata.StatusCode
9119}
9120
9121// RequestID returns the service's response RequestID for request.
9122func (s *ThrottlingException) RequestID() string {
9123	return s.RespMetadata.RequestID
9124}
9125
9126// Specifies the actions performed and the next state entered when a condition
9127// evaluates to TRUE.
9128type TransitionEvent struct {
9129	_ struct{} `type:"structure"`
9130
9131	// The actions to be performed.
9132	Actions []*ActionData `locationName:"actions" type:"list"`
9133
9134	// Required. A Boolean expression that when TRUE causes the actions to be performed
9135	// and the nextState to be entered.
9136	//
9137	// Condition is a required field
9138	Condition *string `locationName:"condition" type:"string" required:"true"`
9139
9140	// The name of the transition event.
9141	//
9142	// EventName is a required field
9143	EventName *string `locationName:"eventName" type:"string" required:"true"`
9144
9145	// The next state to enter.
9146	//
9147	// NextState is a required field
9148	NextState *string `locationName:"nextState" min:"1" type:"string" required:"true"`
9149}
9150
9151// String returns the string representation
9152func (s TransitionEvent) String() string {
9153	return awsutil.Prettify(s)
9154}
9155
9156// GoString returns the string representation
9157func (s TransitionEvent) GoString() string {
9158	return s.String()
9159}
9160
9161// Validate inspects the fields of the type to determine if they are valid.
9162func (s *TransitionEvent) Validate() error {
9163	invalidParams := request.ErrInvalidParams{Context: "TransitionEvent"}
9164	if s.Condition == nil {
9165		invalidParams.Add(request.NewErrParamRequired("Condition"))
9166	}
9167	if s.EventName == nil {
9168		invalidParams.Add(request.NewErrParamRequired("EventName"))
9169	}
9170	if s.NextState == nil {
9171		invalidParams.Add(request.NewErrParamRequired("NextState"))
9172	}
9173	if s.NextState != nil && len(*s.NextState) < 1 {
9174		invalidParams.Add(request.NewErrParamMinLen("NextState", 1))
9175	}
9176	if s.Actions != nil {
9177		for i, v := range s.Actions {
9178			if v == nil {
9179				continue
9180			}
9181			if err := v.Validate(); err != nil {
9182				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
9183			}
9184		}
9185	}
9186
9187	if invalidParams.Len() > 0 {
9188		return invalidParams
9189	}
9190	return nil
9191}
9192
9193// SetActions sets the Actions field's value.
9194func (s *TransitionEvent) SetActions(v []*ActionData) *TransitionEvent {
9195	s.Actions = v
9196	return s
9197}
9198
9199// SetCondition sets the Condition field's value.
9200func (s *TransitionEvent) SetCondition(v string) *TransitionEvent {
9201	s.Condition = &v
9202	return s
9203}
9204
9205// SetEventName sets the EventName field's value.
9206func (s *TransitionEvent) SetEventName(v string) *TransitionEvent {
9207	s.EventName = &v
9208	return s
9209}
9210
9211// SetNextState sets the NextState field's value.
9212func (s *TransitionEvent) SetNextState(v string) *TransitionEvent {
9213	s.NextState = &v
9214	return s
9215}
9216
9217// The requested operation is not supported.
9218type UnsupportedOperationException struct {
9219	_            struct{}                  `type:"structure"`
9220	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9221
9222	// The message for the exception.
9223	Message_ *string `locationName:"message" type:"string"`
9224}
9225
9226// String returns the string representation
9227func (s UnsupportedOperationException) String() string {
9228	return awsutil.Prettify(s)
9229}
9230
9231// GoString returns the string representation
9232func (s UnsupportedOperationException) GoString() string {
9233	return s.String()
9234}
9235
9236func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error {
9237	return &UnsupportedOperationException{
9238		RespMetadata: v,
9239	}
9240}
9241
9242// Code returns the exception type name.
9243func (s *UnsupportedOperationException) Code() string {
9244	return "UnsupportedOperationException"
9245}
9246
9247// Message returns the exception's message.
9248func (s *UnsupportedOperationException) Message() string {
9249	if s.Message_ != nil {
9250		return *s.Message_
9251	}
9252	return ""
9253}
9254
9255// OrigErr always returns nil, satisfies awserr.Error interface.
9256func (s *UnsupportedOperationException) OrigErr() error {
9257	return nil
9258}
9259
9260func (s *UnsupportedOperationException) Error() string {
9261	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9262}
9263
9264// Status code returns the HTTP status code for the request's response error.
9265func (s *UnsupportedOperationException) StatusCode() int {
9266	return s.RespMetadata.StatusCode
9267}
9268
9269// RequestID returns the service's response RequestID for request.
9270func (s *UnsupportedOperationException) RequestID() string {
9271	return s.RespMetadata.RequestID
9272}
9273
9274type UntagResourceInput struct {
9275	_ struct{} `type:"structure"`
9276
9277	// The ARN of the resource.
9278	//
9279	// ResourceArn is a required field
9280	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
9281
9282	// A list of the keys of the tags to be removed from the resource.
9283	//
9284	// TagKeys is a required field
9285	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
9286}
9287
9288// String returns the string representation
9289func (s UntagResourceInput) String() string {
9290	return awsutil.Prettify(s)
9291}
9292
9293// GoString returns the string representation
9294func (s UntagResourceInput) GoString() string {
9295	return s.String()
9296}
9297
9298// Validate inspects the fields of the type to determine if they are valid.
9299func (s *UntagResourceInput) Validate() error {
9300	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
9301	if s.ResourceArn == nil {
9302		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9303	}
9304	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9305		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9306	}
9307	if s.TagKeys == nil {
9308		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
9309	}
9310
9311	if invalidParams.Len() > 0 {
9312		return invalidParams
9313	}
9314	return nil
9315}
9316
9317// SetResourceArn sets the ResourceArn field's value.
9318func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
9319	s.ResourceArn = &v
9320	return s
9321}
9322
9323// SetTagKeys sets the TagKeys field's value.
9324func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
9325	s.TagKeys = v
9326	return s
9327}
9328
9329type UntagResourceOutput struct {
9330	_ struct{} `type:"structure"`
9331}
9332
9333// String returns the string representation
9334func (s UntagResourceOutput) String() string {
9335	return awsutil.Prettify(s)
9336}
9337
9338// GoString returns the string representation
9339func (s UntagResourceOutput) GoString() string {
9340	return s.String()
9341}
9342
9343type UpdateAlarmModelInput struct {
9344	_ struct{} `type:"structure"`
9345
9346	// Contains the configuration information of alarm state changes.
9347	AlarmCapabilities *AlarmCapabilities `locationName:"alarmCapabilities" type:"structure"`
9348
9349	// Contains information about one or more alarm actions.
9350	AlarmEventActions *AlarmEventActions `locationName:"alarmEventActions" type:"structure"`
9351
9352	// The description of the alarm model.
9353	AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"`
9354
9355	// The name of the alarm model.
9356	//
9357	// AlarmModelName is a required field
9358	AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"`
9359
9360	// Contains information about one or more notification actions.
9361	AlarmNotification *AlarmNotification `locationName:"alarmNotification" type:"structure"`
9362
9363	// Defines when your alarm is invoked.
9364	//
9365	// AlarmRule is a required field
9366	AlarmRule *AlarmRule `locationName:"alarmRule" type:"structure" required:"true"`
9367
9368	// The ARN of the IAM role that allows the alarm to perform actions and access
9369	// AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9370	// in the AWS General Reference.
9371	//
9372	// RoleArn is a required field
9373	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
9374
9375	// A non-negative integer that reflects the severity level of the alarm.
9376	Severity *int64 `locationName:"severity" type:"integer"`
9377}
9378
9379// String returns the string representation
9380func (s UpdateAlarmModelInput) String() string {
9381	return awsutil.Prettify(s)
9382}
9383
9384// GoString returns the string representation
9385func (s UpdateAlarmModelInput) GoString() string {
9386	return s.String()
9387}
9388
9389// Validate inspects the fields of the type to determine if they are valid.
9390func (s *UpdateAlarmModelInput) Validate() error {
9391	invalidParams := request.ErrInvalidParams{Context: "UpdateAlarmModelInput"}
9392	if s.AlarmModelName == nil {
9393		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
9394	}
9395	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
9396		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
9397	}
9398	if s.AlarmRule == nil {
9399		invalidParams.Add(request.NewErrParamRequired("AlarmRule"))
9400	}
9401	if s.RoleArn == nil {
9402		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
9403	}
9404	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
9405		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
9406	}
9407	if s.AlarmCapabilities != nil {
9408		if err := s.AlarmCapabilities.Validate(); err != nil {
9409			invalidParams.AddNested("AlarmCapabilities", err.(request.ErrInvalidParams))
9410		}
9411	}
9412	if s.AlarmEventActions != nil {
9413		if err := s.AlarmEventActions.Validate(); err != nil {
9414			invalidParams.AddNested("AlarmEventActions", err.(request.ErrInvalidParams))
9415		}
9416	}
9417	if s.AlarmNotification != nil {
9418		if err := s.AlarmNotification.Validate(); err != nil {
9419			invalidParams.AddNested("AlarmNotification", err.(request.ErrInvalidParams))
9420		}
9421	}
9422	if s.AlarmRule != nil {
9423		if err := s.AlarmRule.Validate(); err != nil {
9424			invalidParams.AddNested("AlarmRule", err.(request.ErrInvalidParams))
9425		}
9426	}
9427
9428	if invalidParams.Len() > 0 {
9429		return invalidParams
9430	}
9431	return nil
9432}
9433
9434// SetAlarmCapabilities sets the AlarmCapabilities field's value.
9435func (s *UpdateAlarmModelInput) SetAlarmCapabilities(v *AlarmCapabilities) *UpdateAlarmModelInput {
9436	s.AlarmCapabilities = v
9437	return s
9438}
9439
9440// SetAlarmEventActions sets the AlarmEventActions field's value.
9441func (s *UpdateAlarmModelInput) SetAlarmEventActions(v *AlarmEventActions) *UpdateAlarmModelInput {
9442	s.AlarmEventActions = v
9443	return s
9444}
9445
9446// SetAlarmModelDescription sets the AlarmModelDescription field's value.
9447func (s *UpdateAlarmModelInput) SetAlarmModelDescription(v string) *UpdateAlarmModelInput {
9448	s.AlarmModelDescription = &v
9449	return s
9450}
9451
9452// SetAlarmModelName sets the AlarmModelName field's value.
9453func (s *UpdateAlarmModelInput) SetAlarmModelName(v string) *UpdateAlarmModelInput {
9454	s.AlarmModelName = &v
9455	return s
9456}
9457
9458// SetAlarmNotification sets the AlarmNotification field's value.
9459func (s *UpdateAlarmModelInput) SetAlarmNotification(v *AlarmNotification) *UpdateAlarmModelInput {
9460	s.AlarmNotification = v
9461	return s
9462}
9463
9464// SetAlarmRule sets the AlarmRule field's value.
9465func (s *UpdateAlarmModelInput) SetAlarmRule(v *AlarmRule) *UpdateAlarmModelInput {
9466	s.AlarmRule = v
9467	return s
9468}
9469
9470// SetRoleArn sets the RoleArn field's value.
9471func (s *UpdateAlarmModelInput) SetRoleArn(v string) *UpdateAlarmModelInput {
9472	s.RoleArn = &v
9473	return s
9474}
9475
9476// SetSeverity sets the Severity field's value.
9477func (s *UpdateAlarmModelInput) SetSeverity(v int64) *UpdateAlarmModelInput {
9478	s.Severity = &v
9479	return s
9480}
9481
9482type UpdateAlarmModelOutput struct {
9483	_ struct{} `type:"structure"`
9484
9485	// The ARN of the alarm model. For more information, see Amazon Resource Names
9486	// (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9487	// in the AWS General Reference.
9488	AlarmModelArn *string `locationName:"alarmModelArn" type:"string"`
9489
9490	// The version of the alarm model.
9491	AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"`
9492
9493	// The time the alarm model was created, in the Unix epoch format.
9494	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
9495
9496	// The time the alarm model was last updated, in the Unix epoch format.
9497	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
9498
9499	// The status of the alarm model. The status can be one of the following values:
9500	//
9501	//    * ACTIVE - The alarm model is active and it's ready to evaluate data.
9502	//
9503	//    * ACTIVATING - AWS IoT Events is activating your alarm model. Activating
9504	//    an alarm model can take up to a few minutes.
9505	//
9506	//    * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate
9507	//    data. Check your alarm model information and update the alarm model.
9508	//
9509	//    * FAILED - You couldn't create or update the alarm model. Check your alarm
9510	//    model information and try again.
9511	Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"`
9512}
9513
9514// String returns the string representation
9515func (s UpdateAlarmModelOutput) String() string {
9516	return awsutil.Prettify(s)
9517}
9518
9519// GoString returns the string representation
9520func (s UpdateAlarmModelOutput) GoString() string {
9521	return s.String()
9522}
9523
9524// SetAlarmModelArn sets the AlarmModelArn field's value.
9525func (s *UpdateAlarmModelOutput) SetAlarmModelArn(v string) *UpdateAlarmModelOutput {
9526	s.AlarmModelArn = &v
9527	return s
9528}
9529
9530// SetAlarmModelVersion sets the AlarmModelVersion field's value.
9531func (s *UpdateAlarmModelOutput) SetAlarmModelVersion(v string) *UpdateAlarmModelOutput {
9532	s.AlarmModelVersion = &v
9533	return s
9534}
9535
9536// SetCreationTime sets the CreationTime field's value.
9537func (s *UpdateAlarmModelOutput) SetCreationTime(v time.Time) *UpdateAlarmModelOutput {
9538	s.CreationTime = &v
9539	return s
9540}
9541
9542// SetLastUpdateTime sets the LastUpdateTime field's value.
9543func (s *UpdateAlarmModelOutput) SetLastUpdateTime(v time.Time) *UpdateAlarmModelOutput {
9544	s.LastUpdateTime = &v
9545	return s
9546}
9547
9548// SetStatus sets the Status field's value.
9549func (s *UpdateAlarmModelOutput) SetStatus(v string) *UpdateAlarmModelOutput {
9550	s.Status = &v
9551	return s
9552}
9553
9554type UpdateDetectorModelInput struct {
9555	_ struct{} `type:"structure"`
9556
9557	// Information that defines how a detector operates.
9558	//
9559	// DetectorModelDefinition is a required field
9560	DetectorModelDefinition *DetectorModelDefinition `locationName:"detectorModelDefinition" type:"structure" required:"true"`
9561
9562	// A brief description of the detector model.
9563	DetectorModelDescription *string `locationName:"detectorModelDescription" type:"string"`
9564
9565	// The name of the detector model that is updated.
9566	//
9567	// DetectorModelName is a required field
9568	DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"`
9569
9570	// Information about the order in which events are evaluated and how actions
9571	// are executed.
9572	EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"`
9573
9574	// The ARN of the role that grants permission to AWS IoT Events to perform its
9575	// operations.
9576	//
9577	// RoleArn is a required field
9578	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
9579}
9580
9581// String returns the string representation
9582func (s UpdateDetectorModelInput) String() string {
9583	return awsutil.Prettify(s)
9584}
9585
9586// GoString returns the string representation
9587func (s UpdateDetectorModelInput) GoString() string {
9588	return s.String()
9589}
9590
9591// Validate inspects the fields of the type to determine if they are valid.
9592func (s *UpdateDetectorModelInput) Validate() error {
9593	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorModelInput"}
9594	if s.DetectorModelDefinition == nil {
9595		invalidParams.Add(request.NewErrParamRequired("DetectorModelDefinition"))
9596	}
9597	if s.DetectorModelName == nil {
9598		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
9599	}
9600	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
9601		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
9602	}
9603	if s.RoleArn == nil {
9604		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
9605	}
9606	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
9607		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
9608	}
9609	if s.DetectorModelDefinition != nil {
9610		if err := s.DetectorModelDefinition.Validate(); err != nil {
9611			invalidParams.AddNested("DetectorModelDefinition", err.(request.ErrInvalidParams))
9612		}
9613	}
9614
9615	if invalidParams.Len() > 0 {
9616		return invalidParams
9617	}
9618	return nil
9619}
9620
9621// SetDetectorModelDefinition sets the DetectorModelDefinition field's value.
9622func (s *UpdateDetectorModelInput) SetDetectorModelDefinition(v *DetectorModelDefinition) *UpdateDetectorModelInput {
9623	s.DetectorModelDefinition = v
9624	return s
9625}
9626
9627// SetDetectorModelDescription sets the DetectorModelDescription field's value.
9628func (s *UpdateDetectorModelInput) SetDetectorModelDescription(v string) *UpdateDetectorModelInput {
9629	s.DetectorModelDescription = &v
9630	return s
9631}
9632
9633// SetDetectorModelName sets the DetectorModelName field's value.
9634func (s *UpdateDetectorModelInput) SetDetectorModelName(v string) *UpdateDetectorModelInput {
9635	s.DetectorModelName = &v
9636	return s
9637}
9638
9639// SetEvaluationMethod sets the EvaluationMethod field's value.
9640func (s *UpdateDetectorModelInput) SetEvaluationMethod(v string) *UpdateDetectorModelInput {
9641	s.EvaluationMethod = &v
9642	return s
9643}
9644
9645// SetRoleArn sets the RoleArn field's value.
9646func (s *UpdateDetectorModelInput) SetRoleArn(v string) *UpdateDetectorModelInput {
9647	s.RoleArn = &v
9648	return s
9649}
9650
9651type UpdateDetectorModelOutput struct {
9652	_ struct{} `type:"structure"`
9653
9654	// Information about how the detector model is configured.
9655	DetectorModelConfiguration *DetectorModelConfiguration `locationName:"detectorModelConfiguration" type:"structure"`
9656}
9657
9658// String returns the string representation
9659func (s UpdateDetectorModelOutput) String() string {
9660	return awsutil.Prettify(s)
9661}
9662
9663// GoString returns the string representation
9664func (s UpdateDetectorModelOutput) GoString() string {
9665	return s.String()
9666}
9667
9668// SetDetectorModelConfiguration sets the DetectorModelConfiguration field's value.
9669func (s *UpdateDetectorModelOutput) SetDetectorModelConfiguration(v *DetectorModelConfiguration) *UpdateDetectorModelOutput {
9670	s.DetectorModelConfiguration = v
9671	return s
9672}
9673
9674type UpdateInputInput struct {
9675	_ struct{} `type:"structure"`
9676
9677	// The definition of the input.
9678	//
9679	// InputDefinition is a required field
9680	InputDefinition *InputDefinition `locationName:"inputDefinition" type:"structure" required:"true"`
9681
9682	// A brief description of the input.
9683	InputDescription *string `locationName:"inputDescription" type:"string"`
9684
9685	// The name of the input you want to update.
9686	//
9687	// InputName is a required field
9688	InputName *string `location:"uri" locationName:"inputName" min:"1" type:"string" required:"true"`
9689}
9690
9691// String returns the string representation
9692func (s UpdateInputInput) String() string {
9693	return awsutil.Prettify(s)
9694}
9695
9696// GoString returns the string representation
9697func (s UpdateInputInput) GoString() string {
9698	return s.String()
9699}
9700
9701// Validate inspects the fields of the type to determine if they are valid.
9702func (s *UpdateInputInput) Validate() error {
9703	invalidParams := request.ErrInvalidParams{Context: "UpdateInputInput"}
9704	if s.InputDefinition == nil {
9705		invalidParams.Add(request.NewErrParamRequired("InputDefinition"))
9706	}
9707	if s.InputName == nil {
9708		invalidParams.Add(request.NewErrParamRequired("InputName"))
9709	}
9710	if s.InputName != nil && len(*s.InputName) < 1 {
9711		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
9712	}
9713	if s.InputDefinition != nil {
9714		if err := s.InputDefinition.Validate(); err != nil {
9715			invalidParams.AddNested("InputDefinition", err.(request.ErrInvalidParams))
9716		}
9717	}
9718
9719	if invalidParams.Len() > 0 {
9720		return invalidParams
9721	}
9722	return nil
9723}
9724
9725// SetInputDefinition sets the InputDefinition field's value.
9726func (s *UpdateInputInput) SetInputDefinition(v *InputDefinition) *UpdateInputInput {
9727	s.InputDefinition = v
9728	return s
9729}
9730
9731// SetInputDescription sets the InputDescription field's value.
9732func (s *UpdateInputInput) SetInputDescription(v string) *UpdateInputInput {
9733	s.InputDescription = &v
9734	return s
9735}
9736
9737// SetInputName sets the InputName field's value.
9738func (s *UpdateInputInput) SetInputName(v string) *UpdateInputInput {
9739	s.InputName = &v
9740	return s
9741}
9742
9743type UpdateInputOutput struct {
9744	_ struct{} `type:"structure"`
9745
9746	// Information about the configuration of the input.
9747	InputConfiguration *InputConfiguration `locationName:"inputConfiguration" type:"structure"`
9748}
9749
9750// String returns the string representation
9751func (s UpdateInputOutput) String() string {
9752	return awsutil.Prettify(s)
9753}
9754
9755// GoString returns the string representation
9756func (s UpdateInputOutput) GoString() string {
9757	return s.String()
9758}
9759
9760// SetInputConfiguration sets the InputConfiguration field's value.
9761func (s *UpdateInputOutput) SetInputConfiguration(v *InputConfiguration) *UpdateInputOutput {
9762	s.InputConfiguration = v
9763	return s
9764}
9765
9766const (
9767	// AlarmModelVersionStatusActive is a AlarmModelVersionStatus enum value
9768	AlarmModelVersionStatusActive = "ACTIVE"
9769
9770	// AlarmModelVersionStatusActivating is a AlarmModelVersionStatus enum value
9771	AlarmModelVersionStatusActivating = "ACTIVATING"
9772
9773	// AlarmModelVersionStatusInactive is a AlarmModelVersionStatus enum value
9774	AlarmModelVersionStatusInactive = "INACTIVE"
9775
9776	// AlarmModelVersionStatusFailed is a AlarmModelVersionStatus enum value
9777	AlarmModelVersionStatusFailed = "FAILED"
9778)
9779
9780// AlarmModelVersionStatus_Values returns all elements of the AlarmModelVersionStatus enum
9781func AlarmModelVersionStatus_Values() []string {
9782	return []string{
9783		AlarmModelVersionStatusActive,
9784		AlarmModelVersionStatusActivating,
9785		AlarmModelVersionStatusInactive,
9786		AlarmModelVersionStatusFailed,
9787	}
9788}
9789
9790const (
9791	// AnalysisResultLevelInfo is a AnalysisResultLevel enum value
9792	AnalysisResultLevelInfo = "INFO"
9793
9794	// AnalysisResultLevelWarning is a AnalysisResultLevel enum value
9795	AnalysisResultLevelWarning = "WARNING"
9796
9797	// AnalysisResultLevelError is a AnalysisResultLevel enum value
9798	AnalysisResultLevelError = "ERROR"
9799)
9800
9801// AnalysisResultLevel_Values returns all elements of the AnalysisResultLevel enum
9802func AnalysisResultLevel_Values() []string {
9803	return []string{
9804		AnalysisResultLevelInfo,
9805		AnalysisResultLevelWarning,
9806		AnalysisResultLevelError,
9807	}
9808}
9809
9810const (
9811	// AnalysisStatusRunning is a AnalysisStatus enum value
9812	AnalysisStatusRunning = "RUNNING"
9813
9814	// AnalysisStatusComplete is a AnalysisStatus enum value
9815	AnalysisStatusComplete = "COMPLETE"
9816
9817	// AnalysisStatusFailed is a AnalysisStatus enum value
9818	AnalysisStatusFailed = "FAILED"
9819)
9820
9821// AnalysisStatus_Values returns all elements of the AnalysisStatus enum
9822func AnalysisStatus_Values() []string {
9823	return []string{
9824		AnalysisStatusRunning,
9825		AnalysisStatusComplete,
9826		AnalysisStatusFailed,
9827	}
9828}
9829
9830const (
9831	// ComparisonOperatorGreater is a ComparisonOperator enum value
9832	ComparisonOperatorGreater = "GREATER"
9833
9834	// ComparisonOperatorGreaterOrEqual is a ComparisonOperator enum value
9835	ComparisonOperatorGreaterOrEqual = "GREATER_OR_EQUAL"
9836
9837	// ComparisonOperatorLess is a ComparisonOperator enum value
9838	ComparisonOperatorLess = "LESS"
9839
9840	// ComparisonOperatorLessOrEqual is a ComparisonOperator enum value
9841	ComparisonOperatorLessOrEqual = "LESS_OR_EQUAL"
9842
9843	// ComparisonOperatorEqual is a ComparisonOperator enum value
9844	ComparisonOperatorEqual = "EQUAL"
9845
9846	// ComparisonOperatorNotEqual is a ComparisonOperator enum value
9847	ComparisonOperatorNotEqual = "NOT_EQUAL"
9848)
9849
9850// ComparisonOperator_Values returns all elements of the ComparisonOperator enum
9851func ComparisonOperator_Values() []string {
9852	return []string{
9853		ComparisonOperatorGreater,
9854		ComparisonOperatorGreaterOrEqual,
9855		ComparisonOperatorLess,
9856		ComparisonOperatorLessOrEqual,
9857		ComparisonOperatorEqual,
9858		ComparisonOperatorNotEqual,
9859	}
9860}
9861
9862const (
9863	// DetectorModelVersionStatusActive is a DetectorModelVersionStatus enum value
9864	DetectorModelVersionStatusActive = "ACTIVE"
9865
9866	// DetectorModelVersionStatusActivating is a DetectorModelVersionStatus enum value
9867	DetectorModelVersionStatusActivating = "ACTIVATING"
9868
9869	// DetectorModelVersionStatusInactive is a DetectorModelVersionStatus enum value
9870	DetectorModelVersionStatusInactive = "INACTIVE"
9871
9872	// DetectorModelVersionStatusDeprecated is a DetectorModelVersionStatus enum value
9873	DetectorModelVersionStatusDeprecated = "DEPRECATED"
9874
9875	// DetectorModelVersionStatusDraft is a DetectorModelVersionStatus enum value
9876	DetectorModelVersionStatusDraft = "DRAFT"
9877
9878	// DetectorModelVersionStatusPaused is a DetectorModelVersionStatus enum value
9879	DetectorModelVersionStatusPaused = "PAUSED"
9880
9881	// DetectorModelVersionStatusFailed is a DetectorModelVersionStatus enum value
9882	DetectorModelVersionStatusFailed = "FAILED"
9883)
9884
9885// DetectorModelVersionStatus_Values returns all elements of the DetectorModelVersionStatus enum
9886func DetectorModelVersionStatus_Values() []string {
9887	return []string{
9888		DetectorModelVersionStatusActive,
9889		DetectorModelVersionStatusActivating,
9890		DetectorModelVersionStatusInactive,
9891		DetectorModelVersionStatusDeprecated,
9892		DetectorModelVersionStatusDraft,
9893		DetectorModelVersionStatusPaused,
9894		DetectorModelVersionStatusFailed,
9895	}
9896}
9897
9898const (
9899	// EvaluationMethodBatch is a EvaluationMethod enum value
9900	EvaluationMethodBatch = "BATCH"
9901
9902	// EvaluationMethodSerial is a EvaluationMethod enum value
9903	EvaluationMethodSerial = "SERIAL"
9904)
9905
9906// EvaluationMethod_Values returns all elements of the EvaluationMethod enum
9907func EvaluationMethod_Values() []string {
9908	return []string{
9909		EvaluationMethodBatch,
9910		EvaluationMethodSerial,
9911	}
9912}
9913
9914const (
9915	// InputStatusCreating is a InputStatus enum value
9916	InputStatusCreating = "CREATING"
9917
9918	// InputStatusUpdating is a InputStatus enum value
9919	InputStatusUpdating = "UPDATING"
9920
9921	// InputStatusActive is a InputStatus enum value
9922	InputStatusActive = "ACTIVE"
9923
9924	// InputStatusDeleting is a InputStatus enum value
9925	InputStatusDeleting = "DELETING"
9926)
9927
9928// InputStatus_Values returns all elements of the InputStatus enum
9929func InputStatus_Values() []string {
9930	return []string{
9931		InputStatusCreating,
9932		InputStatusUpdating,
9933		InputStatusActive,
9934		InputStatusDeleting,
9935	}
9936}
9937
9938const (
9939	// LoggingLevelError is a LoggingLevel enum value
9940	LoggingLevelError = "ERROR"
9941
9942	// LoggingLevelInfo is a LoggingLevel enum value
9943	LoggingLevelInfo = "INFO"
9944
9945	// LoggingLevelDebug is a LoggingLevel enum value
9946	LoggingLevelDebug = "DEBUG"
9947)
9948
9949// LoggingLevel_Values returns all elements of the LoggingLevel enum
9950func LoggingLevel_Values() []string {
9951	return []string{
9952		LoggingLevelError,
9953		LoggingLevelInfo,
9954		LoggingLevelDebug,
9955	}
9956}
9957
9958const (
9959	// PayloadTypeString is a PayloadType enum value
9960	PayloadTypeString = "STRING"
9961
9962	// PayloadTypeJson is a PayloadType enum value
9963	PayloadTypeJson = "JSON"
9964)
9965
9966// PayloadType_Values returns all elements of the PayloadType enum
9967func PayloadType_Values() []string {
9968	return []string{
9969		PayloadTypeString,
9970		PayloadTypeJson,
9971	}
9972}
9973