1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package ioteventsdata
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)
14
15const opBatchAcknowledgeAlarm = "BatchAcknowledgeAlarm"
16
17// BatchAcknowledgeAlarmRequest generates a "aws/request.Request" representing the
18// client's request for the BatchAcknowledgeAlarm operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See BatchAcknowledgeAlarm for more information on using the BatchAcknowledgeAlarm
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the BatchAcknowledgeAlarmRequest method.
33//    req, resp := client.BatchAcknowledgeAlarmRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchAcknowledgeAlarm
41func (c *IoTEventsData) BatchAcknowledgeAlarmRequest(input *BatchAcknowledgeAlarmInput) (req *request.Request, output *BatchAcknowledgeAlarmOutput) {
42	op := &request.Operation{
43		Name:       opBatchAcknowledgeAlarm,
44		HTTPMethod: "POST",
45		HTTPPath:   "/alarms/acknowledge",
46	}
47
48	if input == nil {
49		input = &BatchAcknowledgeAlarmInput{}
50	}
51
52	output = &BatchAcknowledgeAlarmOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// BatchAcknowledgeAlarm API operation for AWS IoT Events Data.
58//
59// Acknowledges one or more alarms. The alarms change to the ACKNOWLEDGED state
60// after you acknowledge them.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for AWS IoT Events Data's
67// API operation BatchAcknowledgeAlarm for usage and error information.
68//
69// Returned Error Types:
70//   * InvalidRequestException
71//   The request was invalid.
72//
73//   * InternalFailureException
74//   An internal failure occurred.
75//
76//   * ServiceUnavailableException
77//   The service is currently unavailable.
78//
79//   * ThrottlingException
80//   The request could not be completed due to throttling.
81//
82// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchAcknowledgeAlarm
83func (c *IoTEventsData) BatchAcknowledgeAlarm(input *BatchAcknowledgeAlarmInput) (*BatchAcknowledgeAlarmOutput, error) {
84	req, out := c.BatchAcknowledgeAlarmRequest(input)
85	return out, req.Send()
86}
87
88// BatchAcknowledgeAlarmWithContext is the same as BatchAcknowledgeAlarm with the addition of
89// the ability to pass a context and additional request options.
90//
91// See BatchAcknowledgeAlarm for details on how to use this API operation.
92//
93// The context must be non-nil and will be used for request cancellation. If
94// the context is nil a panic will occur. In the future the SDK may create
95// sub-contexts for http.Requests. See https://golang.org/pkg/context/
96// for more information on using Contexts.
97func (c *IoTEventsData) BatchAcknowledgeAlarmWithContext(ctx aws.Context, input *BatchAcknowledgeAlarmInput, opts ...request.Option) (*BatchAcknowledgeAlarmOutput, error) {
98	req, out := c.BatchAcknowledgeAlarmRequest(input)
99	req.SetContext(ctx)
100	req.ApplyOptions(opts...)
101	return out, req.Send()
102}
103
104const opBatchDisableAlarm = "BatchDisableAlarm"
105
106// BatchDisableAlarmRequest generates a "aws/request.Request" representing the
107// client's request for the BatchDisableAlarm operation. The "output" return
108// value will be populated with the request's response once the request completes
109// successfully.
110//
111// Use "Send" method on the returned Request to send the API call to the service.
112// the "output" return value is not valid until after Send returns without error.
113//
114// See BatchDisableAlarm for more information on using the BatchDisableAlarm
115// API call, and error handling.
116//
117// This method is useful when you want to inject custom logic or configuration
118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
119//
120//
121//    // Example sending a request using the BatchDisableAlarmRequest method.
122//    req, resp := client.BatchDisableAlarmRequest(params)
123//
124//    err := req.Send()
125//    if err == nil { // resp is now filled
126//        fmt.Println(resp)
127//    }
128//
129// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchDisableAlarm
130func (c *IoTEventsData) BatchDisableAlarmRequest(input *BatchDisableAlarmInput) (req *request.Request, output *BatchDisableAlarmOutput) {
131	op := &request.Operation{
132		Name:       opBatchDisableAlarm,
133		HTTPMethod: "POST",
134		HTTPPath:   "/alarms/disable",
135	}
136
137	if input == nil {
138		input = &BatchDisableAlarmInput{}
139	}
140
141	output = &BatchDisableAlarmOutput{}
142	req = c.newRequest(op, input, output)
143	return
144}
145
146// BatchDisableAlarm API operation for AWS IoT Events Data.
147//
148// Disables one or more alarms. The alarms change to the DISABLED state after
149// you disable them.
150//
151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
152// with awserr.Error's Code and Message methods to get detailed information about
153// the error.
154//
155// See the AWS API reference guide for AWS IoT Events Data's
156// API operation BatchDisableAlarm for usage and error information.
157//
158// Returned Error Types:
159//   * InvalidRequestException
160//   The request was invalid.
161//
162//   * InternalFailureException
163//   An internal failure occurred.
164//
165//   * ServiceUnavailableException
166//   The service is currently unavailable.
167//
168//   * ThrottlingException
169//   The request could not be completed due to throttling.
170//
171// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchDisableAlarm
172func (c *IoTEventsData) BatchDisableAlarm(input *BatchDisableAlarmInput) (*BatchDisableAlarmOutput, error) {
173	req, out := c.BatchDisableAlarmRequest(input)
174	return out, req.Send()
175}
176
177// BatchDisableAlarmWithContext is the same as BatchDisableAlarm with the addition of
178// the ability to pass a context and additional request options.
179//
180// See BatchDisableAlarm for details on how to use this API operation.
181//
182// The context must be non-nil and will be used for request cancellation. If
183// the context is nil a panic will occur. In the future the SDK may create
184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
185// for more information on using Contexts.
186func (c *IoTEventsData) BatchDisableAlarmWithContext(ctx aws.Context, input *BatchDisableAlarmInput, opts ...request.Option) (*BatchDisableAlarmOutput, error) {
187	req, out := c.BatchDisableAlarmRequest(input)
188	req.SetContext(ctx)
189	req.ApplyOptions(opts...)
190	return out, req.Send()
191}
192
193const opBatchEnableAlarm = "BatchEnableAlarm"
194
195// BatchEnableAlarmRequest generates a "aws/request.Request" representing the
196// client's request for the BatchEnableAlarm operation. The "output" return
197// value will be populated with the request's response once the request completes
198// successfully.
199//
200// Use "Send" method on the returned Request to send the API call to the service.
201// the "output" return value is not valid until after Send returns without error.
202//
203// See BatchEnableAlarm for more information on using the BatchEnableAlarm
204// API call, and error handling.
205//
206// This method is useful when you want to inject custom logic or configuration
207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
208//
209//
210//    // Example sending a request using the BatchEnableAlarmRequest method.
211//    req, resp := client.BatchEnableAlarmRequest(params)
212//
213//    err := req.Send()
214//    if err == nil { // resp is now filled
215//        fmt.Println(resp)
216//    }
217//
218// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchEnableAlarm
219func (c *IoTEventsData) BatchEnableAlarmRequest(input *BatchEnableAlarmInput) (req *request.Request, output *BatchEnableAlarmOutput) {
220	op := &request.Operation{
221		Name:       opBatchEnableAlarm,
222		HTTPMethod: "POST",
223		HTTPPath:   "/alarms/enable",
224	}
225
226	if input == nil {
227		input = &BatchEnableAlarmInput{}
228	}
229
230	output = &BatchEnableAlarmOutput{}
231	req = c.newRequest(op, input, output)
232	return
233}
234
235// BatchEnableAlarm API operation for AWS IoT Events Data.
236//
237// Enables one or more alarms. The alarms change to the NORMAL state after you
238// enable them.
239//
240// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
241// with awserr.Error's Code and Message methods to get detailed information about
242// the error.
243//
244// See the AWS API reference guide for AWS IoT Events Data's
245// API operation BatchEnableAlarm for usage and error information.
246//
247// Returned Error Types:
248//   * InvalidRequestException
249//   The request was invalid.
250//
251//   * InternalFailureException
252//   An internal failure occurred.
253//
254//   * ServiceUnavailableException
255//   The service is currently unavailable.
256//
257//   * ThrottlingException
258//   The request could not be completed due to throttling.
259//
260// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchEnableAlarm
261func (c *IoTEventsData) BatchEnableAlarm(input *BatchEnableAlarmInput) (*BatchEnableAlarmOutput, error) {
262	req, out := c.BatchEnableAlarmRequest(input)
263	return out, req.Send()
264}
265
266// BatchEnableAlarmWithContext is the same as BatchEnableAlarm with the addition of
267// the ability to pass a context and additional request options.
268//
269// See BatchEnableAlarm for details on how to use this API operation.
270//
271// The context must be non-nil and will be used for request cancellation. If
272// the context is nil a panic will occur. In the future the SDK may create
273// sub-contexts for http.Requests. See https://golang.org/pkg/context/
274// for more information on using Contexts.
275func (c *IoTEventsData) BatchEnableAlarmWithContext(ctx aws.Context, input *BatchEnableAlarmInput, opts ...request.Option) (*BatchEnableAlarmOutput, error) {
276	req, out := c.BatchEnableAlarmRequest(input)
277	req.SetContext(ctx)
278	req.ApplyOptions(opts...)
279	return out, req.Send()
280}
281
282const opBatchPutMessage = "BatchPutMessage"
283
284// BatchPutMessageRequest generates a "aws/request.Request" representing the
285// client's request for the BatchPutMessage operation. The "output" return
286// value will be populated with the request's response once the request completes
287// successfully.
288//
289// Use "Send" method on the returned Request to send the API call to the service.
290// the "output" return value is not valid until after Send returns without error.
291//
292// See BatchPutMessage for more information on using the BatchPutMessage
293// API call, and error handling.
294//
295// This method is useful when you want to inject custom logic or configuration
296// into the SDK's request lifecycle. Such as custom headers, or retry logic.
297//
298//
299//    // Example sending a request using the BatchPutMessageRequest method.
300//    req, resp := client.BatchPutMessageRequest(params)
301//
302//    err := req.Send()
303//    if err == nil { // resp is now filled
304//        fmt.Println(resp)
305//    }
306//
307// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchPutMessage
308func (c *IoTEventsData) BatchPutMessageRequest(input *BatchPutMessageInput) (req *request.Request, output *BatchPutMessageOutput) {
309	op := &request.Operation{
310		Name:       opBatchPutMessage,
311		HTTPMethod: "POST",
312		HTTPPath:   "/inputs/messages",
313	}
314
315	if input == nil {
316		input = &BatchPutMessageInput{}
317	}
318
319	output = &BatchPutMessageOutput{}
320	req = c.newRequest(op, input, output)
321	return
322}
323
324// BatchPutMessage API operation for AWS IoT Events Data.
325//
326// Sends a set of messages to the AWS IoT Events system. Each message payload
327// is transformed into the input you specify ("inputName") and ingested into
328// any detectors that monitor that input. If multiple messages are sent, the
329// order in which the messages are processed isn't guaranteed. To guarantee
330// ordering, you must send messages one at a time and wait for a successful
331// response.
332//
333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
334// with awserr.Error's Code and Message methods to get detailed information about
335// the error.
336//
337// See the AWS API reference guide for AWS IoT Events Data's
338// API operation BatchPutMessage for usage and error information.
339//
340// Returned Error Types:
341//   * InvalidRequestException
342//   The request was invalid.
343//
344//   * InternalFailureException
345//   An internal failure occurred.
346//
347//   * ServiceUnavailableException
348//   The service is currently unavailable.
349//
350//   * ThrottlingException
351//   The request could not be completed due to throttling.
352//
353// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchPutMessage
354func (c *IoTEventsData) BatchPutMessage(input *BatchPutMessageInput) (*BatchPutMessageOutput, error) {
355	req, out := c.BatchPutMessageRequest(input)
356	return out, req.Send()
357}
358
359// BatchPutMessageWithContext is the same as BatchPutMessage with the addition of
360// the ability to pass a context and additional request options.
361//
362// See BatchPutMessage for details on how to use this API operation.
363//
364// The context must be non-nil and will be used for request cancellation. If
365// the context is nil a panic will occur. In the future the SDK may create
366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
367// for more information on using Contexts.
368func (c *IoTEventsData) BatchPutMessageWithContext(ctx aws.Context, input *BatchPutMessageInput, opts ...request.Option) (*BatchPutMessageOutput, error) {
369	req, out := c.BatchPutMessageRequest(input)
370	req.SetContext(ctx)
371	req.ApplyOptions(opts...)
372	return out, req.Send()
373}
374
375const opBatchResetAlarm = "BatchResetAlarm"
376
377// BatchResetAlarmRequest generates a "aws/request.Request" representing the
378// client's request for the BatchResetAlarm operation. The "output" return
379// value will be populated with the request's response once the request completes
380// successfully.
381//
382// Use "Send" method on the returned Request to send the API call to the service.
383// the "output" return value is not valid until after Send returns without error.
384//
385// See BatchResetAlarm for more information on using the BatchResetAlarm
386// API call, and error handling.
387//
388// This method is useful when you want to inject custom logic or configuration
389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
390//
391//
392//    // Example sending a request using the BatchResetAlarmRequest method.
393//    req, resp := client.BatchResetAlarmRequest(params)
394//
395//    err := req.Send()
396//    if err == nil { // resp is now filled
397//        fmt.Println(resp)
398//    }
399//
400// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchResetAlarm
401func (c *IoTEventsData) BatchResetAlarmRequest(input *BatchResetAlarmInput) (req *request.Request, output *BatchResetAlarmOutput) {
402	op := &request.Operation{
403		Name:       opBatchResetAlarm,
404		HTTPMethod: "POST",
405		HTTPPath:   "/alarms/reset",
406	}
407
408	if input == nil {
409		input = &BatchResetAlarmInput{}
410	}
411
412	output = &BatchResetAlarmOutput{}
413	req = c.newRequest(op, input, output)
414	return
415}
416
417// BatchResetAlarm API operation for AWS IoT Events Data.
418//
419// Resets one or more alarms. The alarms return to the NORMAL state after you
420// reset them.
421//
422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
423// with awserr.Error's Code and Message methods to get detailed information about
424// the error.
425//
426// See the AWS API reference guide for AWS IoT Events Data's
427// API operation BatchResetAlarm for usage and error information.
428//
429// Returned Error Types:
430//   * InvalidRequestException
431//   The request was invalid.
432//
433//   * InternalFailureException
434//   An internal failure occurred.
435//
436//   * ServiceUnavailableException
437//   The service is currently unavailable.
438//
439//   * ThrottlingException
440//   The request could not be completed due to throttling.
441//
442// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchResetAlarm
443func (c *IoTEventsData) BatchResetAlarm(input *BatchResetAlarmInput) (*BatchResetAlarmOutput, error) {
444	req, out := c.BatchResetAlarmRequest(input)
445	return out, req.Send()
446}
447
448// BatchResetAlarmWithContext is the same as BatchResetAlarm with the addition of
449// the ability to pass a context and additional request options.
450//
451// See BatchResetAlarm for details on how to use this API operation.
452//
453// The context must be non-nil and will be used for request cancellation. If
454// the context is nil a panic will occur. In the future the SDK may create
455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
456// for more information on using Contexts.
457func (c *IoTEventsData) BatchResetAlarmWithContext(ctx aws.Context, input *BatchResetAlarmInput, opts ...request.Option) (*BatchResetAlarmOutput, error) {
458	req, out := c.BatchResetAlarmRequest(input)
459	req.SetContext(ctx)
460	req.ApplyOptions(opts...)
461	return out, req.Send()
462}
463
464const opBatchSnoozeAlarm = "BatchSnoozeAlarm"
465
466// BatchSnoozeAlarmRequest generates a "aws/request.Request" representing the
467// client's request for the BatchSnoozeAlarm operation. The "output" return
468// value will be populated with the request's response once the request completes
469// successfully.
470//
471// Use "Send" method on the returned Request to send the API call to the service.
472// the "output" return value is not valid until after Send returns without error.
473//
474// See BatchSnoozeAlarm for more information on using the BatchSnoozeAlarm
475// API call, and error handling.
476//
477// This method is useful when you want to inject custom logic or configuration
478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
479//
480//
481//    // Example sending a request using the BatchSnoozeAlarmRequest method.
482//    req, resp := client.BatchSnoozeAlarmRequest(params)
483//
484//    err := req.Send()
485//    if err == nil { // resp is now filled
486//        fmt.Println(resp)
487//    }
488//
489// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchSnoozeAlarm
490func (c *IoTEventsData) BatchSnoozeAlarmRequest(input *BatchSnoozeAlarmInput) (req *request.Request, output *BatchSnoozeAlarmOutput) {
491	op := &request.Operation{
492		Name:       opBatchSnoozeAlarm,
493		HTTPMethod: "POST",
494		HTTPPath:   "/alarms/snooze",
495	}
496
497	if input == nil {
498		input = &BatchSnoozeAlarmInput{}
499	}
500
501	output = &BatchSnoozeAlarmOutput{}
502	req = c.newRequest(op, input, output)
503	return
504}
505
506// BatchSnoozeAlarm API operation for AWS IoT Events Data.
507//
508// Changes one or more alarms to the snooze mode. The alarms change to the SNOOZE_DISABLED
509// state after you set them to the snooze mode.
510//
511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
512// with awserr.Error's Code and Message methods to get detailed information about
513// the error.
514//
515// See the AWS API reference guide for AWS IoT Events Data's
516// API operation BatchSnoozeAlarm for usage and error information.
517//
518// Returned Error Types:
519//   * InvalidRequestException
520//   The request was invalid.
521//
522//   * InternalFailureException
523//   An internal failure occurred.
524//
525//   * ServiceUnavailableException
526//   The service is currently unavailable.
527//
528//   * ThrottlingException
529//   The request could not be completed due to throttling.
530//
531// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchSnoozeAlarm
532func (c *IoTEventsData) BatchSnoozeAlarm(input *BatchSnoozeAlarmInput) (*BatchSnoozeAlarmOutput, error) {
533	req, out := c.BatchSnoozeAlarmRequest(input)
534	return out, req.Send()
535}
536
537// BatchSnoozeAlarmWithContext is the same as BatchSnoozeAlarm with the addition of
538// the ability to pass a context and additional request options.
539//
540// See BatchSnoozeAlarm for details on how to use this API operation.
541//
542// The context must be non-nil and will be used for request cancellation. If
543// the context is nil a panic will occur. In the future the SDK may create
544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
545// for more information on using Contexts.
546func (c *IoTEventsData) BatchSnoozeAlarmWithContext(ctx aws.Context, input *BatchSnoozeAlarmInput, opts ...request.Option) (*BatchSnoozeAlarmOutput, error) {
547	req, out := c.BatchSnoozeAlarmRequest(input)
548	req.SetContext(ctx)
549	req.ApplyOptions(opts...)
550	return out, req.Send()
551}
552
553const opBatchUpdateDetector = "BatchUpdateDetector"
554
555// BatchUpdateDetectorRequest generates a "aws/request.Request" representing the
556// client's request for the BatchUpdateDetector operation. The "output" return
557// value will be populated with the request's response once the request completes
558// successfully.
559//
560// Use "Send" method on the returned Request to send the API call to the service.
561// the "output" return value is not valid until after Send returns without error.
562//
563// See BatchUpdateDetector for more information on using the BatchUpdateDetector
564// API call, and error handling.
565//
566// This method is useful when you want to inject custom logic or configuration
567// into the SDK's request lifecycle. Such as custom headers, or retry logic.
568//
569//
570//    // Example sending a request using the BatchUpdateDetectorRequest method.
571//    req, resp := client.BatchUpdateDetectorRequest(params)
572//
573//    err := req.Send()
574//    if err == nil { // resp is now filled
575//        fmt.Println(resp)
576//    }
577//
578// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchUpdateDetector
579func (c *IoTEventsData) BatchUpdateDetectorRequest(input *BatchUpdateDetectorInput) (req *request.Request, output *BatchUpdateDetectorOutput) {
580	op := &request.Operation{
581		Name:       opBatchUpdateDetector,
582		HTTPMethod: "POST",
583		HTTPPath:   "/detectors",
584	}
585
586	if input == nil {
587		input = &BatchUpdateDetectorInput{}
588	}
589
590	output = &BatchUpdateDetectorOutput{}
591	req = c.newRequest(op, input, output)
592	return
593}
594
595// BatchUpdateDetector API operation for AWS IoT Events Data.
596//
597// Updates the state, variable values, and timer settings of one or more detectors
598// (instances) of a specified detector model.
599//
600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
601// with awserr.Error's Code and Message methods to get detailed information about
602// the error.
603//
604// See the AWS API reference guide for AWS IoT Events Data's
605// API operation BatchUpdateDetector for usage and error information.
606//
607// Returned Error Types:
608//   * InvalidRequestException
609//   The request was invalid.
610//
611//   * InternalFailureException
612//   An internal failure occurred.
613//
614//   * ServiceUnavailableException
615//   The service is currently unavailable.
616//
617//   * ThrottlingException
618//   The request could not be completed due to throttling.
619//
620// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchUpdateDetector
621func (c *IoTEventsData) BatchUpdateDetector(input *BatchUpdateDetectorInput) (*BatchUpdateDetectorOutput, error) {
622	req, out := c.BatchUpdateDetectorRequest(input)
623	return out, req.Send()
624}
625
626// BatchUpdateDetectorWithContext is the same as BatchUpdateDetector with the addition of
627// the ability to pass a context and additional request options.
628//
629// See BatchUpdateDetector for details on how to use this API operation.
630//
631// The context must be non-nil and will be used for request cancellation. If
632// the context is nil a panic will occur. In the future the SDK may create
633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
634// for more information on using Contexts.
635func (c *IoTEventsData) BatchUpdateDetectorWithContext(ctx aws.Context, input *BatchUpdateDetectorInput, opts ...request.Option) (*BatchUpdateDetectorOutput, error) {
636	req, out := c.BatchUpdateDetectorRequest(input)
637	req.SetContext(ctx)
638	req.ApplyOptions(opts...)
639	return out, req.Send()
640}
641
642const opDescribeAlarm = "DescribeAlarm"
643
644// DescribeAlarmRequest generates a "aws/request.Request" representing the
645// client's request for the DescribeAlarm operation. The "output" return
646// value will be populated with the request's response once the request completes
647// successfully.
648//
649// Use "Send" method on the returned Request to send the API call to the service.
650// the "output" return value is not valid until after Send returns without error.
651//
652// See DescribeAlarm for more information on using the DescribeAlarm
653// API call, and error handling.
654//
655// This method is useful when you want to inject custom logic or configuration
656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
657//
658//
659//    // Example sending a request using the DescribeAlarmRequest method.
660//    req, resp := client.DescribeAlarmRequest(params)
661//
662//    err := req.Send()
663//    if err == nil { // resp is now filled
664//        fmt.Println(resp)
665//    }
666//
667// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/DescribeAlarm
668func (c *IoTEventsData) DescribeAlarmRequest(input *DescribeAlarmInput) (req *request.Request, output *DescribeAlarmOutput) {
669	op := &request.Operation{
670		Name:       opDescribeAlarm,
671		HTTPMethod: "GET",
672		HTTPPath:   "/alarms/{alarmModelName}/keyValues/",
673	}
674
675	if input == nil {
676		input = &DescribeAlarmInput{}
677	}
678
679	output = &DescribeAlarmOutput{}
680	req = c.newRequest(op, input, output)
681	return
682}
683
684// DescribeAlarm API operation for AWS IoT Events Data.
685//
686// Retrieves information about an alarm.
687//
688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
689// with awserr.Error's Code and Message methods to get detailed information about
690// the error.
691//
692// See the AWS API reference guide for AWS IoT Events Data's
693// API operation DescribeAlarm for usage and error information.
694//
695// Returned Error Types:
696//   * InvalidRequestException
697//   The request was invalid.
698//
699//   * ResourceNotFoundException
700//   The resource was not found.
701//
702//   * ThrottlingException
703//   The request could not be completed due to throttling.
704//
705//   * InternalFailureException
706//   An internal failure occurred.
707//
708//   * ServiceUnavailableException
709//   The service is currently unavailable.
710//
711// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/DescribeAlarm
712func (c *IoTEventsData) DescribeAlarm(input *DescribeAlarmInput) (*DescribeAlarmOutput, error) {
713	req, out := c.DescribeAlarmRequest(input)
714	return out, req.Send()
715}
716
717// DescribeAlarmWithContext is the same as DescribeAlarm with the addition of
718// the ability to pass a context and additional request options.
719//
720// See DescribeAlarm for details on how to use this API operation.
721//
722// The context must be non-nil and will be used for request cancellation. If
723// the context is nil a panic will occur. In the future the SDK may create
724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
725// for more information on using Contexts.
726func (c *IoTEventsData) DescribeAlarmWithContext(ctx aws.Context, input *DescribeAlarmInput, opts ...request.Option) (*DescribeAlarmOutput, error) {
727	req, out := c.DescribeAlarmRequest(input)
728	req.SetContext(ctx)
729	req.ApplyOptions(opts...)
730	return out, req.Send()
731}
732
733const opDescribeDetector = "DescribeDetector"
734
735// DescribeDetectorRequest generates a "aws/request.Request" representing the
736// client's request for the DescribeDetector operation. The "output" return
737// value will be populated with the request's response once the request completes
738// successfully.
739//
740// Use "Send" method on the returned Request to send the API call to the service.
741// the "output" return value is not valid until after Send returns without error.
742//
743// See DescribeDetector for more information on using the DescribeDetector
744// API call, and error handling.
745//
746// This method is useful when you want to inject custom logic or configuration
747// into the SDK's request lifecycle. Such as custom headers, or retry logic.
748//
749//
750//    // Example sending a request using the DescribeDetectorRequest method.
751//    req, resp := client.DescribeDetectorRequest(params)
752//
753//    err := req.Send()
754//    if err == nil { // resp is now filled
755//        fmt.Println(resp)
756//    }
757//
758// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/DescribeDetector
759func (c *IoTEventsData) DescribeDetectorRequest(input *DescribeDetectorInput) (req *request.Request, output *DescribeDetectorOutput) {
760	op := &request.Operation{
761		Name:       opDescribeDetector,
762		HTTPMethod: "GET",
763		HTTPPath:   "/detectors/{detectorModelName}/keyValues/",
764	}
765
766	if input == nil {
767		input = &DescribeDetectorInput{}
768	}
769
770	output = &DescribeDetectorOutput{}
771	req = c.newRequest(op, input, output)
772	return
773}
774
775// DescribeDetector API operation for AWS IoT Events Data.
776//
777// Returns information about the specified detector (instance).
778//
779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
780// with awserr.Error's Code and Message methods to get detailed information about
781// the error.
782//
783// See the AWS API reference guide for AWS IoT Events Data's
784// API operation DescribeDetector for usage and error information.
785//
786// Returned Error Types:
787//   * InvalidRequestException
788//   The request was invalid.
789//
790//   * ResourceNotFoundException
791//   The resource was not found.
792//
793//   * ThrottlingException
794//   The request could not be completed due to throttling.
795//
796//   * InternalFailureException
797//   An internal failure occurred.
798//
799//   * ServiceUnavailableException
800//   The service is currently unavailable.
801//
802// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/DescribeDetector
803func (c *IoTEventsData) DescribeDetector(input *DescribeDetectorInput) (*DescribeDetectorOutput, error) {
804	req, out := c.DescribeDetectorRequest(input)
805	return out, req.Send()
806}
807
808// DescribeDetectorWithContext is the same as DescribeDetector with the addition of
809// the ability to pass a context and additional request options.
810//
811// See DescribeDetector for details on how to use this API operation.
812//
813// The context must be non-nil and will be used for request cancellation. If
814// the context is nil a panic will occur. In the future the SDK may create
815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
816// for more information on using Contexts.
817func (c *IoTEventsData) DescribeDetectorWithContext(ctx aws.Context, input *DescribeDetectorInput, opts ...request.Option) (*DescribeDetectorOutput, error) {
818	req, out := c.DescribeDetectorRequest(input)
819	req.SetContext(ctx)
820	req.ApplyOptions(opts...)
821	return out, req.Send()
822}
823
824const opListAlarms = "ListAlarms"
825
826// ListAlarmsRequest generates a "aws/request.Request" representing the
827// client's request for the ListAlarms operation. The "output" return
828// value will be populated with the request's response once the request completes
829// successfully.
830//
831// Use "Send" method on the returned Request to send the API call to the service.
832// the "output" return value is not valid until after Send returns without error.
833//
834// See ListAlarms for more information on using the ListAlarms
835// API call, and error handling.
836//
837// This method is useful when you want to inject custom logic or configuration
838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
839//
840//
841//    // Example sending a request using the ListAlarmsRequest method.
842//    req, resp := client.ListAlarmsRequest(params)
843//
844//    err := req.Send()
845//    if err == nil { // resp is now filled
846//        fmt.Println(resp)
847//    }
848//
849// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/ListAlarms
850func (c *IoTEventsData) ListAlarmsRequest(input *ListAlarmsInput) (req *request.Request, output *ListAlarmsOutput) {
851	op := &request.Operation{
852		Name:       opListAlarms,
853		HTTPMethod: "GET",
854		HTTPPath:   "/alarms/{alarmModelName}",
855	}
856
857	if input == nil {
858		input = &ListAlarmsInput{}
859	}
860
861	output = &ListAlarmsOutput{}
862	req = c.newRequest(op, input, output)
863	return
864}
865
866// ListAlarms API operation for AWS IoT Events Data.
867//
868// Lists one or more alarms. The operation returns only the metadata associated
869// with each alarm.
870//
871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
872// with awserr.Error's Code and Message methods to get detailed information about
873// the error.
874//
875// See the AWS API reference guide for AWS IoT Events Data's
876// API operation ListAlarms for usage and error information.
877//
878// Returned Error Types:
879//   * InvalidRequestException
880//   The request was invalid.
881//
882//   * ResourceNotFoundException
883//   The resource was not found.
884//
885//   * ThrottlingException
886//   The request could not be completed due to throttling.
887//
888//   * InternalFailureException
889//   An internal failure occurred.
890//
891//   * ServiceUnavailableException
892//   The service is currently unavailable.
893//
894// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/ListAlarms
895func (c *IoTEventsData) ListAlarms(input *ListAlarmsInput) (*ListAlarmsOutput, error) {
896	req, out := c.ListAlarmsRequest(input)
897	return out, req.Send()
898}
899
900// ListAlarmsWithContext is the same as ListAlarms with the addition of
901// the ability to pass a context and additional request options.
902//
903// See ListAlarms for details on how to use this API operation.
904//
905// The context must be non-nil and will be used for request cancellation. If
906// the context is nil a panic will occur. In the future the SDK may create
907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
908// for more information on using Contexts.
909func (c *IoTEventsData) ListAlarmsWithContext(ctx aws.Context, input *ListAlarmsInput, opts ...request.Option) (*ListAlarmsOutput, error) {
910	req, out := c.ListAlarmsRequest(input)
911	req.SetContext(ctx)
912	req.ApplyOptions(opts...)
913	return out, req.Send()
914}
915
916const opListDetectors = "ListDetectors"
917
918// ListDetectorsRequest generates a "aws/request.Request" representing the
919// client's request for the ListDetectors operation. The "output" return
920// value will be populated with the request's response once the request completes
921// successfully.
922//
923// Use "Send" method on the returned Request to send the API call to the service.
924// the "output" return value is not valid until after Send returns without error.
925//
926// See ListDetectors for more information on using the ListDetectors
927// API call, and error handling.
928//
929// This method is useful when you want to inject custom logic or configuration
930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
931//
932//
933//    // Example sending a request using the ListDetectorsRequest method.
934//    req, resp := client.ListDetectorsRequest(params)
935//
936//    err := req.Send()
937//    if err == nil { // resp is now filled
938//        fmt.Println(resp)
939//    }
940//
941// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/ListDetectors
942func (c *IoTEventsData) ListDetectorsRequest(input *ListDetectorsInput) (req *request.Request, output *ListDetectorsOutput) {
943	op := &request.Operation{
944		Name:       opListDetectors,
945		HTTPMethod: "GET",
946		HTTPPath:   "/detectors/{detectorModelName}",
947	}
948
949	if input == nil {
950		input = &ListDetectorsInput{}
951	}
952
953	output = &ListDetectorsOutput{}
954	req = c.newRequest(op, input, output)
955	return
956}
957
958// ListDetectors API operation for AWS IoT Events Data.
959//
960// Lists detectors (the instances of a detector model).
961//
962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
963// with awserr.Error's Code and Message methods to get detailed information about
964// the error.
965//
966// See the AWS API reference guide for AWS IoT Events Data's
967// API operation ListDetectors for usage and error information.
968//
969// Returned Error Types:
970//   * InvalidRequestException
971//   The request was invalid.
972//
973//   * ResourceNotFoundException
974//   The resource was not found.
975//
976//   * ThrottlingException
977//   The request could not be completed due to throttling.
978//
979//   * InternalFailureException
980//   An internal failure occurred.
981//
982//   * ServiceUnavailableException
983//   The service is currently unavailable.
984//
985// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/ListDetectors
986func (c *IoTEventsData) ListDetectors(input *ListDetectorsInput) (*ListDetectorsOutput, error) {
987	req, out := c.ListDetectorsRequest(input)
988	return out, req.Send()
989}
990
991// ListDetectorsWithContext is the same as ListDetectors with the addition of
992// the ability to pass a context and additional request options.
993//
994// See ListDetectors for details on how to use this API operation.
995//
996// The context must be non-nil and will be used for request cancellation. If
997// the context is nil a panic will occur. In the future the SDK may create
998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
999// for more information on using Contexts.
1000func (c *IoTEventsData) ListDetectorsWithContext(ctx aws.Context, input *ListDetectorsInput, opts ...request.Option) (*ListDetectorsOutput, error) {
1001	req, out := c.ListDetectorsRequest(input)
1002	req.SetContext(ctx)
1003	req.ApplyOptions(opts...)
1004	return out, req.Send()
1005}
1006
1007// Contains the configuration information of an acknowledge action.
1008type AcknowledgeActionConfiguration struct {
1009	_ struct{} `type:"structure"`
1010
1011	// The note that you can leave when you acknowledge the alarm.
1012	Note *string `locationName:"note" type:"string"`
1013}
1014
1015// String returns the string representation.
1016//
1017// API parameter values that are decorated as "sensitive" in the API will not
1018// be included in the string output. The member name will be present, but the
1019// value will be replaced with "sensitive".
1020func (s AcknowledgeActionConfiguration) String() string {
1021	return awsutil.Prettify(s)
1022}
1023
1024// GoString returns the string representation.
1025//
1026// API parameter values that are decorated as "sensitive" in the API will not
1027// be included in the string output. The member name will be present, but the
1028// value will be replaced with "sensitive".
1029func (s AcknowledgeActionConfiguration) GoString() string {
1030	return s.String()
1031}
1032
1033// SetNote sets the Note field's value.
1034func (s *AcknowledgeActionConfiguration) SetNote(v string) *AcknowledgeActionConfiguration {
1035	s.Note = &v
1036	return s
1037}
1038
1039// Information needed to acknowledge the alarm.
1040type AcknowledgeAlarmActionRequest struct {
1041	_ struct{} `type:"structure"`
1042
1043	// The name of the alarm model.
1044	//
1045	// AlarmModelName is a required field
1046	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"`
1047
1048	// The value of the key used as a filter to select only the alarms associated
1049	// with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key).
1050	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
1051
1052	// The note that you can leave when you acknowledge the alarm.
1053	Note *string `locationName:"note" type:"string"`
1054
1055	// The request ID. Each ID must be unique within each batch.
1056	//
1057	// RequestId is a required field
1058	RequestId *string `locationName:"requestId" min:"1" type:"string" required:"true"`
1059}
1060
1061// String returns the string representation.
1062//
1063// API parameter values that are decorated as "sensitive" in the API will not
1064// be included in the string output. The member name will be present, but the
1065// value will be replaced with "sensitive".
1066func (s AcknowledgeAlarmActionRequest) String() string {
1067	return awsutil.Prettify(s)
1068}
1069
1070// GoString returns the string representation.
1071//
1072// API parameter values that are decorated as "sensitive" in the API will not
1073// be included in the string output. The member name will be present, but the
1074// value will be replaced with "sensitive".
1075func (s AcknowledgeAlarmActionRequest) GoString() string {
1076	return s.String()
1077}
1078
1079// Validate inspects the fields of the type to determine if they are valid.
1080func (s *AcknowledgeAlarmActionRequest) Validate() error {
1081	invalidParams := request.ErrInvalidParams{Context: "AcknowledgeAlarmActionRequest"}
1082	if s.AlarmModelName == nil {
1083		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
1084	}
1085	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
1086		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
1087	}
1088	if s.KeyValue != nil && len(*s.KeyValue) < 1 {
1089		invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1))
1090	}
1091	if s.RequestId == nil {
1092		invalidParams.Add(request.NewErrParamRequired("RequestId"))
1093	}
1094	if s.RequestId != nil && len(*s.RequestId) < 1 {
1095		invalidParams.Add(request.NewErrParamMinLen("RequestId", 1))
1096	}
1097
1098	if invalidParams.Len() > 0 {
1099		return invalidParams
1100	}
1101	return nil
1102}
1103
1104// SetAlarmModelName sets the AlarmModelName field's value.
1105func (s *AcknowledgeAlarmActionRequest) SetAlarmModelName(v string) *AcknowledgeAlarmActionRequest {
1106	s.AlarmModelName = &v
1107	return s
1108}
1109
1110// SetKeyValue sets the KeyValue field's value.
1111func (s *AcknowledgeAlarmActionRequest) SetKeyValue(v string) *AcknowledgeAlarmActionRequest {
1112	s.KeyValue = &v
1113	return s
1114}
1115
1116// SetNote sets the Note field's value.
1117func (s *AcknowledgeAlarmActionRequest) SetNote(v string) *AcknowledgeAlarmActionRequest {
1118	s.Note = &v
1119	return s
1120}
1121
1122// SetRequestId sets the RequestId field's value.
1123func (s *AcknowledgeAlarmActionRequest) SetRequestId(v string) *AcknowledgeAlarmActionRequest {
1124	s.RequestId = &v
1125	return s
1126}
1127
1128// Contains information about an alarm.
1129type Alarm struct {
1130	_ struct{} `type:"structure"`
1131
1132	// The name of the alarm model.
1133	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"`
1134
1135	// The version of the alarm model.
1136	AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"`
1137
1138	// Contains information about the current state of the alarm.
1139	AlarmState *AlarmState `locationName:"alarmState" type:"structure"`
1140
1141	// The time the alarm was created, in the Unix epoch format.
1142	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
1143
1144	// The value of the key used as a filter to select only the alarms associated
1145	// with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key).
1146	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
1147
1148	// The time the alarm was last updated, in the Unix epoch format.
1149	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
1150
1151	// A non-negative integer that reflects the severity level of the alarm.
1152	Severity *int64 `locationName:"severity" type:"integer"`
1153}
1154
1155// String returns the string representation.
1156//
1157// API parameter values that are decorated as "sensitive" in the API will not
1158// be included in the string output. The member name will be present, but the
1159// value will be replaced with "sensitive".
1160func (s Alarm) String() string {
1161	return awsutil.Prettify(s)
1162}
1163
1164// GoString returns the string representation.
1165//
1166// API parameter values that are decorated as "sensitive" in the API will not
1167// be included in the string output. The member name will be present, but the
1168// value will be replaced with "sensitive".
1169func (s Alarm) GoString() string {
1170	return s.String()
1171}
1172
1173// SetAlarmModelName sets the AlarmModelName field's value.
1174func (s *Alarm) SetAlarmModelName(v string) *Alarm {
1175	s.AlarmModelName = &v
1176	return s
1177}
1178
1179// SetAlarmModelVersion sets the AlarmModelVersion field's value.
1180func (s *Alarm) SetAlarmModelVersion(v string) *Alarm {
1181	s.AlarmModelVersion = &v
1182	return s
1183}
1184
1185// SetAlarmState sets the AlarmState field's value.
1186func (s *Alarm) SetAlarmState(v *AlarmState) *Alarm {
1187	s.AlarmState = v
1188	return s
1189}
1190
1191// SetCreationTime sets the CreationTime field's value.
1192func (s *Alarm) SetCreationTime(v time.Time) *Alarm {
1193	s.CreationTime = &v
1194	return s
1195}
1196
1197// SetKeyValue sets the KeyValue field's value.
1198func (s *Alarm) SetKeyValue(v string) *Alarm {
1199	s.KeyValue = &v
1200	return s
1201}
1202
1203// SetLastUpdateTime sets the LastUpdateTime field's value.
1204func (s *Alarm) SetLastUpdateTime(v time.Time) *Alarm {
1205	s.LastUpdateTime = &v
1206	return s
1207}
1208
1209// SetSeverity sets the Severity field's value.
1210func (s *Alarm) SetSeverity(v int64) *Alarm {
1211	s.Severity = &v
1212	return s
1213}
1214
1215// Contains information about the current state of the alarm.
1216type AlarmState struct {
1217	_ struct{} `type:"structure"`
1218
1219	// Contains information about the action that you can take to respond to the
1220	// alarm.
1221	CustomerAction *CustomerAction `locationName:"customerAction" type:"structure"`
1222
1223	// Information needed to evaluate data.
1224	RuleEvaluation *RuleEvaluation `locationName:"ruleEvaluation" type:"structure"`
1225
1226	// The name of the alarm state. The state name can be one of the following values:
1227	//
1228	//    * DISABLED - When the alarm is in the DISABLED state, it isn't ready to
1229	//    evaluate data. To enable the alarm, you must change the alarm to the NORMAL
1230	//    state.
1231	//
1232	//    * NORMAL - When the alarm is in the NORMAL state, it's ready to evaluate
1233	//    data.
1234	//
1235	//    * ACTIVE - If the alarm is in the ACTIVE state, the alarm is invoked.
1236	//
1237	//    * ACKNOWLEDGED - When the alarm is in the ACKNOWLEDGED state, the alarm
1238	//    was invoked and you acknowledged the alarm.
1239	//
1240	//    * SNOOZE_DISABLED - When the alarm is in the SNOOZE_DISABLED state, the
1241	//    alarm is disabled for a specified period of time. After the snooze time,
1242	//    the alarm automatically changes to the NORMAL state.
1243	//
1244	//    * LATCHED - When the alarm is in the LATCHED state, the alarm was invoked.
1245	//    However, the data that the alarm is currently evaluating is within the
1246	//    specified range. To change the alarm to the NORMAL state, you must acknowledge
1247	//    the alarm.
1248	StateName *string `locationName:"stateName" type:"string" enum:"AlarmStateName"`
1249
1250	// Contains information about alarm state changes.
1251	SystemEvent *SystemEvent `locationName:"systemEvent" type:"structure"`
1252}
1253
1254// String returns the string representation.
1255//
1256// API parameter values that are decorated as "sensitive" in the API will not
1257// be included in the string output. The member name will be present, but the
1258// value will be replaced with "sensitive".
1259func (s AlarmState) String() string {
1260	return awsutil.Prettify(s)
1261}
1262
1263// GoString returns the string representation.
1264//
1265// API parameter values that are decorated as "sensitive" in the API will not
1266// be included in the string output. The member name will be present, but the
1267// value will be replaced with "sensitive".
1268func (s AlarmState) GoString() string {
1269	return s.String()
1270}
1271
1272// SetCustomerAction sets the CustomerAction field's value.
1273func (s *AlarmState) SetCustomerAction(v *CustomerAction) *AlarmState {
1274	s.CustomerAction = v
1275	return s
1276}
1277
1278// SetRuleEvaluation sets the RuleEvaluation field's value.
1279func (s *AlarmState) SetRuleEvaluation(v *RuleEvaluation) *AlarmState {
1280	s.RuleEvaluation = v
1281	return s
1282}
1283
1284// SetStateName sets the StateName field's value.
1285func (s *AlarmState) SetStateName(v string) *AlarmState {
1286	s.StateName = &v
1287	return s
1288}
1289
1290// SetSystemEvent sets the SystemEvent field's value.
1291func (s *AlarmState) SetSystemEvent(v *SystemEvent) *AlarmState {
1292	s.SystemEvent = v
1293	return s
1294}
1295
1296// Contains a summary of an alarm.
1297type AlarmSummary struct {
1298	_ struct{} `type:"structure"`
1299
1300	// The name of the alarm model.
1301	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"`
1302
1303	// The version of the alarm model.
1304	AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"`
1305
1306	// The time the alarm was created, in the Unix epoch format.
1307	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
1308
1309	// The value of the key used as a filter to select only the alarms associated
1310	// with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key).
1311	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
1312
1313	// The time the alarm was last updated, in the Unix epoch format.
1314	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
1315
1316	// The name of the alarm state. The state name can be one of the following values:
1317	//
1318	//    * DISABLED - When the alarm is in the DISABLED state, it isn't ready to
1319	//    evaluate data. To enable the alarm, you must change the alarm to the NORMAL
1320	//    state.
1321	//
1322	//    * NORMAL - When the alarm is in the NORMAL state, it's ready to evaluate
1323	//    data.
1324	//
1325	//    * ACTIVE - If the alarm is in the ACTIVE state, the alarm is invoked.
1326	//
1327	//    * ACKNOWLEDGED - When the alarm is in the ACKNOWLEDGED state, the alarm
1328	//    was invoked and you acknowledged the alarm.
1329	//
1330	//    * SNOOZE_DISABLED - When the alarm is in the SNOOZE_DISABLED state, the
1331	//    alarm is disabled for a specified period of time. After the snooze time,
1332	//    the alarm automatically changes to the NORMAL state.
1333	//
1334	//    * LATCHED - When the alarm is in the LATCHED state, the alarm was invoked.
1335	//    However, the data that the alarm is currently evaluating is within the
1336	//    specified range. To change the alarm to the NORMAL state, you must acknowledge
1337	//    the alarm.
1338	StateName *string `locationName:"stateName" type:"string" enum:"AlarmStateName"`
1339}
1340
1341// String returns the string representation.
1342//
1343// API parameter values that are decorated as "sensitive" in the API will not
1344// be included in the string output. The member name will be present, but the
1345// value will be replaced with "sensitive".
1346func (s AlarmSummary) String() string {
1347	return awsutil.Prettify(s)
1348}
1349
1350// GoString returns the string representation.
1351//
1352// API parameter values that are decorated as "sensitive" in the API will not
1353// be included in the string output. The member name will be present, but the
1354// value will be replaced with "sensitive".
1355func (s AlarmSummary) GoString() string {
1356	return s.String()
1357}
1358
1359// SetAlarmModelName sets the AlarmModelName field's value.
1360func (s *AlarmSummary) SetAlarmModelName(v string) *AlarmSummary {
1361	s.AlarmModelName = &v
1362	return s
1363}
1364
1365// SetAlarmModelVersion sets the AlarmModelVersion field's value.
1366func (s *AlarmSummary) SetAlarmModelVersion(v string) *AlarmSummary {
1367	s.AlarmModelVersion = &v
1368	return s
1369}
1370
1371// SetCreationTime sets the CreationTime field's value.
1372func (s *AlarmSummary) SetCreationTime(v time.Time) *AlarmSummary {
1373	s.CreationTime = &v
1374	return s
1375}
1376
1377// SetKeyValue sets the KeyValue field's value.
1378func (s *AlarmSummary) SetKeyValue(v string) *AlarmSummary {
1379	s.KeyValue = &v
1380	return s
1381}
1382
1383// SetLastUpdateTime sets the LastUpdateTime field's value.
1384func (s *AlarmSummary) SetLastUpdateTime(v time.Time) *AlarmSummary {
1385	s.LastUpdateTime = &v
1386	return s
1387}
1388
1389// SetStateName sets the StateName field's value.
1390func (s *AlarmSummary) SetStateName(v string) *AlarmSummary {
1391	s.StateName = &v
1392	return s
1393}
1394
1395type BatchAcknowledgeAlarmInput struct {
1396	_ struct{} `type:"structure"`
1397
1398	// The list of acknowledge action requests. You can specify up to 10 requests
1399	// per operation.
1400	//
1401	// AcknowledgeActionRequests is a required field
1402	AcknowledgeActionRequests []*AcknowledgeAlarmActionRequest `locationName:"acknowledgeActionRequests" min:"1" type:"list" required:"true"`
1403}
1404
1405// String returns the string representation.
1406//
1407// API parameter values that are decorated as "sensitive" in the API will not
1408// be included in the string output. The member name will be present, but the
1409// value will be replaced with "sensitive".
1410func (s BatchAcknowledgeAlarmInput) String() string {
1411	return awsutil.Prettify(s)
1412}
1413
1414// GoString returns the string representation.
1415//
1416// API parameter values that are decorated as "sensitive" in the API will not
1417// be included in the string output. The member name will be present, but the
1418// value will be replaced with "sensitive".
1419func (s BatchAcknowledgeAlarmInput) GoString() string {
1420	return s.String()
1421}
1422
1423// Validate inspects the fields of the type to determine if they are valid.
1424func (s *BatchAcknowledgeAlarmInput) Validate() error {
1425	invalidParams := request.ErrInvalidParams{Context: "BatchAcknowledgeAlarmInput"}
1426	if s.AcknowledgeActionRequests == nil {
1427		invalidParams.Add(request.NewErrParamRequired("AcknowledgeActionRequests"))
1428	}
1429	if s.AcknowledgeActionRequests != nil && len(s.AcknowledgeActionRequests) < 1 {
1430		invalidParams.Add(request.NewErrParamMinLen("AcknowledgeActionRequests", 1))
1431	}
1432	if s.AcknowledgeActionRequests != nil {
1433		for i, v := range s.AcknowledgeActionRequests {
1434			if v == nil {
1435				continue
1436			}
1437			if err := v.Validate(); err != nil {
1438				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AcknowledgeActionRequests", i), err.(request.ErrInvalidParams))
1439			}
1440		}
1441	}
1442
1443	if invalidParams.Len() > 0 {
1444		return invalidParams
1445	}
1446	return nil
1447}
1448
1449// SetAcknowledgeActionRequests sets the AcknowledgeActionRequests field's value.
1450func (s *BatchAcknowledgeAlarmInput) SetAcknowledgeActionRequests(v []*AcknowledgeAlarmActionRequest) *BatchAcknowledgeAlarmInput {
1451	s.AcknowledgeActionRequests = v
1452	return s
1453}
1454
1455type BatchAcknowledgeAlarmOutput struct {
1456	_ struct{} `type:"structure"`
1457
1458	// A list of errors associated with the request, or null if there are no errors.
1459	// Each error entry contains an entry ID that helps you identify the entry that
1460	// failed.
1461	ErrorEntries []*BatchAlarmActionErrorEntry `locationName:"errorEntries" type:"list"`
1462}
1463
1464// String returns the string representation.
1465//
1466// API parameter values that are decorated as "sensitive" in the API will not
1467// be included in the string output. The member name will be present, but the
1468// value will be replaced with "sensitive".
1469func (s BatchAcknowledgeAlarmOutput) String() string {
1470	return awsutil.Prettify(s)
1471}
1472
1473// GoString returns the string representation.
1474//
1475// API parameter values that are decorated as "sensitive" in the API will not
1476// be included in the string output. The member name will be present, but the
1477// value will be replaced with "sensitive".
1478func (s BatchAcknowledgeAlarmOutput) GoString() string {
1479	return s.String()
1480}
1481
1482// SetErrorEntries sets the ErrorEntries field's value.
1483func (s *BatchAcknowledgeAlarmOutput) SetErrorEntries(v []*BatchAlarmActionErrorEntry) *BatchAcknowledgeAlarmOutput {
1484	s.ErrorEntries = v
1485	return s
1486}
1487
1488// Contains error messages associated with one of the following requests:
1489//
1490//    * BatchAcknowledgeAlarm (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchAcknowledgeAlarm.html)
1491//
1492//    * BatchDisableAlarm (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchDisableAlarm.html)
1493//
1494//    * BatchEnableAlarm (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchEnableAlarm.html)
1495//
1496//    * BatchResetAlarm (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchResetAlarm.html)
1497//
1498//    * BatchSnoozeAlarm (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchSnoozeAlarm.html)
1499type BatchAlarmActionErrorEntry struct {
1500	_ struct{} `type:"structure"`
1501
1502	// The error code.
1503	ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"`
1504
1505	// A message that describes the error.
1506	ErrorMessage *string `locationName:"errorMessage" type:"string"`
1507
1508	// The request ID. Each ID must be unique within each batch.
1509	RequestId *string `locationName:"requestId" min:"1" type:"string"`
1510}
1511
1512// String returns the string representation.
1513//
1514// API parameter values that are decorated as "sensitive" in the API will not
1515// be included in the string output. The member name will be present, but the
1516// value will be replaced with "sensitive".
1517func (s BatchAlarmActionErrorEntry) String() string {
1518	return awsutil.Prettify(s)
1519}
1520
1521// GoString returns the string representation.
1522//
1523// API parameter values that are decorated as "sensitive" in the API will not
1524// be included in the string output. The member name will be present, but the
1525// value will be replaced with "sensitive".
1526func (s BatchAlarmActionErrorEntry) GoString() string {
1527	return s.String()
1528}
1529
1530// SetErrorCode sets the ErrorCode field's value.
1531func (s *BatchAlarmActionErrorEntry) SetErrorCode(v string) *BatchAlarmActionErrorEntry {
1532	s.ErrorCode = &v
1533	return s
1534}
1535
1536// SetErrorMessage sets the ErrorMessage field's value.
1537func (s *BatchAlarmActionErrorEntry) SetErrorMessage(v string) *BatchAlarmActionErrorEntry {
1538	s.ErrorMessage = &v
1539	return s
1540}
1541
1542// SetRequestId sets the RequestId field's value.
1543func (s *BatchAlarmActionErrorEntry) SetRequestId(v string) *BatchAlarmActionErrorEntry {
1544	s.RequestId = &v
1545	return s
1546}
1547
1548type BatchDisableAlarmInput struct {
1549	_ struct{} `type:"structure"`
1550
1551	// The list of disable action requests. You can specify up to 10 requests per
1552	// operation.
1553	//
1554	// DisableActionRequests is a required field
1555	DisableActionRequests []*DisableAlarmActionRequest `locationName:"disableActionRequests" min:"1" type:"list" required:"true"`
1556}
1557
1558// String returns the string representation.
1559//
1560// API parameter values that are decorated as "sensitive" in the API will not
1561// be included in the string output. The member name will be present, but the
1562// value will be replaced with "sensitive".
1563func (s BatchDisableAlarmInput) String() string {
1564	return awsutil.Prettify(s)
1565}
1566
1567// GoString returns the string representation.
1568//
1569// API parameter values that are decorated as "sensitive" in the API will not
1570// be included in the string output. The member name will be present, but the
1571// value will be replaced with "sensitive".
1572func (s BatchDisableAlarmInput) GoString() string {
1573	return s.String()
1574}
1575
1576// Validate inspects the fields of the type to determine if they are valid.
1577func (s *BatchDisableAlarmInput) Validate() error {
1578	invalidParams := request.ErrInvalidParams{Context: "BatchDisableAlarmInput"}
1579	if s.DisableActionRequests == nil {
1580		invalidParams.Add(request.NewErrParamRequired("DisableActionRequests"))
1581	}
1582	if s.DisableActionRequests != nil && len(s.DisableActionRequests) < 1 {
1583		invalidParams.Add(request.NewErrParamMinLen("DisableActionRequests", 1))
1584	}
1585	if s.DisableActionRequests != nil {
1586		for i, v := range s.DisableActionRequests {
1587			if v == nil {
1588				continue
1589			}
1590			if err := v.Validate(); err != nil {
1591				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DisableActionRequests", i), err.(request.ErrInvalidParams))
1592			}
1593		}
1594	}
1595
1596	if invalidParams.Len() > 0 {
1597		return invalidParams
1598	}
1599	return nil
1600}
1601
1602// SetDisableActionRequests sets the DisableActionRequests field's value.
1603func (s *BatchDisableAlarmInput) SetDisableActionRequests(v []*DisableAlarmActionRequest) *BatchDisableAlarmInput {
1604	s.DisableActionRequests = v
1605	return s
1606}
1607
1608type BatchDisableAlarmOutput struct {
1609	_ struct{} `type:"structure"`
1610
1611	// A list of errors associated with the request, or null if there are no errors.
1612	// Each error entry contains an entry ID that helps you identify the entry that
1613	// failed.
1614	ErrorEntries []*BatchAlarmActionErrorEntry `locationName:"errorEntries" type:"list"`
1615}
1616
1617// String returns the string representation.
1618//
1619// API parameter values that are decorated as "sensitive" in the API will not
1620// be included in the string output. The member name will be present, but the
1621// value will be replaced with "sensitive".
1622func (s BatchDisableAlarmOutput) String() string {
1623	return awsutil.Prettify(s)
1624}
1625
1626// GoString returns the string representation.
1627//
1628// API parameter values that are decorated as "sensitive" in the API will not
1629// be included in the string output. The member name will be present, but the
1630// value will be replaced with "sensitive".
1631func (s BatchDisableAlarmOutput) GoString() string {
1632	return s.String()
1633}
1634
1635// SetErrorEntries sets the ErrorEntries field's value.
1636func (s *BatchDisableAlarmOutput) SetErrorEntries(v []*BatchAlarmActionErrorEntry) *BatchDisableAlarmOutput {
1637	s.ErrorEntries = v
1638	return s
1639}
1640
1641type BatchEnableAlarmInput struct {
1642	_ struct{} `type:"structure"`
1643
1644	// The list of enable action requests. You can specify up to 10 requests per
1645	// operation.
1646	//
1647	// EnableActionRequests is a required field
1648	EnableActionRequests []*EnableAlarmActionRequest `locationName:"enableActionRequests" min:"1" type:"list" required:"true"`
1649}
1650
1651// String returns the string representation.
1652//
1653// API parameter values that are decorated as "sensitive" in the API will not
1654// be included in the string output. The member name will be present, but the
1655// value will be replaced with "sensitive".
1656func (s BatchEnableAlarmInput) String() string {
1657	return awsutil.Prettify(s)
1658}
1659
1660// GoString returns the string representation.
1661//
1662// API parameter values that are decorated as "sensitive" in the API will not
1663// be included in the string output. The member name will be present, but the
1664// value will be replaced with "sensitive".
1665func (s BatchEnableAlarmInput) GoString() string {
1666	return s.String()
1667}
1668
1669// Validate inspects the fields of the type to determine if they are valid.
1670func (s *BatchEnableAlarmInput) Validate() error {
1671	invalidParams := request.ErrInvalidParams{Context: "BatchEnableAlarmInput"}
1672	if s.EnableActionRequests == nil {
1673		invalidParams.Add(request.NewErrParamRequired("EnableActionRequests"))
1674	}
1675	if s.EnableActionRequests != nil && len(s.EnableActionRequests) < 1 {
1676		invalidParams.Add(request.NewErrParamMinLen("EnableActionRequests", 1))
1677	}
1678	if s.EnableActionRequests != nil {
1679		for i, v := range s.EnableActionRequests {
1680			if v == nil {
1681				continue
1682			}
1683			if err := v.Validate(); err != nil {
1684				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnableActionRequests", i), err.(request.ErrInvalidParams))
1685			}
1686		}
1687	}
1688
1689	if invalidParams.Len() > 0 {
1690		return invalidParams
1691	}
1692	return nil
1693}
1694
1695// SetEnableActionRequests sets the EnableActionRequests field's value.
1696func (s *BatchEnableAlarmInput) SetEnableActionRequests(v []*EnableAlarmActionRequest) *BatchEnableAlarmInput {
1697	s.EnableActionRequests = v
1698	return s
1699}
1700
1701type BatchEnableAlarmOutput struct {
1702	_ struct{} `type:"structure"`
1703
1704	// A list of errors associated with the request, or null if there are no errors.
1705	// Each error entry contains an entry ID that helps you identify the entry that
1706	// failed.
1707	ErrorEntries []*BatchAlarmActionErrorEntry `locationName:"errorEntries" type:"list"`
1708}
1709
1710// String returns the string representation.
1711//
1712// API parameter values that are decorated as "sensitive" in the API will not
1713// be included in the string output. The member name will be present, but the
1714// value will be replaced with "sensitive".
1715func (s BatchEnableAlarmOutput) String() string {
1716	return awsutil.Prettify(s)
1717}
1718
1719// GoString returns the string representation.
1720//
1721// API parameter values that are decorated as "sensitive" in the API will not
1722// be included in the string output. The member name will be present, but the
1723// value will be replaced with "sensitive".
1724func (s BatchEnableAlarmOutput) GoString() string {
1725	return s.String()
1726}
1727
1728// SetErrorEntries sets the ErrorEntries field's value.
1729func (s *BatchEnableAlarmOutput) SetErrorEntries(v []*BatchAlarmActionErrorEntry) *BatchEnableAlarmOutput {
1730	s.ErrorEntries = v
1731	return s
1732}
1733
1734// Contains information about the errors encountered.
1735type BatchPutMessageErrorEntry struct {
1736	_ struct{} `type:"structure"`
1737
1738	// The error code.
1739	ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"`
1740
1741	// A message that describes the error.
1742	ErrorMessage *string `locationName:"errorMessage" type:"string"`
1743
1744	// The ID of the message that caused the error. (See the value corresponding
1745	// to the "messageId" key in the "message" object.)
1746	MessageId *string `locationName:"messageId" min:"1" type:"string"`
1747}
1748
1749// String returns the string representation.
1750//
1751// API parameter values that are decorated as "sensitive" in the API will not
1752// be included in the string output. The member name will be present, but the
1753// value will be replaced with "sensitive".
1754func (s BatchPutMessageErrorEntry) String() string {
1755	return awsutil.Prettify(s)
1756}
1757
1758// GoString returns the string representation.
1759//
1760// API parameter values that are decorated as "sensitive" in the API will not
1761// be included in the string output. The member name will be present, but the
1762// value will be replaced with "sensitive".
1763func (s BatchPutMessageErrorEntry) GoString() string {
1764	return s.String()
1765}
1766
1767// SetErrorCode sets the ErrorCode field's value.
1768func (s *BatchPutMessageErrorEntry) SetErrorCode(v string) *BatchPutMessageErrorEntry {
1769	s.ErrorCode = &v
1770	return s
1771}
1772
1773// SetErrorMessage sets the ErrorMessage field's value.
1774func (s *BatchPutMessageErrorEntry) SetErrorMessage(v string) *BatchPutMessageErrorEntry {
1775	s.ErrorMessage = &v
1776	return s
1777}
1778
1779// SetMessageId sets the MessageId field's value.
1780func (s *BatchPutMessageErrorEntry) SetMessageId(v string) *BatchPutMessageErrorEntry {
1781	s.MessageId = &v
1782	return s
1783}
1784
1785type BatchPutMessageInput struct {
1786	_ struct{} `type:"structure"`
1787
1788	// The list of messages to send. Each message has the following format: '{ "messageId":
1789	// "string", "inputName": "string", "payload": "string"}'
1790	//
1791	// Messages is a required field
1792	Messages []*Message `locationName:"messages" min:"1" type:"list" required:"true"`
1793}
1794
1795// String returns the string representation.
1796//
1797// API parameter values that are decorated as "sensitive" in the API will not
1798// be included in the string output. The member name will be present, but the
1799// value will be replaced with "sensitive".
1800func (s BatchPutMessageInput) String() string {
1801	return awsutil.Prettify(s)
1802}
1803
1804// GoString returns the string representation.
1805//
1806// API parameter values that are decorated as "sensitive" in the API will not
1807// be included in the string output. The member name will be present, but the
1808// value will be replaced with "sensitive".
1809func (s BatchPutMessageInput) GoString() string {
1810	return s.String()
1811}
1812
1813// Validate inspects the fields of the type to determine if they are valid.
1814func (s *BatchPutMessageInput) Validate() error {
1815	invalidParams := request.ErrInvalidParams{Context: "BatchPutMessageInput"}
1816	if s.Messages == nil {
1817		invalidParams.Add(request.NewErrParamRequired("Messages"))
1818	}
1819	if s.Messages != nil && len(s.Messages) < 1 {
1820		invalidParams.Add(request.NewErrParamMinLen("Messages", 1))
1821	}
1822	if s.Messages != nil {
1823		for i, v := range s.Messages {
1824			if v == nil {
1825				continue
1826			}
1827			if err := v.Validate(); err != nil {
1828				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Messages", i), err.(request.ErrInvalidParams))
1829			}
1830		}
1831	}
1832
1833	if invalidParams.Len() > 0 {
1834		return invalidParams
1835	}
1836	return nil
1837}
1838
1839// SetMessages sets the Messages field's value.
1840func (s *BatchPutMessageInput) SetMessages(v []*Message) *BatchPutMessageInput {
1841	s.Messages = v
1842	return s
1843}
1844
1845type BatchPutMessageOutput struct {
1846	_ struct{} `type:"structure"`
1847
1848	// A list of any errors encountered when sending the messages.
1849	BatchPutMessageErrorEntries []*BatchPutMessageErrorEntry `type:"list"`
1850}
1851
1852// String returns the string representation.
1853//
1854// API parameter values that are decorated as "sensitive" in the API will not
1855// be included in the string output. The member name will be present, but the
1856// value will be replaced with "sensitive".
1857func (s BatchPutMessageOutput) String() string {
1858	return awsutil.Prettify(s)
1859}
1860
1861// GoString returns the string representation.
1862//
1863// API parameter values that are decorated as "sensitive" in the API will not
1864// be included in the string output. The member name will be present, but the
1865// value will be replaced with "sensitive".
1866func (s BatchPutMessageOutput) GoString() string {
1867	return s.String()
1868}
1869
1870// SetBatchPutMessageErrorEntries sets the BatchPutMessageErrorEntries field's value.
1871func (s *BatchPutMessageOutput) SetBatchPutMessageErrorEntries(v []*BatchPutMessageErrorEntry) *BatchPutMessageOutput {
1872	s.BatchPutMessageErrorEntries = v
1873	return s
1874}
1875
1876type BatchResetAlarmInput struct {
1877	_ struct{} `type:"structure"`
1878
1879	// The list of reset action requests. You can specify up to 10 requests per
1880	// operation.
1881	//
1882	// ResetActionRequests is a required field
1883	ResetActionRequests []*ResetAlarmActionRequest `locationName:"resetActionRequests" min:"1" type:"list" required:"true"`
1884}
1885
1886// String returns the string representation.
1887//
1888// API parameter values that are decorated as "sensitive" in the API will not
1889// be included in the string output. The member name will be present, but the
1890// value will be replaced with "sensitive".
1891func (s BatchResetAlarmInput) String() string {
1892	return awsutil.Prettify(s)
1893}
1894
1895// GoString returns the string representation.
1896//
1897// API parameter values that are decorated as "sensitive" in the API will not
1898// be included in the string output. The member name will be present, but the
1899// value will be replaced with "sensitive".
1900func (s BatchResetAlarmInput) GoString() string {
1901	return s.String()
1902}
1903
1904// Validate inspects the fields of the type to determine if they are valid.
1905func (s *BatchResetAlarmInput) Validate() error {
1906	invalidParams := request.ErrInvalidParams{Context: "BatchResetAlarmInput"}
1907	if s.ResetActionRequests == nil {
1908		invalidParams.Add(request.NewErrParamRequired("ResetActionRequests"))
1909	}
1910	if s.ResetActionRequests != nil && len(s.ResetActionRequests) < 1 {
1911		invalidParams.Add(request.NewErrParamMinLen("ResetActionRequests", 1))
1912	}
1913	if s.ResetActionRequests != nil {
1914		for i, v := range s.ResetActionRequests {
1915			if v == nil {
1916				continue
1917			}
1918			if err := v.Validate(); err != nil {
1919				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResetActionRequests", i), err.(request.ErrInvalidParams))
1920			}
1921		}
1922	}
1923
1924	if invalidParams.Len() > 0 {
1925		return invalidParams
1926	}
1927	return nil
1928}
1929
1930// SetResetActionRequests sets the ResetActionRequests field's value.
1931func (s *BatchResetAlarmInput) SetResetActionRequests(v []*ResetAlarmActionRequest) *BatchResetAlarmInput {
1932	s.ResetActionRequests = v
1933	return s
1934}
1935
1936type BatchResetAlarmOutput struct {
1937	_ struct{} `type:"structure"`
1938
1939	// A list of errors associated with the request, or null if there are no errors.
1940	// Each error entry contains an entry ID that helps you identify the entry that
1941	// failed.
1942	ErrorEntries []*BatchAlarmActionErrorEntry `locationName:"errorEntries" type:"list"`
1943}
1944
1945// String returns the string representation.
1946//
1947// API parameter values that are decorated as "sensitive" in the API will not
1948// be included in the string output. The member name will be present, but the
1949// value will be replaced with "sensitive".
1950func (s BatchResetAlarmOutput) String() string {
1951	return awsutil.Prettify(s)
1952}
1953
1954// GoString returns the string representation.
1955//
1956// API parameter values that are decorated as "sensitive" in the API will not
1957// be included in the string output. The member name will be present, but the
1958// value will be replaced with "sensitive".
1959func (s BatchResetAlarmOutput) GoString() string {
1960	return s.String()
1961}
1962
1963// SetErrorEntries sets the ErrorEntries field's value.
1964func (s *BatchResetAlarmOutput) SetErrorEntries(v []*BatchAlarmActionErrorEntry) *BatchResetAlarmOutput {
1965	s.ErrorEntries = v
1966	return s
1967}
1968
1969type BatchSnoozeAlarmInput struct {
1970	_ struct{} `type:"structure"`
1971
1972	// The list of snooze action requests. You can specify up to 10 requests per
1973	// operation.
1974	//
1975	// SnoozeActionRequests is a required field
1976	SnoozeActionRequests []*SnoozeAlarmActionRequest `locationName:"snoozeActionRequests" min:"1" type:"list" required:"true"`
1977}
1978
1979// String returns the string representation.
1980//
1981// API parameter values that are decorated as "sensitive" in the API will not
1982// be included in the string output. The member name will be present, but the
1983// value will be replaced with "sensitive".
1984func (s BatchSnoozeAlarmInput) String() string {
1985	return awsutil.Prettify(s)
1986}
1987
1988// GoString returns the string representation.
1989//
1990// API parameter values that are decorated as "sensitive" in the API will not
1991// be included in the string output. The member name will be present, but the
1992// value will be replaced with "sensitive".
1993func (s BatchSnoozeAlarmInput) GoString() string {
1994	return s.String()
1995}
1996
1997// Validate inspects the fields of the type to determine if they are valid.
1998func (s *BatchSnoozeAlarmInput) Validate() error {
1999	invalidParams := request.ErrInvalidParams{Context: "BatchSnoozeAlarmInput"}
2000	if s.SnoozeActionRequests == nil {
2001		invalidParams.Add(request.NewErrParamRequired("SnoozeActionRequests"))
2002	}
2003	if s.SnoozeActionRequests != nil && len(s.SnoozeActionRequests) < 1 {
2004		invalidParams.Add(request.NewErrParamMinLen("SnoozeActionRequests", 1))
2005	}
2006	if s.SnoozeActionRequests != nil {
2007		for i, v := range s.SnoozeActionRequests {
2008			if v == nil {
2009				continue
2010			}
2011			if err := v.Validate(); err != nil {
2012				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SnoozeActionRequests", i), err.(request.ErrInvalidParams))
2013			}
2014		}
2015	}
2016
2017	if invalidParams.Len() > 0 {
2018		return invalidParams
2019	}
2020	return nil
2021}
2022
2023// SetSnoozeActionRequests sets the SnoozeActionRequests field's value.
2024func (s *BatchSnoozeAlarmInput) SetSnoozeActionRequests(v []*SnoozeAlarmActionRequest) *BatchSnoozeAlarmInput {
2025	s.SnoozeActionRequests = v
2026	return s
2027}
2028
2029type BatchSnoozeAlarmOutput struct {
2030	_ struct{} `type:"structure"`
2031
2032	// A list of errors associated with the request, or null if there are no errors.
2033	// Each error entry contains an entry ID that helps you identify the entry that
2034	// failed.
2035	ErrorEntries []*BatchAlarmActionErrorEntry `locationName:"errorEntries" type:"list"`
2036}
2037
2038// String returns the string representation.
2039//
2040// API parameter values that are decorated as "sensitive" in the API will not
2041// be included in the string output. The member name will be present, but the
2042// value will be replaced with "sensitive".
2043func (s BatchSnoozeAlarmOutput) String() string {
2044	return awsutil.Prettify(s)
2045}
2046
2047// GoString returns the string representation.
2048//
2049// API parameter values that are decorated as "sensitive" in the API will not
2050// be included in the string output. The member name will be present, but the
2051// value will be replaced with "sensitive".
2052func (s BatchSnoozeAlarmOutput) GoString() string {
2053	return s.String()
2054}
2055
2056// SetErrorEntries sets the ErrorEntries field's value.
2057func (s *BatchSnoozeAlarmOutput) SetErrorEntries(v []*BatchAlarmActionErrorEntry) *BatchSnoozeAlarmOutput {
2058	s.ErrorEntries = v
2059	return s
2060}
2061
2062// Information about the error that occurred when attempting to update a detector.
2063type BatchUpdateDetectorErrorEntry struct {
2064	_ struct{} `type:"structure"`
2065
2066	// The error code.
2067	ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"`
2068
2069	// A message that describes the error.
2070	ErrorMessage *string `locationName:"errorMessage" type:"string"`
2071
2072	// The "messageId" of the update request that caused the error. (The value of
2073	// the "messageId" in the update request "Detector" object.)
2074	MessageId *string `locationName:"messageId" min:"1" type:"string"`
2075}
2076
2077// String returns the string representation.
2078//
2079// API parameter values that are decorated as "sensitive" in the API will not
2080// be included in the string output. The member name will be present, but the
2081// value will be replaced with "sensitive".
2082func (s BatchUpdateDetectorErrorEntry) String() string {
2083	return awsutil.Prettify(s)
2084}
2085
2086// GoString returns the string representation.
2087//
2088// API parameter values that are decorated as "sensitive" in the API will not
2089// be included in the string output. The member name will be present, but the
2090// value will be replaced with "sensitive".
2091func (s BatchUpdateDetectorErrorEntry) GoString() string {
2092	return s.String()
2093}
2094
2095// SetErrorCode sets the ErrorCode field's value.
2096func (s *BatchUpdateDetectorErrorEntry) SetErrorCode(v string) *BatchUpdateDetectorErrorEntry {
2097	s.ErrorCode = &v
2098	return s
2099}
2100
2101// SetErrorMessage sets the ErrorMessage field's value.
2102func (s *BatchUpdateDetectorErrorEntry) SetErrorMessage(v string) *BatchUpdateDetectorErrorEntry {
2103	s.ErrorMessage = &v
2104	return s
2105}
2106
2107// SetMessageId sets the MessageId field's value.
2108func (s *BatchUpdateDetectorErrorEntry) SetMessageId(v string) *BatchUpdateDetectorErrorEntry {
2109	s.MessageId = &v
2110	return s
2111}
2112
2113type BatchUpdateDetectorInput struct {
2114	_ struct{} `type:"structure"`
2115
2116	// The list of detectors (instances) to update, along with the values to update.
2117	//
2118	// Detectors is a required field
2119	Detectors []*UpdateDetectorRequest `locationName:"detectors" min:"1" type:"list" required:"true"`
2120}
2121
2122// String returns the string representation.
2123//
2124// API parameter values that are decorated as "sensitive" in the API will not
2125// be included in the string output. The member name will be present, but the
2126// value will be replaced with "sensitive".
2127func (s BatchUpdateDetectorInput) String() string {
2128	return awsutil.Prettify(s)
2129}
2130
2131// GoString returns the string representation.
2132//
2133// API parameter values that are decorated as "sensitive" in the API will not
2134// be included in the string output. The member name will be present, but the
2135// value will be replaced with "sensitive".
2136func (s BatchUpdateDetectorInput) GoString() string {
2137	return s.String()
2138}
2139
2140// Validate inspects the fields of the type to determine if they are valid.
2141func (s *BatchUpdateDetectorInput) Validate() error {
2142	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateDetectorInput"}
2143	if s.Detectors == nil {
2144		invalidParams.Add(request.NewErrParamRequired("Detectors"))
2145	}
2146	if s.Detectors != nil && len(s.Detectors) < 1 {
2147		invalidParams.Add(request.NewErrParamMinLen("Detectors", 1))
2148	}
2149	if s.Detectors != nil {
2150		for i, v := range s.Detectors {
2151			if v == nil {
2152				continue
2153			}
2154			if err := v.Validate(); err != nil {
2155				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Detectors", i), err.(request.ErrInvalidParams))
2156			}
2157		}
2158	}
2159
2160	if invalidParams.Len() > 0 {
2161		return invalidParams
2162	}
2163	return nil
2164}
2165
2166// SetDetectors sets the Detectors field's value.
2167func (s *BatchUpdateDetectorInput) SetDetectors(v []*UpdateDetectorRequest) *BatchUpdateDetectorInput {
2168	s.Detectors = v
2169	return s
2170}
2171
2172type BatchUpdateDetectorOutput struct {
2173	_ struct{} `type:"structure"`
2174
2175	// A list of those detector updates that resulted in errors. (If an error is
2176	// listed here, the specific update did not occur.)
2177	BatchUpdateDetectorErrorEntries []*BatchUpdateDetectorErrorEntry `locationName:"batchUpdateDetectorErrorEntries" type:"list"`
2178}
2179
2180// String returns the string representation.
2181//
2182// API parameter values that are decorated as "sensitive" in the API will not
2183// be included in the string output. The member name will be present, but the
2184// value will be replaced with "sensitive".
2185func (s BatchUpdateDetectorOutput) String() string {
2186	return awsutil.Prettify(s)
2187}
2188
2189// GoString returns the string representation.
2190//
2191// API parameter values that are decorated as "sensitive" in the API will not
2192// be included in the string output. The member name will be present, but the
2193// value will be replaced with "sensitive".
2194func (s BatchUpdateDetectorOutput) GoString() string {
2195	return s.String()
2196}
2197
2198// SetBatchUpdateDetectorErrorEntries sets the BatchUpdateDetectorErrorEntries field's value.
2199func (s *BatchUpdateDetectorOutput) SetBatchUpdateDetectorErrorEntries(v []*BatchUpdateDetectorErrorEntry) *BatchUpdateDetectorOutput {
2200	s.BatchUpdateDetectorErrorEntries = v
2201	return s
2202}
2203
2204// Contains information about the action that you can take to respond to the
2205// alarm.
2206type CustomerAction struct {
2207	_ struct{} `type:"structure"`
2208
2209	// Contains the configuration information of an acknowledge action.
2210	AcknowledgeActionConfiguration *AcknowledgeActionConfiguration `locationName:"acknowledgeActionConfiguration" type:"structure"`
2211
2212	// The name of the action. The action name can be one of the following values:
2213	//
2214	//    * SNOOZE - When you snooze the alarm, the alarm state changes to SNOOZE_DISABLED.
2215	//
2216	//    * ENABLE - When you enable the alarm, the alarm state changes to NORMAL.
2217	//
2218	//    * DISABLE - When you disable the alarm, the alarm state changes to DISABLED.
2219	//
2220	//    * ACKNOWLEDGE - When you acknowledge the alarm, the alarm state changes
2221	//    to ACKNOWLEDGED.
2222	//
2223	//    * RESET - When you reset the alarm, the alarm state changes to NORMAL.
2224	//
2225	// For more information, see the AlarmState (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_AlarmState.html)
2226	// API.
2227	ActionName *string `locationName:"actionName" type:"string" enum:"CustomerActionName"`
2228
2229	// Contains the configuration information of a disable action.
2230	DisableActionConfiguration *DisableActionConfiguration `locationName:"disableActionConfiguration" type:"structure"`
2231
2232	// Contains the configuration information of an enable action.
2233	EnableActionConfiguration *EnableActionConfiguration `locationName:"enableActionConfiguration" type:"structure"`
2234
2235	// Contains the configuration information of a reset action.
2236	ResetActionConfiguration *ResetActionConfiguration `locationName:"resetActionConfiguration" type:"structure"`
2237
2238	// Contains the configuration information of a snooze action.
2239	SnoozeActionConfiguration *SnoozeActionConfiguration `locationName:"snoozeActionConfiguration" type:"structure"`
2240}
2241
2242// String returns the string representation.
2243//
2244// API parameter values that are decorated as "sensitive" in the API will not
2245// be included in the string output. The member name will be present, but the
2246// value will be replaced with "sensitive".
2247func (s CustomerAction) String() string {
2248	return awsutil.Prettify(s)
2249}
2250
2251// GoString returns the string representation.
2252//
2253// API parameter values that are decorated as "sensitive" in the API will not
2254// be included in the string output. The member name will be present, but the
2255// value will be replaced with "sensitive".
2256func (s CustomerAction) GoString() string {
2257	return s.String()
2258}
2259
2260// SetAcknowledgeActionConfiguration sets the AcknowledgeActionConfiguration field's value.
2261func (s *CustomerAction) SetAcknowledgeActionConfiguration(v *AcknowledgeActionConfiguration) *CustomerAction {
2262	s.AcknowledgeActionConfiguration = v
2263	return s
2264}
2265
2266// SetActionName sets the ActionName field's value.
2267func (s *CustomerAction) SetActionName(v string) *CustomerAction {
2268	s.ActionName = &v
2269	return s
2270}
2271
2272// SetDisableActionConfiguration sets the DisableActionConfiguration field's value.
2273func (s *CustomerAction) SetDisableActionConfiguration(v *DisableActionConfiguration) *CustomerAction {
2274	s.DisableActionConfiguration = v
2275	return s
2276}
2277
2278// SetEnableActionConfiguration sets the EnableActionConfiguration field's value.
2279func (s *CustomerAction) SetEnableActionConfiguration(v *EnableActionConfiguration) *CustomerAction {
2280	s.EnableActionConfiguration = v
2281	return s
2282}
2283
2284// SetResetActionConfiguration sets the ResetActionConfiguration field's value.
2285func (s *CustomerAction) SetResetActionConfiguration(v *ResetActionConfiguration) *CustomerAction {
2286	s.ResetActionConfiguration = v
2287	return s
2288}
2289
2290// SetSnoozeActionConfiguration sets the SnoozeActionConfiguration field's value.
2291func (s *CustomerAction) SetSnoozeActionConfiguration(v *SnoozeActionConfiguration) *CustomerAction {
2292	s.SnoozeActionConfiguration = v
2293	return s
2294}
2295
2296type DescribeAlarmInput struct {
2297	_ struct{} `type:"structure" nopayload:"true"`
2298
2299	// The name of the alarm model.
2300	//
2301	// AlarmModelName is a required field
2302	AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"`
2303
2304	// The value of the key used as a filter to select only the alarms associated
2305	// with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key).
2306	KeyValue *string `location:"querystring" locationName:"keyValue" min:"1" type:"string"`
2307}
2308
2309// String returns the string representation.
2310//
2311// API parameter values that are decorated as "sensitive" in the API will not
2312// be included in the string output. The member name will be present, but the
2313// value will be replaced with "sensitive".
2314func (s DescribeAlarmInput) String() string {
2315	return awsutil.Prettify(s)
2316}
2317
2318// GoString returns the string representation.
2319//
2320// API parameter values that are decorated as "sensitive" in the API will not
2321// be included in the string output. The member name will be present, but the
2322// value will be replaced with "sensitive".
2323func (s DescribeAlarmInput) GoString() string {
2324	return s.String()
2325}
2326
2327// Validate inspects the fields of the type to determine if they are valid.
2328func (s *DescribeAlarmInput) Validate() error {
2329	invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmInput"}
2330	if s.AlarmModelName == nil {
2331		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
2332	}
2333	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
2334		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
2335	}
2336	if s.KeyValue != nil && len(*s.KeyValue) < 1 {
2337		invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1))
2338	}
2339
2340	if invalidParams.Len() > 0 {
2341		return invalidParams
2342	}
2343	return nil
2344}
2345
2346// SetAlarmModelName sets the AlarmModelName field's value.
2347func (s *DescribeAlarmInput) SetAlarmModelName(v string) *DescribeAlarmInput {
2348	s.AlarmModelName = &v
2349	return s
2350}
2351
2352// SetKeyValue sets the KeyValue field's value.
2353func (s *DescribeAlarmInput) SetKeyValue(v string) *DescribeAlarmInput {
2354	s.KeyValue = &v
2355	return s
2356}
2357
2358type DescribeAlarmOutput struct {
2359	_ struct{} `type:"structure"`
2360
2361	// Contains information about an alarm.
2362	Alarm *Alarm `locationName:"alarm" type:"structure"`
2363}
2364
2365// String returns the string representation.
2366//
2367// API parameter values that are decorated as "sensitive" in the API will not
2368// be included in the string output. The member name will be present, but the
2369// value will be replaced with "sensitive".
2370func (s DescribeAlarmOutput) String() string {
2371	return awsutil.Prettify(s)
2372}
2373
2374// GoString returns the string representation.
2375//
2376// API parameter values that are decorated as "sensitive" in the API will not
2377// be included in the string output. The member name will be present, but the
2378// value will be replaced with "sensitive".
2379func (s DescribeAlarmOutput) GoString() string {
2380	return s.String()
2381}
2382
2383// SetAlarm sets the Alarm field's value.
2384func (s *DescribeAlarmOutput) SetAlarm(v *Alarm) *DescribeAlarmOutput {
2385	s.Alarm = v
2386	return s
2387}
2388
2389type DescribeDetectorInput struct {
2390	_ struct{} `type:"structure" nopayload:"true"`
2391
2392	// The name of the detector model whose detectors (instances) you want information
2393	// about.
2394	//
2395	// DetectorModelName is a required field
2396	DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"`
2397
2398	// A filter used to limit results to detectors (instances) created because of
2399	// the given key ID.
2400	KeyValue *string `location:"querystring" locationName:"keyValue" min:"1" type:"string"`
2401}
2402
2403// String returns the string representation.
2404//
2405// API parameter values that are decorated as "sensitive" in the API will not
2406// be included in the string output. The member name will be present, but the
2407// value will be replaced with "sensitive".
2408func (s DescribeDetectorInput) String() string {
2409	return awsutil.Prettify(s)
2410}
2411
2412// GoString returns the string representation.
2413//
2414// API parameter values that are decorated as "sensitive" in the API will not
2415// be included in the string output. The member name will be present, but the
2416// value will be replaced with "sensitive".
2417func (s DescribeDetectorInput) GoString() string {
2418	return s.String()
2419}
2420
2421// Validate inspects the fields of the type to determine if they are valid.
2422func (s *DescribeDetectorInput) Validate() error {
2423	invalidParams := request.ErrInvalidParams{Context: "DescribeDetectorInput"}
2424	if s.DetectorModelName == nil {
2425		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
2426	}
2427	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
2428		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
2429	}
2430	if s.KeyValue != nil && len(*s.KeyValue) < 1 {
2431		invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1))
2432	}
2433
2434	if invalidParams.Len() > 0 {
2435		return invalidParams
2436	}
2437	return nil
2438}
2439
2440// SetDetectorModelName sets the DetectorModelName field's value.
2441func (s *DescribeDetectorInput) SetDetectorModelName(v string) *DescribeDetectorInput {
2442	s.DetectorModelName = &v
2443	return s
2444}
2445
2446// SetKeyValue sets the KeyValue field's value.
2447func (s *DescribeDetectorInput) SetKeyValue(v string) *DescribeDetectorInput {
2448	s.KeyValue = &v
2449	return s
2450}
2451
2452type DescribeDetectorOutput struct {
2453	_ struct{} `type:"structure"`
2454
2455	// Information about the detector (instance).
2456	Detector *Detector `locationName:"detector" type:"structure"`
2457}
2458
2459// String returns the string representation.
2460//
2461// API parameter values that are decorated as "sensitive" in the API will not
2462// be included in the string output. The member name will be present, but the
2463// value will be replaced with "sensitive".
2464func (s DescribeDetectorOutput) String() string {
2465	return awsutil.Prettify(s)
2466}
2467
2468// GoString returns the string representation.
2469//
2470// API parameter values that are decorated as "sensitive" in the API will not
2471// be included in the string output. The member name will be present, but the
2472// value will be replaced with "sensitive".
2473func (s DescribeDetectorOutput) GoString() string {
2474	return s.String()
2475}
2476
2477// SetDetector sets the Detector field's value.
2478func (s *DescribeDetectorOutput) SetDetector(v *Detector) *DescribeDetectorOutput {
2479	s.Detector = v
2480	return s
2481}
2482
2483// Information about the detector (instance).
2484type Detector struct {
2485	_ struct{} `type:"structure"`
2486
2487	// The time the detector (instance) was created.
2488	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
2489
2490	// The name of the detector model that created this detector (instance).
2491	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string"`
2492
2493	// The version of the detector model that created this detector (instance).
2494	DetectorModelVersion *string `locationName:"detectorModelVersion" min:"1" type:"string"`
2495
2496	// The value of the key (identifying the device or system) that caused the creation
2497	// of this detector (instance).
2498	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
2499
2500	// The time the detector (instance) was last updated.
2501	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
2502
2503	// The current state of the detector (instance).
2504	State *DetectorState `locationName:"state" type:"structure"`
2505}
2506
2507// String returns the string representation.
2508//
2509// API parameter values that are decorated as "sensitive" in the API will not
2510// be included in the string output. The member name will be present, but the
2511// value will be replaced with "sensitive".
2512func (s Detector) String() string {
2513	return awsutil.Prettify(s)
2514}
2515
2516// GoString returns the string representation.
2517//
2518// API parameter values that are decorated as "sensitive" in the API will not
2519// be included in the string output. The member name will be present, but the
2520// value will be replaced with "sensitive".
2521func (s Detector) GoString() string {
2522	return s.String()
2523}
2524
2525// SetCreationTime sets the CreationTime field's value.
2526func (s *Detector) SetCreationTime(v time.Time) *Detector {
2527	s.CreationTime = &v
2528	return s
2529}
2530
2531// SetDetectorModelName sets the DetectorModelName field's value.
2532func (s *Detector) SetDetectorModelName(v string) *Detector {
2533	s.DetectorModelName = &v
2534	return s
2535}
2536
2537// SetDetectorModelVersion sets the DetectorModelVersion field's value.
2538func (s *Detector) SetDetectorModelVersion(v string) *Detector {
2539	s.DetectorModelVersion = &v
2540	return s
2541}
2542
2543// SetKeyValue sets the KeyValue field's value.
2544func (s *Detector) SetKeyValue(v string) *Detector {
2545	s.KeyValue = &v
2546	return s
2547}
2548
2549// SetLastUpdateTime sets the LastUpdateTime field's value.
2550func (s *Detector) SetLastUpdateTime(v time.Time) *Detector {
2551	s.LastUpdateTime = &v
2552	return s
2553}
2554
2555// SetState sets the State field's value.
2556func (s *Detector) SetState(v *DetectorState) *Detector {
2557	s.State = v
2558	return s
2559}
2560
2561// Information about the current state of the detector instance.
2562type DetectorState struct {
2563	_ struct{} `type:"structure"`
2564
2565	// The name of the state.
2566	//
2567	// StateName is a required field
2568	StateName *string `locationName:"stateName" min:"1" type:"string" required:"true"`
2569
2570	// The current state of the detector's timers.
2571	//
2572	// Timers is a required field
2573	Timers []*Timer `locationName:"timers" type:"list" required:"true"`
2574
2575	// The current values of the detector's variables.
2576	//
2577	// Variables is a required field
2578	Variables []*Variable `locationName:"variables" type:"list" required:"true"`
2579}
2580
2581// String returns the string representation.
2582//
2583// API parameter values that are decorated as "sensitive" in the API will not
2584// be included in the string output. The member name will be present, but the
2585// value will be replaced with "sensitive".
2586func (s DetectorState) String() string {
2587	return awsutil.Prettify(s)
2588}
2589
2590// GoString returns the string representation.
2591//
2592// API parameter values that are decorated as "sensitive" in the API will not
2593// be included in the string output. The member name will be present, but the
2594// value will be replaced with "sensitive".
2595func (s DetectorState) GoString() string {
2596	return s.String()
2597}
2598
2599// SetStateName sets the StateName field's value.
2600func (s *DetectorState) SetStateName(v string) *DetectorState {
2601	s.StateName = &v
2602	return s
2603}
2604
2605// SetTimers sets the Timers field's value.
2606func (s *DetectorState) SetTimers(v []*Timer) *DetectorState {
2607	s.Timers = v
2608	return s
2609}
2610
2611// SetVariables sets the Variables field's value.
2612func (s *DetectorState) SetVariables(v []*Variable) *DetectorState {
2613	s.Variables = v
2614	return s
2615}
2616
2617// The new state, variable values, and timer settings of the detector (instance).
2618type DetectorStateDefinition struct {
2619	_ struct{} `type:"structure"`
2620
2621	// The name of the new state of the detector (instance).
2622	//
2623	// StateName is a required field
2624	StateName *string `locationName:"stateName" min:"1" type:"string" required:"true"`
2625
2626	// The new values of the detector's timers. Any timer whose value isn't specified
2627	// is cleared, and its timeout event won't occur.
2628	//
2629	// Timers is a required field
2630	Timers []*TimerDefinition `locationName:"timers" type:"list" required:"true"`
2631
2632	// The new values of the detector's variables. Any variable whose value isn't
2633	// specified is cleared.
2634	//
2635	// Variables is a required field
2636	Variables []*VariableDefinition `locationName:"variables" type:"list" required:"true"`
2637}
2638
2639// String returns the string representation.
2640//
2641// API parameter values that are decorated as "sensitive" in the API will not
2642// be included in the string output. The member name will be present, but the
2643// value will be replaced with "sensitive".
2644func (s DetectorStateDefinition) String() string {
2645	return awsutil.Prettify(s)
2646}
2647
2648// GoString returns the string representation.
2649//
2650// API parameter values that are decorated as "sensitive" in the API will not
2651// be included in the string output. The member name will be present, but the
2652// value will be replaced with "sensitive".
2653func (s DetectorStateDefinition) GoString() string {
2654	return s.String()
2655}
2656
2657// Validate inspects the fields of the type to determine if they are valid.
2658func (s *DetectorStateDefinition) Validate() error {
2659	invalidParams := request.ErrInvalidParams{Context: "DetectorStateDefinition"}
2660	if s.StateName == nil {
2661		invalidParams.Add(request.NewErrParamRequired("StateName"))
2662	}
2663	if s.StateName != nil && len(*s.StateName) < 1 {
2664		invalidParams.Add(request.NewErrParamMinLen("StateName", 1))
2665	}
2666	if s.Timers == nil {
2667		invalidParams.Add(request.NewErrParamRequired("Timers"))
2668	}
2669	if s.Variables == nil {
2670		invalidParams.Add(request.NewErrParamRequired("Variables"))
2671	}
2672	if s.Timers != nil {
2673		for i, v := range s.Timers {
2674			if v == nil {
2675				continue
2676			}
2677			if err := v.Validate(); err != nil {
2678				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Timers", i), err.(request.ErrInvalidParams))
2679			}
2680		}
2681	}
2682	if s.Variables != nil {
2683		for i, v := range s.Variables {
2684			if v == nil {
2685				continue
2686			}
2687			if err := v.Validate(); err != nil {
2688				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variables", i), err.(request.ErrInvalidParams))
2689			}
2690		}
2691	}
2692
2693	if invalidParams.Len() > 0 {
2694		return invalidParams
2695	}
2696	return nil
2697}
2698
2699// SetStateName sets the StateName field's value.
2700func (s *DetectorStateDefinition) SetStateName(v string) *DetectorStateDefinition {
2701	s.StateName = &v
2702	return s
2703}
2704
2705// SetTimers sets the Timers field's value.
2706func (s *DetectorStateDefinition) SetTimers(v []*TimerDefinition) *DetectorStateDefinition {
2707	s.Timers = v
2708	return s
2709}
2710
2711// SetVariables sets the Variables field's value.
2712func (s *DetectorStateDefinition) SetVariables(v []*VariableDefinition) *DetectorStateDefinition {
2713	s.Variables = v
2714	return s
2715}
2716
2717// Information about the detector state.
2718type DetectorStateSummary struct {
2719	_ struct{} `type:"structure"`
2720
2721	// The name of the state.
2722	StateName *string `locationName:"stateName" min:"1" type:"string"`
2723}
2724
2725// String returns the string representation.
2726//
2727// API parameter values that are decorated as "sensitive" in the API will not
2728// be included in the string output. The member name will be present, but the
2729// value will be replaced with "sensitive".
2730func (s DetectorStateSummary) String() string {
2731	return awsutil.Prettify(s)
2732}
2733
2734// GoString returns the string representation.
2735//
2736// API parameter values that are decorated as "sensitive" in the API will not
2737// be included in the string output. The member name will be present, but the
2738// value will be replaced with "sensitive".
2739func (s DetectorStateSummary) GoString() string {
2740	return s.String()
2741}
2742
2743// SetStateName sets the StateName field's value.
2744func (s *DetectorStateSummary) SetStateName(v string) *DetectorStateSummary {
2745	s.StateName = &v
2746	return s
2747}
2748
2749// Information about the detector (instance).
2750type DetectorSummary struct {
2751	_ struct{} `type:"structure"`
2752
2753	// The time the detector (instance) was created.
2754	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
2755
2756	// The name of the detector model that created this detector (instance).
2757	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string"`
2758
2759	// The version of the detector model that created this detector (instance).
2760	DetectorModelVersion *string `locationName:"detectorModelVersion" min:"1" type:"string"`
2761
2762	// The value of the key (identifying the device or system) that caused the creation
2763	// of this detector (instance).
2764	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
2765
2766	// The time the detector (instance) was last updated.
2767	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
2768
2769	// The current state of the detector (instance).
2770	State *DetectorStateSummary `locationName:"state" type:"structure"`
2771}
2772
2773// String returns the string representation.
2774//
2775// API parameter values that are decorated as "sensitive" in the API will not
2776// be included in the string output. The member name will be present, but the
2777// value will be replaced with "sensitive".
2778func (s DetectorSummary) String() string {
2779	return awsutil.Prettify(s)
2780}
2781
2782// GoString returns the string representation.
2783//
2784// API parameter values that are decorated as "sensitive" in the API will not
2785// be included in the string output. The member name will be present, but the
2786// value will be replaced with "sensitive".
2787func (s DetectorSummary) GoString() string {
2788	return s.String()
2789}
2790
2791// SetCreationTime sets the CreationTime field's value.
2792func (s *DetectorSummary) SetCreationTime(v time.Time) *DetectorSummary {
2793	s.CreationTime = &v
2794	return s
2795}
2796
2797// SetDetectorModelName sets the DetectorModelName field's value.
2798func (s *DetectorSummary) SetDetectorModelName(v string) *DetectorSummary {
2799	s.DetectorModelName = &v
2800	return s
2801}
2802
2803// SetDetectorModelVersion sets the DetectorModelVersion field's value.
2804func (s *DetectorSummary) SetDetectorModelVersion(v string) *DetectorSummary {
2805	s.DetectorModelVersion = &v
2806	return s
2807}
2808
2809// SetKeyValue sets the KeyValue field's value.
2810func (s *DetectorSummary) SetKeyValue(v string) *DetectorSummary {
2811	s.KeyValue = &v
2812	return s
2813}
2814
2815// SetLastUpdateTime sets the LastUpdateTime field's value.
2816func (s *DetectorSummary) SetLastUpdateTime(v time.Time) *DetectorSummary {
2817	s.LastUpdateTime = &v
2818	return s
2819}
2820
2821// SetState sets the State field's value.
2822func (s *DetectorSummary) SetState(v *DetectorStateSummary) *DetectorSummary {
2823	s.State = v
2824	return s
2825}
2826
2827// Contains the configuration information of a disable action.
2828type DisableActionConfiguration struct {
2829	_ struct{} `type:"structure"`
2830
2831	// The note that you can leave when you disable the alarm.
2832	Note *string `locationName:"note" type:"string"`
2833}
2834
2835// String returns the string representation.
2836//
2837// API parameter values that are decorated as "sensitive" in the API will not
2838// be included in the string output. The member name will be present, but the
2839// value will be replaced with "sensitive".
2840func (s DisableActionConfiguration) String() string {
2841	return awsutil.Prettify(s)
2842}
2843
2844// GoString returns the string representation.
2845//
2846// API parameter values that are decorated as "sensitive" in the API will not
2847// be included in the string output. The member name will be present, but the
2848// value will be replaced with "sensitive".
2849func (s DisableActionConfiguration) GoString() string {
2850	return s.String()
2851}
2852
2853// SetNote sets the Note field's value.
2854func (s *DisableActionConfiguration) SetNote(v string) *DisableActionConfiguration {
2855	s.Note = &v
2856	return s
2857}
2858
2859// Information used to disable the alarm.
2860type DisableAlarmActionRequest struct {
2861	_ struct{} `type:"structure"`
2862
2863	// The name of the alarm model.
2864	//
2865	// AlarmModelName is a required field
2866	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"`
2867
2868	// The value of the key used as a filter to select only the alarms associated
2869	// with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key).
2870	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
2871
2872	// The note that you can leave when you disable the alarm.
2873	Note *string `locationName:"note" type:"string"`
2874
2875	// The request ID. Each ID must be unique within each batch.
2876	//
2877	// RequestId is a required field
2878	RequestId *string `locationName:"requestId" min:"1" type:"string" required:"true"`
2879}
2880
2881// String returns the string representation.
2882//
2883// API parameter values that are decorated as "sensitive" in the API will not
2884// be included in the string output. The member name will be present, but the
2885// value will be replaced with "sensitive".
2886func (s DisableAlarmActionRequest) String() string {
2887	return awsutil.Prettify(s)
2888}
2889
2890// GoString returns the string representation.
2891//
2892// API parameter values that are decorated as "sensitive" in the API will not
2893// be included in the string output. The member name will be present, but the
2894// value will be replaced with "sensitive".
2895func (s DisableAlarmActionRequest) GoString() string {
2896	return s.String()
2897}
2898
2899// Validate inspects the fields of the type to determine if they are valid.
2900func (s *DisableAlarmActionRequest) Validate() error {
2901	invalidParams := request.ErrInvalidParams{Context: "DisableAlarmActionRequest"}
2902	if s.AlarmModelName == nil {
2903		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
2904	}
2905	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
2906		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
2907	}
2908	if s.KeyValue != nil && len(*s.KeyValue) < 1 {
2909		invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1))
2910	}
2911	if s.RequestId == nil {
2912		invalidParams.Add(request.NewErrParamRequired("RequestId"))
2913	}
2914	if s.RequestId != nil && len(*s.RequestId) < 1 {
2915		invalidParams.Add(request.NewErrParamMinLen("RequestId", 1))
2916	}
2917
2918	if invalidParams.Len() > 0 {
2919		return invalidParams
2920	}
2921	return nil
2922}
2923
2924// SetAlarmModelName sets the AlarmModelName field's value.
2925func (s *DisableAlarmActionRequest) SetAlarmModelName(v string) *DisableAlarmActionRequest {
2926	s.AlarmModelName = &v
2927	return s
2928}
2929
2930// SetKeyValue sets the KeyValue field's value.
2931func (s *DisableAlarmActionRequest) SetKeyValue(v string) *DisableAlarmActionRequest {
2932	s.KeyValue = &v
2933	return s
2934}
2935
2936// SetNote sets the Note field's value.
2937func (s *DisableAlarmActionRequest) SetNote(v string) *DisableAlarmActionRequest {
2938	s.Note = &v
2939	return s
2940}
2941
2942// SetRequestId sets the RequestId field's value.
2943func (s *DisableAlarmActionRequest) SetRequestId(v string) *DisableAlarmActionRequest {
2944	s.RequestId = &v
2945	return s
2946}
2947
2948// Contains the configuration information of an enable action.
2949type EnableActionConfiguration struct {
2950	_ struct{} `type:"structure"`
2951
2952	// The note that you can leave when you enable the alarm.
2953	Note *string `locationName:"note" type:"string"`
2954}
2955
2956// String returns the string representation.
2957//
2958// API parameter values that are decorated as "sensitive" in the API will not
2959// be included in the string output. The member name will be present, but the
2960// value will be replaced with "sensitive".
2961func (s EnableActionConfiguration) String() string {
2962	return awsutil.Prettify(s)
2963}
2964
2965// GoString returns the string representation.
2966//
2967// API parameter values that are decorated as "sensitive" in the API will not
2968// be included in the string output. The member name will be present, but the
2969// value will be replaced with "sensitive".
2970func (s EnableActionConfiguration) GoString() string {
2971	return s.String()
2972}
2973
2974// SetNote sets the Note field's value.
2975func (s *EnableActionConfiguration) SetNote(v string) *EnableActionConfiguration {
2976	s.Note = &v
2977	return s
2978}
2979
2980// Information needed to enable the alarm.
2981type EnableAlarmActionRequest struct {
2982	_ struct{} `type:"structure"`
2983
2984	// The name of the alarm model.
2985	//
2986	// AlarmModelName is a required field
2987	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"`
2988
2989	// The value of the key used as a filter to select only the alarms associated
2990	// with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key).
2991	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
2992
2993	// The note that you can leave when you enable the alarm.
2994	Note *string `locationName:"note" type:"string"`
2995
2996	// The request ID. Each ID must be unique within each batch.
2997	//
2998	// RequestId is a required field
2999	RequestId *string `locationName:"requestId" min:"1" type:"string" required:"true"`
3000}
3001
3002// String returns the string representation.
3003//
3004// API parameter values that are decorated as "sensitive" in the API will not
3005// be included in the string output. The member name will be present, but the
3006// value will be replaced with "sensitive".
3007func (s EnableAlarmActionRequest) String() string {
3008	return awsutil.Prettify(s)
3009}
3010
3011// GoString returns the string representation.
3012//
3013// API parameter values that are decorated as "sensitive" in the API will not
3014// be included in the string output. The member name will be present, but the
3015// value will be replaced with "sensitive".
3016func (s EnableAlarmActionRequest) GoString() string {
3017	return s.String()
3018}
3019
3020// Validate inspects the fields of the type to determine if they are valid.
3021func (s *EnableAlarmActionRequest) Validate() error {
3022	invalidParams := request.ErrInvalidParams{Context: "EnableAlarmActionRequest"}
3023	if s.AlarmModelName == nil {
3024		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
3025	}
3026	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
3027		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
3028	}
3029	if s.KeyValue != nil && len(*s.KeyValue) < 1 {
3030		invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1))
3031	}
3032	if s.RequestId == nil {
3033		invalidParams.Add(request.NewErrParamRequired("RequestId"))
3034	}
3035	if s.RequestId != nil && len(*s.RequestId) < 1 {
3036		invalidParams.Add(request.NewErrParamMinLen("RequestId", 1))
3037	}
3038
3039	if invalidParams.Len() > 0 {
3040		return invalidParams
3041	}
3042	return nil
3043}
3044
3045// SetAlarmModelName sets the AlarmModelName field's value.
3046func (s *EnableAlarmActionRequest) SetAlarmModelName(v string) *EnableAlarmActionRequest {
3047	s.AlarmModelName = &v
3048	return s
3049}
3050
3051// SetKeyValue sets the KeyValue field's value.
3052func (s *EnableAlarmActionRequest) SetKeyValue(v string) *EnableAlarmActionRequest {
3053	s.KeyValue = &v
3054	return s
3055}
3056
3057// SetNote sets the Note field's value.
3058func (s *EnableAlarmActionRequest) SetNote(v string) *EnableAlarmActionRequest {
3059	s.Note = &v
3060	return s
3061}
3062
3063// SetRequestId sets the RequestId field's value.
3064func (s *EnableAlarmActionRequest) SetRequestId(v string) *EnableAlarmActionRequest {
3065	s.RequestId = &v
3066	return s
3067}
3068
3069// An internal failure occurred.
3070type InternalFailureException struct {
3071	_            struct{}                  `type:"structure"`
3072	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3073
3074	// The message for the exception.
3075	Message_ *string `locationName:"message" type:"string"`
3076}
3077
3078// String returns the string representation.
3079//
3080// API parameter values that are decorated as "sensitive" in the API will not
3081// be included in the string output. The member name will be present, but the
3082// value will be replaced with "sensitive".
3083func (s InternalFailureException) String() string {
3084	return awsutil.Prettify(s)
3085}
3086
3087// GoString returns the string representation.
3088//
3089// API parameter values that are decorated as "sensitive" in the API will not
3090// be included in the string output. The member name will be present, but the
3091// value will be replaced with "sensitive".
3092func (s InternalFailureException) GoString() string {
3093	return s.String()
3094}
3095
3096func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
3097	return &InternalFailureException{
3098		RespMetadata: v,
3099	}
3100}
3101
3102// Code returns the exception type name.
3103func (s *InternalFailureException) Code() string {
3104	return "InternalFailureException"
3105}
3106
3107// Message returns the exception's message.
3108func (s *InternalFailureException) Message() string {
3109	if s.Message_ != nil {
3110		return *s.Message_
3111	}
3112	return ""
3113}
3114
3115// OrigErr always returns nil, satisfies awserr.Error interface.
3116func (s *InternalFailureException) OrigErr() error {
3117	return nil
3118}
3119
3120func (s *InternalFailureException) Error() string {
3121	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3122}
3123
3124// Status code returns the HTTP status code for the request's response error.
3125func (s *InternalFailureException) StatusCode() int {
3126	return s.RespMetadata.StatusCode
3127}
3128
3129// RequestID returns the service's response RequestID for request.
3130func (s *InternalFailureException) RequestID() string {
3131	return s.RespMetadata.RequestID
3132}
3133
3134// The request was invalid.
3135type InvalidRequestException struct {
3136	_            struct{}                  `type:"structure"`
3137	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3138
3139	// The message for the exception.
3140	Message_ *string `locationName:"message" type:"string"`
3141}
3142
3143// String returns the string representation.
3144//
3145// API parameter values that are decorated as "sensitive" in the API will not
3146// be included in the string output. The member name will be present, but the
3147// value will be replaced with "sensitive".
3148func (s InvalidRequestException) String() string {
3149	return awsutil.Prettify(s)
3150}
3151
3152// GoString returns the string representation.
3153//
3154// API parameter values that are decorated as "sensitive" in the API will not
3155// be included in the string output. The member name will be present, but the
3156// value will be replaced with "sensitive".
3157func (s InvalidRequestException) GoString() string {
3158	return s.String()
3159}
3160
3161func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
3162	return &InvalidRequestException{
3163		RespMetadata: v,
3164	}
3165}
3166
3167// Code returns the exception type name.
3168func (s *InvalidRequestException) Code() string {
3169	return "InvalidRequestException"
3170}
3171
3172// Message returns the exception's message.
3173func (s *InvalidRequestException) Message() string {
3174	if s.Message_ != nil {
3175		return *s.Message_
3176	}
3177	return ""
3178}
3179
3180// OrigErr always returns nil, satisfies awserr.Error interface.
3181func (s *InvalidRequestException) OrigErr() error {
3182	return nil
3183}
3184
3185func (s *InvalidRequestException) Error() string {
3186	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3187}
3188
3189// Status code returns the HTTP status code for the request's response error.
3190func (s *InvalidRequestException) StatusCode() int {
3191	return s.RespMetadata.StatusCode
3192}
3193
3194// RequestID returns the service's response RequestID for request.
3195func (s *InvalidRequestException) RequestID() string {
3196	return s.RespMetadata.RequestID
3197}
3198
3199type ListAlarmsInput struct {
3200	_ struct{} `type:"structure" nopayload:"true"`
3201
3202	// The name of the alarm model.
3203	//
3204	// AlarmModelName is a required field
3205	AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"`
3206
3207	// The maximum number of results to be returned per request.
3208	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3209
3210	// The token that you can use to return the next set of results.
3211	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
3212}
3213
3214// String returns the string representation.
3215//
3216// API parameter values that are decorated as "sensitive" in the API will not
3217// be included in the string output. The member name will be present, but the
3218// value will be replaced with "sensitive".
3219func (s ListAlarmsInput) String() string {
3220	return awsutil.Prettify(s)
3221}
3222
3223// GoString returns the string representation.
3224//
3225// API parameter values that are decorated as "sensitive" in the API will not
3226// be included in the string output. The member name will be present, but the
3227// value will be replaced with "sensitive".
3228func (s ListAlarmsInput) GoString() string {
3229	return s.String()
3230}
3231
3232// Validate inspects the fields of the type to determine if they are valid.
3233func (s *ListAlarmsInput) Validate() error {
3234	invalidParams := request.ErrInvalidParams{Context: "ListAlarmsInput"}
3235	if s.AlarmModelName == nil {
3236		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
3237	}
3238	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
3239		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
3240	}
3241	if s.MaxResults != nil && *s.MaxResults < 1 {
3242		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3243	}
3244
3245	if invalidParams.Len() > 0 {
3246		return invalidParams
3247	}
3248	return nil
3249}
3250
3251// SetAlarmModelName sets the AlarmModelName field's value.
3252func (s *ListAlarmsInput) SetAlarmModelName(v string) *ListAlarmsInput {
3253	s.AlarmModelName = &v
3254	return s
3255}
3256
3257// SetMaxResults sets the MaxResults field's value.
3258func (s *ListAlarmsInput) SetMaxResults(v int64) *ListAlarmsInput {
3259	s.MaxResults = &v
3260	return s
3261}
3262
3263// SetNextToken sets the NextToken field's value.
3264func (s *ListAlarmsInput) SetNextToken(v string) *ListAlarmsInput {
3265	s.NextToken = &v
3266	return s
3267}
3268
3269type ListAlarmsOutput struct {
3270	_ struct{} `type:"structure"`
3271
3272	// A list that summarizes each alarm.
3273	AlarmSummaries []*AlarmSummary `locationName:"alarmSummaries" type:"list"`
3274
3275	// The token that you can use to return the next set of results, or null if
3276	// there are no more results.
3277	NextToken *string `locationName:"nextToken" type:"string"`
3278}
3279
3280// String returns the string representation.
3281//
3282// API parameter values that are decorated as "sensitive" in the API will not
3283// be included in the string output. The member name will be present, but the
3284// value will be replaced with "sensitive".
3285func (s ListAlarmsOutput) String() string {
3286	return awsutil.Prettify(s)
3287}
3288
3289// GoString returns the string representation.
3290//
3291// API parameter values that are decorated as "sensitive" in the API will not
3292// be included in the string output. The member name will be present, but the
3293// value will be replaced with "sensitive".
3294func (s ListAlarmsOutput) GoString() string {
3295	return s.String()
3296}
3297
3298// SetAlarmSummaries sets the AlarmSummaries field's value.
3299func (s *ListAlarmsOutput) SetAlarmSummaries(v []*AlarmSummary) *ListAlarmsOutput {
3300	s.AlarmSummaries = v
3301	return s
3302}
3303
3304// SetNextToken sets the NextToken field's value.
3305func (s *ListAlarmsOutput) SetNextToken(v string) *ListAlarmsOutput {
3306	s.NextToken = &v
3307	return s
3308}
3309
3310type ListDetectorsInput struct {
3311	_ struct{} `type:"structure" nopayload:"true"`
3312
3313	// The name of the detector model whose detectors (instances) are listed.
3314	//
3315	// DetectorModelName is a required field
3316	DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"`
3317
3318	// The maximum number of results to be returned per request.
3319	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3320
3321	// The token that you can use to return the next set of results.
3322	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
3323
3324	// A filter that limits results to those detectors (instances) in the given
3325	// state.
3326	StateName *string `location:"querystring" locationName:"stateName" min:"1" type:"string"`
3327}
3328
3329// String returns the string representation.
3330//
3331// API parameter values that are decorated as "sensitive" in the API will not
3332// be included in the string output. The member name will be present, but the
3333// value will be replaced with "sensitive".
3334func (s ListDetectorsInput) String() string {
3335	return awsutil.Prettify(s)
3336}
3337
3338// GoString returns the string representation.
3339//
3340// API parameter values that are decorated as "sensitive" in the API will not
3341// be included in the string output. The member name will be present, but the
3342// value will be replaced with "sensitive".
3343func (s ListDetectorsInput) GoString() string {
3344	return s.String()
3345}
3346
3347// Validate inspects the fields of the type to determine if they are valid.
3348func (s *ListDetectorsInput) Validate() error {
3349	invalidParams := request.ErrInvalidParams{Context: "ListDetectorsInput"}
3350	if s.DetectorModelName == nil {
3351		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
3352	}
3353	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
3354		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
3355	}
3356	if s.MaxResults != nil && *s.MaxResults < 1 {
3357		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3358	}
3359	if s.StateName != nil && len(*s.StateName) < 1 {
3360		invalidParams.Add(request.NewErrParamMinLen("StateName", 1))
3361	}
3362
3363	if invalidParams.Len() > 0 {
3364		return invalidParams
3365	}
3366	return nil
3367}
3368
3369// SetDetectorModelName sets the DetectorModelName field's value.
3370func (s *ListDetectorsInput) SetDetectorModelName(v string) *ListDetectorsInput {
3371	s.DetectorModelName = &v
3372	return s
3373}
3374
3375// SetMaxResults sets the MaxResults field's value.
3376func (s *ListDetectorsInput) SetMaxResults(v int64) *ListDetectorsInput {
3377	s.MaxResults = &v
3378	return s
3379}
3380
3381// SetNextToken sets the NextToken field's value.
3382func (s *ListDetectorsInput) SetNextToken(v string) *ListDetectorsInput {
3383	s.NextToken = &v
3384	return s
3385}
3386
3387// SetStateName sets the StateName field's value.
3388func (s *ListDetectorsInput) SetStateName(v string) *ListDetectorsInput {
3389	s.StateName = &v
3390	return s
3391}
3392
3393type ListDetectorsOutput struct {
3394	_ struct{} `type:"structure"`
3395
3396	// A list of summary information about the detectors (instances).
3397	DetectorSummaries []*DetectorSummary `locationName:"detectorSummaries" type:"list"`
3398
3399	// The token that you can use to return the next set of results, or null if
3400	// there are no more results.
3401	NextToken *string `locationName:"nextToken" type:"string"`
3402}
3403
3404// String returns the string representation.
3405//
3406// API parameter values that are decorated as "sensitive" in the API will not
3407// be included in the string output. The member name will be present, but the
3408// value will be replaced with "sensitive".
3409func (s ListDetectorsOutput) String() string {
3410	return awsutil.Prettify(s)
3411}
3412
3413// GoString returns the string representation.
3414//
3415// API parameter values that are decorated as "sensitive" in the API will not
3416// be included in the string output. The member name will be present, but the
3417// value will be replaced with "sensitive".
3418func (s ListDetectorsOutput) GoString() string {
3419	return s.String()
3420}
3421
3422// SetDetectorSummaries sets the DetectorSummaries field's value.
3423func (s *ListDetectorsOutput) SetDetectorSummaries(v []*DetectorSummary) *ListDetectorsOutput {
3424	s.DetectorSummaries = v
3425	return s
3426}
3427
3428// SetNextToken sets the NextToken field's value.
3429func (s *ListDetectorsOutput) SetNextToken(v string) *ListDetectorsOutput {
3430	s.NextToken = &v
3431	return s
3432}
3433
3434// Information about a message.
3435type Message struct {
3436	_ struct{} `type:"structure"`
3437
3438	// The name of the input into which the message payload is transformed.
3439	//
3440	// InputName is a required field
3441	InputName *string `locationName:"inputName" min:"1" type:"string" required:"true"`
3442
3443	// The ID to assign to the message. Within each batch sent, each "messageId"
3444	// must be unique.
3445	//
3446	// MessageId is a required field
3447	MessageId *string `locationName:"messageId" min:"1" type:"string" required:"true"`
3448
3449	// The payload of the message. This can be a JSON string or a Base-64-encoded
3450	// string representing binary data (in which case you must decode it).
3451	// Payload is automatically base64 encoded/decoded by the SDK.
3452	//
3453	// Payload is a required field
3454	Payload []byte `locationName:"payload" type:"blob" required:"true"`
3455
3456	// The timestamp associated with the message.
3457	Timestamp *TimestampValue `locationName:"timestamp" type:"structure"`
3458}
3459
3460// String returns the string representation.
3461//
3462// API parameter values that are decorated as "sensitive" in the API will not
3463// be included in the string output. The member name will be present, but the
3464// value will be replaced with "sensitive".
3465func (s Message) String() string {
3466	return awsutil.Prettify(s)
3467}
3468
3469// GoString returns the string representation.
3470//
3471// API parameter values that are decorated as "sensitive" in the API will not
3472// be included in the string output. The member name will be present, but the
3473// value will be replaced with "sensitive".
3474func (s Message) GoString() string {
3475	return s.String()
3476}
3477
3478// Validate inspects the fields of the type to determine if they are valid.
3479func (s *Message) Validate() error {
3480	invalidParams := request.ErrInvalidParams{Context: "Message"}
3481	if s.InputName == nil {
3482		invalidParams.Add(request.NewErrParamRequired("InputName"))
3483	}
3484	if s.InputName != nil && len(*s.InputName) < 1 {
3485		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
3486	}
3487	if s.MessageId == nil {
3488		invalidParams.Add(request.NewErrParamRequired("MessageId"))
3489	}
3490	if s.MessageId != nil && len(*s.MessageId) < 1 {
3491		invalidParams.Add(request.NewErrParamMinLen("MessageId", 1))
3492	}
3493	if s.Payload == nil {
3494		invalidParams.Add(request.NewErrParamRequired("Payload"))
3495	}
3496	if s.Timestamp != nil {
3497		if err := s.Timestamp.Validate(); err != nil {
3498			invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams))
3499		}
3500	}
3501
3502	if invalidParams.Len() > 0 {
3503		return invalidParams
3504	}
3505	return nil
3506}
3507
3508// SetInputName sets the InputName field's value.
3509func (s *Message) SetInputName(v string) *Message {
3510	s.InputName = &v
3511	return s
3512}
3513
3514// SetMessageId sets the MessageId field's value.
3515func (s *Message) SetMessageId(v string) *Message {
3516	s.MessageId = &v
3517	return s
3518}
3519
3520// SetPayload sets the Payload field's value.
3521func (s *Message) SetPayload(v []byte) *Message {
3522	s.Payload = v
3523	return s
3524}
3525
3526// SetTimestamp sets the Timestamp field's value.
3527func (s *Message) SetTimestamp(v *TimestampValue) *Message {
3528	s.Timestamp = v
3529	return s
3530}
3531
3532// Contains the configuration information of a reset action.
3533type ResetActionConfiguration struct {
3534	_ struct{} `type:"structure"`
3535
3536	// The note that you can leave when you reset the alarm.
3537	Note *string `locationName:"note" type:"string"`
3538}
3539
3540// String returns the string representation.
3541//
3542// API parameter values that are decorated as "sensitive" in the API will not
3543// be included in the string output. The member name will be present, but the
3544// value will be replaced with "sensitive".
3545func (s ResetActionConfiguration) String() string {
3546	return awsutil.Prettify(s)
3547}
3548
3549// GoString returns the string representation.
3550//
3551// API parameter values that are decorated as "sensitive" in the API will not
3552// be included in the string output. The member name will be present, but the
3553// value will be replaced with "sensitive".
3554func (s ResetActionConfiguration) GoString() string {
3555	return s.String()
3556}
3557
3558// SetNote sets the Note field's value.
3559func (s *ResetActionConfiguration) SetNote(v string) *ResetActionConfiguration {
3560	s.Note = &v
3561	return s
3562}
3563
3564// Information needed to reset the alarm.
3565type ResetAlarmActionRequest struct {
3566	_ struct{} `type:"structure"`
3567
3568	// The name of the alarm model.
3569	//
3570	// AlarmModelName is a required field
3571	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"`
3572
3573	// The value of the key used as a filter to select only the alarms associated
3574	// with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key).
3575	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
3576
3577	// The note that you can leave when you reset the alarm.
3578	Note *string `locationName:"note" type:"string"`
3579
3580	// The request ID. Each ID must be unique within each batch.
3581	//
3582	// RequestId is a required field
3583	RequestId *string `locationName:"requestId" min:"1" type:"string" required:"true"`
3584}
3585
3586// String returns the string representation.
3587//
3588// API parameter values that are decorated as "sensitive" in the API will not
3589// be included in the string output. The member name will be present, but the
3590// value will be replaced with "sensitive".
3591func (s ResetAlarmActionRequest) String() string {
3592	return awsutil.Prettify(s)
3593}
3594
3595// GoString returns the string representation.
3596//
3597// API parameter values that are decorated as "sensitive" in the API will not
3598// be included in the string output. The member name will be present, but the
3599// value will be replaced with "sensitive".
3600func (s ResetAlarmActionRequest) GoString() string {
3601	return s.String()
3602}
3603
3604// Validate inspects the fields of the type to determine if they are valid.
3605func (s *ResetAlarmActionRequest) Validate() error {
3606	invalidParams := request.ErrInvalidParams{Context: "ResetAlarmActionRequest"}
3607	if s.AlarmModelName == nil {
3608		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
3609	}
3610	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
3611		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
3612	}
3613	if s.KeyValue != nil && len(*s.KeyValue) < 1 {
3614		invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1))
3615	}
3616	if s.RequestId == nil {
3617		invalidParams.Add(request.NewErrParamRequired("RequestId"))
3618	}
3619	if s.RequestId != nil && len(*s.RequestId) < 1 {
3620		invalidParams.Add(request.NewErrParamMinLen("RequestId", 1))
3621	}
3622
3623	if invalidParams.Len() > 0 {
3624		return invalidParams
3625	}
3626	return nil
3627}
3628
3629// SetAlarmModelName sets the AlarmModelName field's value.
3630func (s *ResetAlarmActionRequest) SetAlarmModelName(v string) *ResetAlarmActionRequest {
3631	s.AlarmModelName = &v
3632	return s
3633}
3634
3635// SetKeyValue sets the KeyValue field's value.
3636func (s *ResetAlarmActionRequest) SetKeyValue(v string) *ResetAlarmActionRequest {
3637	s.KeyValue = &v
3638	return s
3639}
3640
3641// SetNote sets the Note field's value.
3642func (s *ResetAlarmActionRequest) SetNote(v string) *ResetAlarmActionRequest {
3643	s.Note = &v
3644	return s
3645}
3646
3647// SetRequestId sets the RequestId field's value.
3648func (s *ResetAlarmActionRequest) SetRequestId(v string) *ResetAlarmActionRequest {
3649	s.RequestId = &v
3650	return s
3651}
3652
3653// The resource was not found.
3654type ResourceNotFoundException struct {
3655	_            struct{}                  `type:"structure"`
3656	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3657
3658	// The message for the exception.
3659	Message_ *string `locationName:"message" type:"string"`
3660}
3661
3662// String returns the string representation.
3663//
3664// API parameter values that are decorated as "sensitive" in the API will not
3665// be included in the string output. The member name will be present, but the
3666// value will be replaced with "sensitive".
3667func (s ResourceNotFoundException) String() string {
3668	return awsutil.Prettify(s)
3669}
3670
3671// GoString returns the string representation.
3672//
3673// API parameter values that are decorated as "sensitive" in the API will not
3674// be included in the string output. The member name will be present, but the
3675// value will be replaced with "sensitive".
3676func (s ResourceNotFoundException) GoString() string {
3677	return s.String()
3678}
3679
3680func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
3681	return &ResourceNotFoundException{
3682		RespMetadata: v,
3683	}
3684}
3685
3686// Code returns the exception type name.
3687func (s *ResourceNotFoundException) Code() string {
3688	return "ResourceNotFoundException"
3689}
3690
3691// Message returns the exception's message.
3692func (s *ResourceNotFoundException) Message() string {
3693	if s.Message_ != nil {
3694		return *s.Message_
3695	}
3696	return ""
3697}
3698
3699// OrigErr always returns nil, satisfies awserr.Error interface.
3700func (s *ResourceNotFoundException) OrigErr() error {
3701	return nil
3702}
3703
3704func (s *ResourceNotFoundException) Error() string {
3705	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3706}
3707
3708// Status code returns the HTTP status code for the request's response error.
3709func (s *ResourceNotFoundException) StatusCode() int {
3710	return s.RespMetadata.StatusCode
3711}
3712
3713// RequestID returns the service's response RequestID for request.
3714func (s *ResourceNotFoundException) RequestID() string {
3715	return s.RespMetadata.RequestID
3716}
3717
3718// Information needed to evaluate data.
3719type RuleEvaluation struct {
3720	_ struct{} `type:"structure"`
3721
3722	// Information needed to compare two values with a comparison operator.
3723	SimpleRuleEvaluation *SimpleRuleEvaluation `locationName:"simpleRuleEvaluation" type:"structure"`
3724}
3725
3726// String returns the string representation.
3727//
3728// API parameter values that are decorated as "sensitive" in the API will not
3729// be included in the string output. The member name will be present, but the
3730// value will be replaced with "sensitive".
3731func (s RuleEvaluation) String() string {
3732	return awsutil.Prettify(s)
3733}
3734
3735// GoString returns the string representation.
3736//
3737// API parameter values that are decorated as "sensitive" in the API will not
3738// be included in the string output. The member name will be present, but the
3739// value will be replaced with "sensitive".
3740func (s RuleEvaluation) GoString() string {
3741	return s.String()
3742}
3743
3744// SetSimpleRuleEvaluation sets the SimpleRuleEvaluation field's value.
3745func (s *RuleEvaluation) SetSimpleRuleEvaluation(v *SimpleRuleEvaluation) *RuleEvaluation {
3746	s.SimpleRuleEvaluation = v
3747	return s
3748}
3749
3750// The service is currently unavailable.
3751type ServiceUnavailableException struct {
3752	_            struct{}                  `type:"structure"`
3753	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3754
3755	// The message for the exception.
3756	Message_ *string `locationName:"message" type:"string"`
3757}
3758
3759// String returns the string representation.
3760//
3761// API parameter values that are decorated as "sensitive" in the API will not
3762// be included in the string output. The member name will be present, but the
3763// value will be replaced with "sensitive".
3764func (s ServiceUnavailableException) String() string {
3765	return awsutil.Prettify(s)
3766}
3767
3768// GoString returns the string representation.
3769//
3770// API parameter values that are decorated as "sensitive" in the API will not
3771// be included in the string output. The member name will be present, but the
3772// value will be replaced with "sensitive".
3773func (s ServiceUnavailableException) GoString() string {
3774	return s.String()
3775}
3776
3777func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
3778	return &ServiceUnavailableException{
3779		RespMetadata: v,
3780	}
3781}
3782
3783// Code returns the exception type name.
3784func (s *ServiceUnavailableException) Code() string {
3785	return "ServiceUnavailableException"
3786}
3787
3788// Message returns the exception's message.
3789func (s *ServiceUnavailableException) Message() string {
3790	if s.Message_ != nil {
3791		return *s.Message_
3792	}
3793	return ""
3794}
3795
3796// OrigErr always returns nil, satisfies awserr.Error interface.
3797func (s *ServiceUnavailableException) OrigErr() error {
3798	return nil
3799}
3800
3801func (s *ServiceUnavailableException) Error() string {
3802	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3803}
3804
3805// Status code returns the HTTP status code for the request's response error.
3806func (s *ServiceUnavailableException) StatusCode() int {
3807	return s.RespMetadata.StatusCode
3808}
3809
3810// RequestID returns the service's response RequestID for request.
3811func (s *ServiceUnavailableException) RequestID() string {
3812	return s.RespMetadata.RequestID
3813}
3814
3815// Information needed to compare two values with a comparison operator.
3816type SimpleRuleEvaluation struct {
3817	_ struct{} `type:"structure"`
3818
3819	// The value of the input property, on the left side of the comparison operator.
3820	InputPropertyValue *string `locationName:"inputPropertyValue" type:"string"`
3821
3822	// The comparison operator.
3823	Operator *string `locationName:"operator" type:"string" enum:"ComparisonOperator"`
3824
3825	// The threshold value, on the right side of the comparison operator.
3826	ThresholdValue *string `locationName:"thresholdValue" type:"string"`
3827}
3828
3829// String returns the string representation.
3830//
3831// API parameter values that are decorated as "sensitive" in the API will not
3832// be included in the string output. The member name will be present, but the
3833// value will be replaced with "sensitive".
3834func (s SimpleRuleEvaluation) String() string {
3835	return awsutil.Prettify(s)
3836}
3837
3838// GoString returns the string representation.
3839//
3840// API parameter values that are decorated as "sensitive" in the API will not
3841// be included in the string output. The member name will be present, but the
3842// value will be replaced with "sensitive".
3843func (s SimpleRuleEvaluation) GoString() string {
3844	return s.String()
3845}
3846
3847// SetInputPropertyValue sets the InputPropertyValue field's value.
3848func (s *SimpleRuleEvaluation) SetInputPropertyValue(v string) *SimpleRuleEvaluation {
3849	s.InputPropertyValue = &v
3850	return s
3851}
3852
3853// SetOperator sets the Operator field's value.
3854func (s *SimpleRuleEvaluation) SetOperator(v string) *SimpleRuleEvaluation {
3855	s.Operator = &v
3856	return s
3857}
3858
3859// SetThresholdValue sets the ThresholdValue field's value.
3860func (s *SimpleRuleEvaluation) SetThresholdValue(v string) *SimpleRuleEvaluation {
3861	s.ThresholdValue = &v
3862	return s
3863}
3864
3865// Contains the configuration information of a snooze action.
3866type SnoozeActionConfiguration struct {
3867	_ struct{} `type:"structure"`
3868
3869	// The note that you can leave when you snooze the alarm.
3870	Note *string `locationName:"note" type:"string"`
3871
3872	// The snooze time in seconds. The alarm automatically changes to the NORMAL
3873	// state after this duration.
3874	SnoozeDuration *int64 `locationName:"snoozeDuration" type:"integer"`
3875}
3876
3877// String returns the string representation.
3878//
3879// API parameter values that are decorated as "sensitive" in the API will not
3880// be included in the string output. The member name will be present, but the
3881// value will be replaced with "sensitive".
3882func (s SnoozeActionConfiguration) String() string {
3883	return awsutil.Prettify(s)
3884}
3885
3886// GoString returns the string representation.
3887//
3888// API parameter values that are decorated as "sensitive" in the API will not
3889// be included in the string output. The member name will be present, but the
3890// value will be replaced with "sensitive".
3891func (s SnoozeActionConfiguration) GoString() string {
3892	return s.String()
3893}
3894
3895// SetNote sets the Note field's value.
3896func (s *SnoozeActionConfiguration) SetNote(v string) *SnoozeActionConfiguration {
3897	s.Note = &v
3898	return s
3899}
3900
3901// SetSnoozeDuration sets the SnoozeDuration field's value.
3902func (s *SnoozeActionConfiguration) SetSnoozeDuration(v int64) *SnoozeActionConfiguration {
3903	s.SnoozeDuration = &v
3904	return s
3905}
3906
3907// Information needed to snooze the alarm.
3908type SnoozeAlarmActionRequest struct {
3909	_ struct{} `type:"structure"`
3910
3911	// The name of the alarm model.
3912	//
3913	// AlarmModelName is a required field
3914	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"`
3915
3916	// The value of the key used as a filter to select only the alarms associated
3917	// with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key).
3918	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
3919
3920	// The note that you can leave when you snooze the alarm.
3921	Note *string `locationName:"note" type:"string"`
3922
3923	// The request ID. Each ID must be unique within each batch.
3924	//
3925	// RequestId is a required field
3926	RequestId *string `locationName:"requestId" min:"1" type:"string" required:"true"`
3927
3928	// The snooze time in seconds. The alarm automatically changes to the NORMAL
3929	// state after this duration.
3930	//
3931	// SnoozeDuration is a required field
3932	SnoozeDuration *int64 `locationName:"snoozeDuration" type:"integer" required:"true"`
3933}
3934
3935// String returns the string representation.
3936//
3937// API parameter values that are decorated as "sensitive" in the API will not
3938// be included in the string output. The member name will be present, but the
3939// value will be replaced with "sensitive".
3940func (s SnoozeAlarmActionRequest) String() string {
3941	return awsutil.Prettify(s)
3942}
3943
3944// GoString returns the string representation.
3945//
3946// API parameter values that are decorated as "sensitive" in the API will not
3947// be included in the string output. The member name will be present, but the
3948// value will be replaced with "sensitive".
3949func (s SnoozeAlarmActionRequest) GoString() string {
3950	return s.String()
3951}
3952
3953// Validate inspects the fields of the type to determine if they are valid.
3954func (s *SnoozeAlarmActionRequest) Validate() error {
3955	invalidParams := request.ErrInvalidParams{Context: "SnoozeAlarmActionRequest"}
3956	if s.AlarmModelName == nil {
3957		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
3958	}
3959	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
3960		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
3961	}
3962	if s.KeyValue != nil && len(*s.KeyValue) < 1 {
3963		invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1))
3964	}
3965	if s.RequestId == nil {
3966		invalidParams.Add(request.NewErrParamRequired("RequestId"))
3967	}
3968	if s.RequestId != nil && len(*s.RequestId) < 1 {
3969		invalidParams.Add(request.NewErrParamMinLen("RequestId", 1))
3970	}
3971	if s.SnoozeDuration == nil {
3972		invalidParams.Add(request.NewErrParamRequired("SnoozeDuration"))
3973	}
3974
3975	if invalidParams.Len() > 0 {
3976		return invalidParams
3977	}
3978	return nil
3979}
3980
3981// SetAlarmModelName sets the AlarmModelName field's value.
3982func (s *SnoozeAlarmActionRequest) SetAlarmModelName(v string) *SnoozeAlarmActionRequest {
3983	s.AlarmModelName = &v
3984	return s
3985}
3986
3987// SetKeyValue sets the KeyValue field's value.
3988func (s *SnoozeAlarmActionRequest) SetKeyValue(v string) *SnoozeAlarmActionRequest {
3989	s.KeyValue = &v
3990	return s
3991}
3992
3993// SetNote sets the Note field's value.
3994func (s *SnoozeAlarmActionRequest) SetNote(v string) *SnoozeAlarmActionRequest {
3995	s.Note = &v
3996	return s
3997}
3998
3999// SetRequestId sets the RequestId field's value.
4000func (s *SnoozeAlarmActionRequest) SetRequestId(v string) *SnoozeAlarmActionRequest {
4001	s.RequestId = &v
4002	return s
4003}
4004
4005// SetSnoozeDuration sets the SnoozeDuration field's value.
4006func (s *SnoozeAlarmActionRequest) SetSnoozeDuration(v int64) *SnoozeAlarmActionRequest {
4007	s.SnoozeDuration = &v
4008	return s
4009}
4010
4011// Contains the configuration information of alarm state changes.
4012type StateChangeConfiguration struct {
4013	_ struct{} `type:"structure"`
4014
4015	// The trigger type. If the value is SNOOZE_TIMEOUT, the snooze duration ends
4016	// and the alarm automatically changes to the NORMAL state.
4017	TriggerType *string `locationName:"triggerType" type:"string" enum:"TriggerType"`
4018}
4019
4020// String returns the string representation.
4021//
4022// API parameter values that are decorated as "sensitive" in the API will not
4023// be included in the string output. The member name will be present, but the
4024// value will be replaced with "sensitive".
4025func (s StateChangeConfiguration) String() string {
4026	return awsutil.Prettify(s)
4027}
4028
4029// GoString returns the string representation.
4030//
4031// API parameter values that are decorated as "sensitive" in the API will not
4032// be included in the string output. The member name will be present, but the
4033// value will be replaced with "sensitive".
4034func (s StateChangeConfiguration) GoString() string {
4035	return s.String()
4036}
4037
4038// SetTriggerType sets the TriggerType field's value.
4039func (s *StateChangeConfiguration) SetTriggerType(v string) *StateChangeConfiguration {
4040	s.TriggerType = &v
4041	return s
4042}
4043
4044// Contains information about alarm state changes.
4045type SystemEvent struct {
4046	_ struct{} `type:"structure"`
4047
4048	// The event type. If the value is STATE_CHANGE, the event contains information
4049	// about alarm state changes.
4050	EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
4051
4052	// Contains the configuration information of alarm state changes.
4053	StateChangeConfiguration *StateChangeConfiguration `locationName:"stateChangeConfiguration" type:"structure"`
4054}
4055
4056// String returns the string representation.
4057//
4058// API parameter values that are decorated as "sensitive" in the API will not
4059// be included in the string output. The member name will be present, but the
4060// value will be replaced with "sensitive".
4061func (s SystemEvent) String() string {
4062	return awsutil.Prettify(s)
4063}
4064
4065// GoString returns the string representation.
4066//
4067// API parameter values that are decorated as "sensitive" in the API will not
4068// be included in the string output. The member name will be present, but the
4069// value will be replaced with "sensitive".
4070func (s SystemEvent) GoString() string {
4071	return s.String()
4072}
4073
4074// SetEventType sets the EventType field's value.
4075func (s *SystemEvent) SetEventType(v string) *SystemEvent {
4076	s.EventType = &v
4077	return s
4078}
4079
4080// SetStateChangeConfiguration sets the StateChangeConfiguration field's value.
4081func (s *SystemEvent) SetStateChangeConfiguration(v *StateChangeConfiguration) *SystemEvent {
4082	s.StateChangeConfiguration = v
4083	return s
4084}
4085
4086// The request could not be completed due to throttling.
4087type ThrottlingException struct {
4088	_            struct{}                  `type:"structure"`
4089	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4090
4091	// The message for the exception.
4092	Message_ *string `locationName:"message" type:"string"`
4093}
4094
4095// String returns the string representation.
4096//
4097// API parameter values that are decorated as "sensitive" in the API will not
4098// be included in the string output. The member name will be present, but the
4099// value will be replaced with "sensitive".
4100func (s ThrottlingException) String() string {
4101	return awsutil.Prettify(s)
4102}
4103
4104// GoString returns the string representation.
4105//
4106// API parameter values that are decorated as "sensitive" in the API will not
4107// be included in the string output. The member name will be present, but the
4108// value will be replaced with "sensitive".
4109func (s ThrottlingException) GoString() string {
4110	return s.String()
4111}
4112
4113func newErrorThrottlingException(v protocol.ResponseMetadata) error {
4114	return &ThrottlingException{
4115		RespMetadata: v,
4116	}
4117}
4118
4119// Code returns the exception type name.
4120func (s *ThrottlingException) Code() string {
4121	return "ThrottlingException"
4122}
4123
4124// Message returns the exception's message.
4125func (s *ThrottlingException) Message() string {
4126	if s.Message_ != nil {
4127		return *s.Message_
4128	}
4129	return ""
4130}
4131
4132// OrigErr always returns nil, satisfies awserr.Error interface.
4133func (s *ThrottlingException) OrigErr() error {
4134	return nil
4135}
4136
4137func (s *ThrottlingException) Error() string {
4138	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4139}
4140
4141// Status code returns the HTTP status code for the request's response error.
4142func (s *ThrottlingException) StatusCode() int {
4143	return s.RespMetadata.StatusCode
4144}
4145
4146// RequestID returns the service's response RequestID for request.
4147func (s *ThrottlingException) RequestID() string {
4148	return s.RespMetadata.RequestID
4149}
4150
4151// The current state of a timer.
4152type Timer struct {
4153	_ struct{} `type:"structure"`
4154
4155	// The name of the timer.
4156	//
4157	// Name is a required field
4158	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4159
4160	// The number of seconds which have elapsed on the timer.
4161	//
4162	// Timestamp is a required field
4163	Timestamp *time.Time `locationName:"timestamp" type:"timestamp" required:"true"`
4164}
4165
4166// String returns the string representation.
4167//
4168// API parameter values that are decorated as "sensitive" in the API will not
4169// be included in the string output. The member name will be present, but the
4170// value will be replaced with "sensitive".
4171func (s Timer) String() string {
4172	return awsutil.Prettify(s)
4173}
4174
4175// GoString returns the string representation.
4176//
4177// API parameter values that are decorated as "sensitive" in the API will not
4178// be included in the string output. The member name will be present, but the
4179// value will be replaced with "sensitive".
4180func (s Timer) GoString() string {
4181	return s.String()
4182}
4183
4184// SetName sets the Name field's value.
4185func (s *Timer) SetName(v string) *Timer {
4186	s.Name = &v
4187	return s
4188}
4189
4190// SetTimestamp sets the Timestamp field's value.
4191func (s *Timer) SetTimestamp(v time.Time) *Timer {
4192	s.Timestamp = &v
4193	return s
4194}
4195
4196// The new setting of a timer.
4197type TimerDefinition struct {
4198	_ struct{} `type:"structure"`
4199
4200	// The name of the timer.
4201	//
4202	// Name is a required field
4203	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4204
4205	// The new setting of the timer (the number of seconds before the timer elapses).
4206	//
4207	// Seconds is a required field
4208	Seconds *int64 `locationName:"seconds" type:"integer" required:"true"`
4209}
4210
4211// String returns the string representation.
4212//
4213// API parameter values that are decorated as "sensitive" in the API will not
4214// be included in the string output. The member name will be present, but the
4215// value will be replaced with "sensitive".
4216func (s TimerDefinition) String() string {
4217	return awsutil.Prettify(s)
4218}
4219
4220// GoString returns the string representation.
4221//
4222// API parameter values that are decorated as "sensitive" in the API will not
4223// be included in the string output. The member name will be present, but the
4224// value will be replaced with "sensitive".
4225func (s TimerDefinition) GoString() string {
4226	return s.String()
4227}
4228
4229// Validate inspects the fields of the type to determine if they are valid.
4230func (s *TimerDefinition) Validate() error {
4231	invalidParams := request.ErrInvalidParams{Context: "TimerDefinition"}
4232	if s.Name == nil {
4233		invalidParams.Add(request.NewErrParamRequired("Name"))
4234	}
4235	if s.Name != nil && len(*s.Name) < 1 {
4236		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4237	}
4238	if s.Seconds == nil {
4239		invalidParams.Add(request.NewErrParamRequired("Seconds"))
4240	}
4241
4242	if invalidParams.Len() > 0 {
4243		return invalidParams
4244	}
4245	return nil
4246}
4247
4248// SetName sets the Name field's value.
4249func (s *TimerDefinition) SetName(v string) *TimerDefinition {
4250	s.Name = &v
4251	return s
4252}
4253
4254// SetSeconds sets the Seconds field's value.
4255func (s *TimerDefinition) SetSeconds(v int64) *TimerDefinition {
4256	s.Seconds = &v
4257	return s
4258}
4259
4260// Contains information about a timestamp.
4261type TimestampValue struct {
4262	_ struct{} `type:"structure"`
4263
4264	// The value of the timestamp, in the Unix epoch format.
4265	TimeInMillis *int64 `locationName:"timeInMillis" min:"1" type:"long"`
4266}
4267
4268// String returns the string representation.
4269//
4270// API parameter values that are decorated as "sensitive" in the API will not
4271// be included in the string output. The member name will be present, but the
4272// value will be replaced with "sensitive".
4273func (s TimestampValue) String() string {
4274	return awsutil.Prettify(s)
4275}
4276
4277// GoString returns the string representation.
4278//
4279// API parameter values that are decorated as "sensitive" in the API will not
4280// be included in the string output. The member name will be present, but the
4281// value will be replaced with "sensitive".
4282func (s TimestampValue) GoString() string {
4283	return s.String()
4284}
4285
4286// Validate inspects the fields of the type to determine if they are valid.
4287func (s *TimestampValue) Validate() error {
4288	invalidParams := request.ErrInvalidParams{Context: "TimestampValue"}
4289	if s.TimeInMillis != nil && *s.TimeInMillis < 1 {
4290		invalidParams.Add(request.NewErrParamMinValue("TimeInMillis", 1))
4291	}
4292
4293	if invalidParams.Len() > 0 {
4294		return invalidParams
4295	}
4296	return nil
4297}
4298
4299// SetTimeInMillis sets the TimeInMillis field's value.
4300func (s *TimestampValue) SetTimeInMillis(v int64) *TimestampValue {
4301	s.TimeInMillis = &v
4302	return s
4303}
4304
4305// Information used to update the detector (instance).
4306type UpdateDetectorRequest struct {
4307	_ struct{} `type:"structure"`
4308
4309	// The name of the detector model that created the detectors (instances).
4310	//
4311	// DetectorModelName is a required field
4312	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string" required:"true"`
4313
4314	// The value of the input key attribute (identifying the device or system) that
4315	// caused the creation of this detector (instance).
4316	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
4317
4318	// The ID to assign to the detector update "message". Each "messageId" must
4319	// be unique within each batch sent.
4320	//
4321	// MessageId is a required field
4322	MessageId *string `locationName:"messageId" min:"1" type:"string" required:"true"`
4323
4324	// The new state, variable values, and timer settings of the detector (instance).
4325	//
4326	// State is a required field
4327	State *DetectorStateDefinition `locationName:"state" type:"structure" required:"true"`
4328}
4329
4330// String returns the string representation.
4331//
4332// API parameter values that are decorated as "sensitive" in the API will not
4333// be included in the string output. The member name will be present, but the
4334// value will be replaced with "sensitive".
4335func (s UpdateDetectorRequest) String() string {
4336	return awsutil.Prettify(s)
4337}
4338
4339// GoString returns the string representation.
4340//
4341// API parameter values that are decorated as "sensitive" in the API will not
4342// be included in the string output. The member name will be present, but the
4343// value will be replaced with "sensitive".
4344func (s UpdateDetectorRequest) GoString() string {
4345	return s.String()
4346}
4347
4348// Validate inspects the fields of the type to determine if they are valid.
4349func (s *UpdateDetectorRequest) Validate() error {
4350	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorRequest"}
4351	if s.DetectorModelName == nil {
4352		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
4353	}
4354	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
4355		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
4356	}
4357	if s.KeyValue != nil && len(*s.KeyValue) < 1 {
4358		invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1))
4359	}
4360	if s.MessageId == nil {
4361		invalidParams.Add(request.NewErrParamRequired("MessageId"))
4362	}
4363	if s.MessageId != nil && len(*s.MessageId) < 1 {
4364		invalidParams.Add(request.NewErrParamMinLen("MessageId", 1))
4365	}
4366	if s.State == nil {
4367		invalidParams.Add(request.NewErrParamRequired("State"))
4368	}
4369	if s.State != nil {
4370		if err := s.State.Validate(); err != nil {
4371			invalidParams.AddNested("State", err.(request.ErrInvalidParams))
4372		}
4373	}
4374
4375	if invalidParams.Len() > 0 {
4376		return invalidParams
4377	}
4378	return nil
4379}
4380
4381// SetDetectorModelName sets the DetectorModelName field's value.
4382func (s *UpdateDetectorRequest) SetDetectorModelName(v string) *UpdateDetectorRequest {
4383	s.DetectorModelName = &v
4384	return s
4385}
4386
4387// SetKeyValue sets the KeyValue field's value.
4388func (s *UpdateDetectorRequest) SetKeyValue(v string) *UpdateDetectorRequest {
4389	s.KeyValue = &v
4390	return s
4391}
4392
4393// SetMessageId sets the MessageId field's value.
4394func (s *UpdateDetectorRequest) SetMessageId(v string) *UpdateDetectorRequest {
4395	s.MessageId = &v
4396	return s
4397}
4398
4399// SetState sets the State field's value.
4400func (s *UpdateDetectorRequest) SetState(v *DetectorStateDefinition) *UpdateDetectorRequest {
4401	s.State = v
4402	return s
4403}
4404
4405// The current state of the variable.
4406type Variable struct {
4407	_ struct{} `type:"structure"`
4408
4409	// The name of the variable.
4410	//
4411	// Name is a required field
4412	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4413
4414	// The current value of the variable.
4415	//
4416	// Value is a required field
4417	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
4418}
4419
4420// String returns the string representation.
4421//
4422// API parameter values that are decorated as "sensitive" in the API will not
4423// be included in the string output. The member name will be present, but the
4424// value will be replaced with "sensitive".
4425func (s Variable) String() string {
4426	return awsutil.Prettify(s)
4427}
4428
4429// GoString returns the string representation.
4430//
4431// API parameter values that are decorated as "sensitive" in the API will not
4432// be included in the string output. The member name will be present, but the
4433// value will be replaced with "sensitive".
4434func (s Variable) GoString() string {
4435	return s.String()
4436}
4437
4438// SetName sets the Name field's value.
4439func (s *Variable) SetName(v string) *Variable {
4440	s.Name = &v
4441	return s
4442}
4443
4444// SetValue sets the Value field's value.
4445func (s *Variable) SetValue(v string) *Variable {
4446	s.Value = &v
4447	return s
4448}
4449
4450// The new value of the variable.
4451type VariableDefinition struct {
4452	_ struct{} `type:"structure"`
4453
4454	// The name of the variable.
4455	//
4456	// Name is a required field
4457	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4458
4459	// The new value of the variable.
4460	//
4461	// Value is a required field
4462	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
4463}
4464
4465// String returns the string representation.
4466//
4467// API parameter values that are decorated as "sensitive" in the API will not
4468// be included in the string output. The member name will be present, but the
4469// value will be replaced with "sensitive".
4470func (s VariableDefinition) String() string {
4471	return awsutil.Prettify(s)
4472}
4473
4474// GoString returns the string representation.
4475//
4476// API parameter values that are decorated as "sensitive" in the API will not
4477// be included in the string output. The member name will be present, but the
4478// value will be replaced with "sensitive".
4479func (s VariableDefinition) GoString() string {
4480	return s.String()
4481}
4482
4483// Validate inspects the fields of the type to determine if they are valid.
4484func (s *VariableDefinition) Validate() error {
4485	invalidParams := request.ErrInvalidParams{Context: "VariableDefinition"}
4486	if s.Name == nil {
4487		invalidParams.Add(request.NewErrParamRequired("Name"))
4488	}
4489	if s.Name != nil && len(*s.Name) < 1 {
4490		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4491	}
4492	if s.Value == nil {
4493		invalidParams.Add(request.NewErrParamRequired("Value"))
4494	}
4495	if s.Value != nil && len(*s.Value) < 1 {
4496		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
4497	}
4498
4499	if invalidParams.Len() > 0 {
4500		return invalidParams
4501	}
4502	return nil
4503}
4504
4505// SetName sets the Name field's value.
4506func (s *VariableDefinition) SetName(v string) *VariableDefinition {
4507	s.Name = &v
4508	return s
4509}
4510
4511// SetValue sets the Value field's value.
4512func (s *VariableDefinition) SetValue(v string) *VariableDefinition {
4513	s.Value = &v
4514	return s
4515}
4516
4517const (
4518	// AlarmStateNameDisabled is a AlarmStateName enum value
4519	AlarmStateNameDisabled = "DISABLED"
4520
4521	// AlarmStateNameNormal is a AlarmStateName enum value
4522	AlarmStateNameNormal = "NORMAL"
4523
4524	// AlarmStateNameActive is a AlarmStateName enum value
4525	AlarmStateNameActive = "ACTIVE"
4526
4527	// AlarmStateNameAcknowledged is a AlarmStateName enum value
4528	AlarmStateNameAcknowledged = "ACKNOWLEDGED"
4529
4530	// AlarmStateNameSnoozeDisabled is a AlarmStateName enum value
4531	AlarmStateNameSnoozeDisabled = "SNOOZE_DISABLED"
4532
4533	// AlarmStateNameLatched is a AlarmStateName enum value
4534	AlarmStateNameLatched = "LATCHED"
4535)
4536
4537// AlarmStateName_Values returns all elements of the AlarmStateName enum
4538func AlarmStateName_Values() []string {
4539	return []string{
4540		AlarmStateNameDisabled,
4541		AlarmStateNameNormal,
4542		AlarmStateNameActive,
4543		AlarmStateNameAcknowledged,
4544		AlarmStateNameSnoozeDisabled,
4545		AlarmStateNameLatched,
4546	}
4547}
4548
4549const (
4550	// ComparisonOperatorGreater is a ComparisonOperator enum value
4551	ComparisonOperatorGreater = "GREATER"
4552
4553	// ComparisonOperatorGreaterOrEqual is a ComparisonOperator enum value
4554	ComparisonOperatorGreaterOrEqual = "GREATER_OR_EQUAL"
4555
4556	// ComparisonOperatorLess is a ComparisonOperator enum value
4557	ComparisonOperatorLess = "LESS"
4558
4559	// ComparisonOperatorLessOrEqual is a ComparisonOperator enum value
4560	ComparisonOperatorLessOrEqual = "LESS_OR_EQUAL"
4561
4562	// ComparisonOperatorEqual is a ComparisonOperator enum value
4563	ComparisonOperatorEqual = "EQUAL"
4564
4565	// ComparisonOperatorNotEqual is a ComparisonOperator enum value
4566	ComparisonOperatorNotEqual = "NOT_EQUAL"
4567)
4568
4569// ComparisonOperator_Values returns all elements of the ComparisonOperator enum
4570func ComparisonOperator_Values() []string {
4571	return []string{
4572		ComparisonOperatorGreater,
4573		ComparisonOperatorGreaterOrEqual,
4574		ComparisonOperatorLess,
4575		ComparisonOperatorLessOrEqual,
4576		ComparisonOperatorEqual,
4577		ComparisonOperatorNotEqual,
4578	}
4579}
4580
4581const (
4582	// CustomerActionNameSnooze is a CustomerActionName enum value
4583	CustomerActionNameSnooze = "SNOOZE"
4584
4585	// CustomerActionNameEnable is a CustomerActionName enum value
4586	CustomerActionNameEnable = "ENABLE"
4587
4588	// CustomerActionNameDisable is a CustomerActionName enum value
4589	CustomerActionNameDisable = "DISABLE"
4590
4591	// CustomerActionNameAcknowledge is a CustomerActionName enum value
4592	CustomerActionNameAcknowledge = "ACKNOWLEDGE"
4593
4594	// CustomerActionNameReset is a CustomerActionName enum value
4595	CustomerActionNameReset = "RESET"
4596)
4597
4598// CustomerActionName_Values returns all elements of the CustomerActionName enum
4599func CustomerActionName_Values() []string {
4600	return []string{
4601		CustomerActionNameSnooze,
4602		CustomerActionNameEnable,
4603		CustomerActionNameDisable,
4604		CustomerActionNameAcknowledge,
4605		CustomerActionNameReset,
4606	}
4607}
4608
4609const (
4610	// ErrorCodeResourceNotFoundException is a ErrorCode enum value
4611	ErrorCodeResourceNotFoundException = "ResourceNotFoundException"
4612
4613	// ErrorCodeInvalidRequestException is a ErrorCode enum value
4614	ErrorCodeInvalidRequestException = "InvalidRequestException"
4615
4616	// ErrorCodeInternalFailureException is a ErrorCode enum value
4617	ErrorCodeInternalFailureException = "InternalFailureException"
4618
4619	// ErrorCodeServiceUnavailableException is a ErrorCode enum value
4620	ErrorCodeServiceUnavailableException = "ServiceUnavailableException"
4621
4622	// ErrorCodeThrottlingException is a ErrorCode enum value
4623	ErrorCodeThrottlingException = "ThrottlingException"
4624)
4625
4626// ErrorCode_Values returns all elements of the ErrorCode enum
4627func ErrorCode_Values() []string {
4628	return []string{
4629		ErrorCodeResourceNotFoundException,
4630		ErrorCodeInvalidRequestException,
4631		ErrorCodeInternalFailureException,
4632		ErrorCodeServiceUnavailableException,
4633		ErrorCodeThrottlingException,
4634	}
4635}
4636
4637const (
4638	// EventTypeStateChange is a EventType enum value
4639	EventTypeStateChange = "STATE_CHANGE"
4640)
4641
4642// EventType_Values returns all elements of the EventType enum
4643func EventType_Values() []string {
4644	return []string{
4645		EventTypeStateChange,
4646	}
4647}
4648
4649const (
4650	// TriggerTypeSnoozeTimeout is a TriggerType enum value
4651	TriggerTypeSnoozeTimeout = "SNOOZE_TIMEOUT"
4652)
4653
4654// TriggerType_Values returns all elements of the TriggerType enum
4655func TriggerType_Values() []string {
4656	return []string{
4657		TriggerTypeSnoozeTimeout,
4658	}
4659}
4660