1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package lookoutmetrics
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opActivateAnomalyDetector = "ActivateAnomalyDetector"
17
18// ActivateAnomalyDetectorRequest generates a "aws/request.Request" representing the
19// client's request for the ActivateAnomalyDetector operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See ActivateAnomalyDetector for more information on using the ActivateAnomalyDetector
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the ActivateAnomalyDetectorRequest method.
34//    req, resp := client.ActivateAnomalyDetectorRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ActivateAnomalyDetector
42func (c *LookoutMetrics) ActivateAnomalyDetectorRequest(input *ActivateAnomalyDetectorInput) (req *request.Request, output *ActivateAnomalyDetectorOutput) {
43	op := &request.Operation{
44		Name:       opActivateAnomalyDetector,
45		HTTPMethod: "POST",
46		HTTPPath:   "/ActivateAnomalyDetector",
47	}
48
49	if input == nil {
50		input = &ActivateAnomalyDetectorInput{}
51	}
52
53	output = &ActivateAnomalyDetectorOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// ActivateAnomalyDetector API operation for Amazon Lookout for Metrics.
60//
61// Activates an anomaly detector.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for Amazon Lookout for Metrics's
68// API operation ActivateAnomalyDetector for usage and error information.
69//
70// Returned Error Types:
71//   * ValidationException
72//   The input fails to satisfy the constraints specified by the AWS service.
73//   Check your input values and try again.
74//
75//   * ResourceNotFoundException
76//   The specified resource cannot be found. Check the ARN of the resource and
77//   try again.
78//
79//   * AccessDeniedException
80//   You do not have sufficient permissions to perform this action.
81//
82//   * TooManyRequestsException
83//   The request was denied due to too many requests being submitted at the same
84//   time.
85//
86//   * InternalServerException
87//   The request processing has failed because of an unknown error, exception,
88//   or failure.
89//
90//   * ConflictException
91//   There was a conflict processing the request. Try your request again.
92//
93// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ActivateAnomalyDetector
94func (c *LookoutMetrics) ActivateAnomalyDetector(input *ActivateAnomalyDetectorInput) (*ActivateAnomalyDetectorOutput, error) {
95	req, out := c.ActivateAnomalyDetectorRequest(input)
96	return out, req.Send()
97}
98
99// ActivateAnomalyDetectorWithContext is the same as ActivateAnomalyDetector with the addition of
100// the ability to pass a context and additional request options.
101//
102// See ActivateAnomalyDetector for details on how to use this API operation.
103//
104// The context must be non-nil and will be used for request cancellation. If
105// the context is nil a panic will occur. In the future the SDK may create
106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
107// for more information on using Contexts.
108func (c *LookoutMetrics) ActivateAnomalyDetectorWithContext(ctx aws.Context, input *ActivateAnomalyDetectorInput, opts ...request.Option) (*ActivateAnomalyDetectorOutput, error) {
109	req, out := c.ActivateAnomalyDetectorRequest(input)
110	req.SetContext(ctx)
111	req.ApplyOptions(opts...)
112	return out, req.Send()
113}
114
115const opBackTestAnomalyDetector = "BackTestAnomalyDetector"
116
117// BackTestAnomalyDetectorRequest generates a "aws/request.Request" representing the
118// client's request for the BackTestAnomalyDetector operation. The "output" return
119// value will be populated with the request's response once the request completes
120// successfully.
121//
122// Use "Send" method on the returned Request to send the API call to the service.
123// the "output" return value is not valid until after Send returns without error.
124//
125// See BackTestAnomalyDetector for more information on using the BackTestAnomalyDetector
126// API call, and error handling.
127//
128// This method is useful when you want to inject custom logic or configuration
129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
130//
131//
132//    // Example sending a request using the BackTestAnomalyDetectorRequest method.
133//    req, resp := client.BackTestAnomalyDetectorRequest(params)
134//
135//    err := req.Send()
136//    if err == nil { // resp is now filled
137//        fmt.Println(resp)
138//    }
139//
140// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/BackTestAnomalyDetector
141func (c *LookoutMetrics) BackTestAnomalyDetectorRequest(input *BackTestAnomalyDetectorInput) (req *request.Request, output *BackTestAnomalyDetectorOutput) {
142	op := &request.Operation{
143		Name:       opBackTestAnomalyDetector,
144		HTTPMethod: "POST",
145		HTTPPath:   "/BackTestAnomalyDetector",
146	}
147
148	if input == nil {
149		input = &BackTestAnomalyDetectorInput{}
150	}
151
152	output = &BackTestAnomalyDetectorOutput{}
153	req = c.newRequest(op, input, output)
154	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
155	return
156}
157
158// BackTestAnomalyDetector API operation for Amazon Lookout for Metrics.
159//
160// Runs a backtest for anomaly detection for the specified resource.
161//
162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
163// with awserr.Error's Code and Message methods to get detailed information about
164// the error.
165//
166// See the AWS API reference guide for Amazon Lookout for Metrics's
167// API operation BackTestAnomalyDetector for usage and error information.
168//
169// Returned Error Types:
170//   * ValidationException
171//   The input fails to satisfy the constraints specified by the AWS service.
172//   Check your input values and try again.
173//
174//   * ResourceNotFoundException
175//   The specified resource cannot be found. Check the ARN of the resource and
176//   try again.
177//
178//   * AccessDeniedException
179//   You do not have sufficient permissions to perform this action.
180//
181//   * TooManyRequestsException
182//   The request was denied due to too many requests being submitted at the same
183//   time.
184//
185//   * InternalServerException
186//   The request processing has failed because of an unknown error, exception,
187//   or failure.
188//
189// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/BackTestAnomalyDetector
190func (c *LookoutMetrics) BackTestAnomalyDetector(input *BackTestAnomalyDetectorInput) (*BackTestAnomalyDetectorOutput, error) {
191	req, out := c.BackTestAnomalyDetectorRequest(input)
192	return out, req.Send()
193}
194
195// BackTestAnomalyDetectorWithContext is the same as BackTestAnomalyDetector with the addition of
196// the ability to pass a context and additional request options.
197//
198// See BackTestAnomalyDetector for details on how to use this API operation.
199//
200// The context must be non-nil and will be used for request cancellation. If
201// the context is nil a panic will occur. In the future the SDK may create
202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
203// for more information on using Contexts.
204func (c *LookoutMetrics) BackTestAnomalyDetectorWithContext(ctx aws.Context, input *BackTestAnomalyDetectorInput, opts ...request.Option) (*BackTestAnomalyDetectorOutput, error) {
205	req, out := c.BackTestAnomalyDetectorRequest(input)
206	req.SetContext(ctx)
207	req.ApplyOptions(opts...)
208	return out, req.Send()
209}
210
211const opCreateAlert = "CreateAlert"
212
213// CreateAlertRequest generates a "aws/request.Request" representing the
214// client's request for the CreateAlert operation. The "output" return
215// value will be populated with the request's response once the request completes
216// successfully.
217//
218// Use "Send" method on the returned Request to send the API call to the service.
219// the "output" return value is not valid until after Send returns without error.
220//
221// See CreateAlert for more information on using the CreateAlert
222// API call, and error handling.
223//
224// This method is useful when you want to inject custom logic or configuration
225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
226//
227//
228//    // Example sending a request using the CreateAlertRequest method.
229//    req, resp := client.CreateAlertRequest(params)
230//
231//    err := req.Send()
232//    if err == nil { // resp is now filled
233//        fmt.Println(resp)
234//    }
235//
236// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/CreateAlert
237func (c *LookoutMetrics) CreateAlertRequest(input *CreateAlertInput) (req *request.Request, output *CreateAlertOutput) {
238	op := &request.Operation{
239		Name:       opCreateAlert,
240		HTTPMethod: "POST",
241		HTTPPath:   "/CreateAlert",
242	}
243
244	if input == nil {
245		input = &CreateAlertInput{}
246	}
247
248	output = &CreateAlertOutput{}
249	req = c.newRequest(op, input, output)
250	return
251}
252
253// CreateAlert API operation for Amazon Lookout for Metrics.
254//
255// Creates an alert for an anomaly detector.
256//
257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
258// with awserr.Error's Code and Message methods to get detailed information about
259// the error.
260//
261// See the AWS API reference guide for Amazon Lookout for Metrics's
262// API operation CreateAlert for usage and error information.
263//
264// Returned Error Types:
265//   * ConflictException
266//   There was a conflict processing the request. Try your request again.
267//
268//   * ValidationException
269//   The input fails to satisfy the constraints specified by the AWS service.
270//   Check your input values and try again.
271//
272//   * ServiceQuotaExceededException
273//   The request exceeded the service's quotas. Check the service quotas and try
274//   again.
275//
276//   * AccessDeniedException
277//   You do not have sufficient permissions to perform this action.
278//
279//   * TooManyRequestsException
280//   The request was denied due to too many requests being submitted at the same
281//   time.
282//
283//   * ResourceNotFoundException
284//   The specified resource cannot be found. Check the ARN of the resource and
285//   try again.
286//
287//   * InternalServerException
288//   The request processing has failed because of an unknown error, exception,
289//   or failure.
290//
291// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/CreateAlert
292func (c *LookoutMetrics) CreateAlert(input *CreateAlertInput) (*CreateAlertOutput, error) {
293	req, out := c.CreateAlertRequest(input)
294	return out, req.Send()
295}
296
297// CreateAlertWithContext is the same as CreateAlert with the addition of
298// the ability to pass a context and additional request options.
299//
300// See CreateAlert for details on how to use this API operation.
301//
302// The context must be non-nil and will be used for request cancellation. If
303// the context is nil a panic will occur. In the future the SDK may create
304// sub-contexts for http.Requests. See https://golang.org/pkg/context/
305// for more information on using Contexts.
306func (c *LookoutMetrics) CreateAlertWithContext(ctx aws.Context, input *CreateAlertInput, opts ...request.Option) (*CreateAlertOutput, error) {
307	req, out := c.CreateAlertRequest(input)
308	req.SetContext(ctx)
309	req.ApplyOptions(opts...)
310	return out, req.Send()
311}
312
313const opCreateAnomalyDetector = "CreateAnomalyDetector"
314
315// CreateAnomalyDetectorRequest generates a "aws/request.Request" representing the
316// client's request for the CreateAnomalyDetector operation. The "output" return
317// value will be populated with the request's response once the request completes
318// successfully.
319//
320// Use "Send" method on the returned Request to send the API call to the service.
321// the "output" return value is not valid until after Send returns without error.
322//
323// See CreateAnomalyDetector for more information on using the CreateAnomalyDetector
324// API call, and error handling.
325//
326// This method is useful when you want to inject custom logic or configuration
327// into the SDK's request lifecycle. Such as custom headers, or retry logic.
328//
329//
330//    // Example sending a request using the CreateAnomalyDetectorRequest method.
331//    req, resp := client.CreateAnomalyDetectorRequest(params)
332//
333//    err := req.Send()
334//    if err == nil { // resp is now filled
335//        fmt.Println(resp)
336//    }
337//
338// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/CreateAnomalyDetector
339func (c *LookoutMetrics) CreateAnomalyDetectorRequest(input *CreateAnomalyDetectorInput) (req *request.Request, output *CreateAnomalyDetectorOutput) {
340	op := &request.Operation{
341		Name:       opCreateAnomalyDetector,
342		HTTPMethod: "POST",
343		HTTPPath:   "/CreateAnomalyDetector",
344	}
345
346	if input == nil {
347		input = &CreateAnomalyDetectorInput{}
348	}
349
350	output = &CreateAnomalyDetectorOutput{}
351	req = c.newRequest(op, input, output)
352	return
353}
354
355// CreateAnomalyDetector API operation for Amazon Lookout for Metrics.
356//
357// Creates an anomaly detector.
358//
359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
360// with awserr.Error's Code and Message methods to get detailed information about
361// the error.
362//
363// See the AWS API reference guide for Amazon Lookout for Metrics's
364// API operation CreateAnomalyDetector for usage and error information.
365//
366// Returned Error Types:
367//   * ConflictException
368//   There was a conflict processing the request. Try your request again.
369//
370//   * ValidationException
371//   The input fails to satisfy the constraints specified by the AWS service.
372//   Check your input values and try again.
373//
374//   * ServiceQuotaExceededException
375//   The request exceeded the service's quotas. Check the service quotas and try
376//   again.
377//
378//   * ConflictException
379//   There was a conflict processing the request. Try your request again.
380//
381//   * AccessDeniedException
382//   You do not have sufficient permissions to perform this action.
383//
384//   * TooManyRequestsException
385//   The request was denied due to too many requests being submitted at the same
386//   time.
387//
388//   * InternalServerException
389//   The request processing has failed because of an unknown error, exception,
390//   or failure.
391//
392// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/CreateAnomalyDetector
393func (c *LookoutMetrics) CreateAnomalyDetector(input *CreateAnomalyDetectorInput) (*CreateAnomalyDetectorOutput, error) {
394	req, out := c.CreateAnomalyDetectorRequest(input)
395	return out, req.Send()
396}
397
398// CreateAnomalyDetectorWithContext is the same as CreateAnomalyDetector with the addition of
399// the ability to pass a context and additional request options.
400//
401// See CreateAnomalyDetector for details on how to use this API operation.
402//
403// The context must be non-nil and will be used for request cancellation. If
404// the context is nil a panic will occur. In the future the SDK may create
405// sub-contexts for http.Requests. See https://golang.org/pkg/context/
406// for more information on using Contexts.
407func (c *LookoutMetrics) CreateAnomalyDetectorWithContext(ctx aws.Context, input *CreateAnomalyDetectorInput, opts ...request.Option) (*CreateAnomalyDetectorOutput, error) {
408	req, out := c.CreateAnomalyDetectorRequest(input)
409	req.SetContext(ctx)
410	req.ApplyOptions(opts...)
411	return out, req.Send()
412}
413
414const opCreateMetricSet = "CreateMetricSet"
415
416// CreateMetricSetRequest generates a "aws/request.Request" representing the
417// client's request for the CreateMetricSet operation. The "output" return
418// value will be populated with the request's response once the request completes
419// successfully.
420//
421// Use "Send" method on the returned Request to send the API call to the service.
422// the "output" return value is not valid until after Send returns without error.
423//
424// See CreateMetricSet for more information on using the CreateMetricSet
425// API call, and error handling.
426//
427// This method is useful when you want to inject custom logic or configuration
428// into the SDK's request lifecycle. Such as custom headers, or retry logic.
429//
430//
431//    // Example sending a request using the CreateMetricSetRequest method.
432//    req, resp := client.CreateMetricSetRequest(params)
433//
434//    err := req.Send()
435//    if err == nil { // resp is now filled
436//        fmt.Println(resp)
437//    }
438//
439// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/CreateMetricSet
440func (c *LookoutMetrics) CreateMetricSetRequest(input *CreateMetricSetInput) (req *request.Request, output *CreateMetricSetOutput) {
441	op := &request.Operation{
442		Name:       opCreateMetricSet,
443		HTTPMethod: "POST",
444		HTTPPath:   "/CreateMetricSet",
445	}
446
447	if input == nil {
448		input = &CreateMetricSetInput{}
449	}
450
451	output = &CreateMetricSetOutput{}
452	req = c.newRequest(op, input, output)
453	return
454}
455
456// CreateMetricSet API operation for Amazon Lookout for Metrics.
457//
458// Creates a dataset.
459//
460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
461// with awserr.Error's Code and Message methods to get detailed information about
462// the error.
463//
464// See the AWS API reference guide for Amazon Lookout for Metrics's
465// API operation CreateMetricSet for usage and error information.
466//
467// Returned Error Types:
468//   * ConflictException
469//   There was a conflict processing the request. Try your request again.
470//
471//   * ValidationException
472//   The input fails to satisfy the constraints specified by the AWS service.
473//   Check your input values and try again.
474//
475//   * ResourceNotFoundException
476//   The specified resource cannot be found. Check the ARN of the resource and
477//   try again.
478//
479//   * ServiceQuotaExceededException
480//   The request exceeded the service's quotas. Check the service quotas and try
481//   again.
482//
483//   * AccessDeniedException
484//   You do not have sufficient permissions to perform this action.
485//
486//   * TooManyRequestsException
487//   The request was denied due to too many requests being submitted at the same
488//   time.
489//
490//   * InternalServerException
491//   The request processing has failed because of an unknown error, exception,
492//   or failure.
493//
494// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/CreateMetricSet
495func (c *LookoutMetrics) CreateMetricSet(input *CreateMetricSetInput) (*CreateMetricSetOutput, error) {
496	req, out := c.CreateMetricSetRequest(input)
497	return out, req.Send()
498}
499
500// CreateMetricSetWithContext is the same as CreateMetricSet with the addition of
501// the ability to pass a context and additional request options.
502//
503// See CreateMetricSet for details on how to use this API operation.
504//
505// The context must be non-nil and will be used for request cancellation. If
506// the context is nil a panic will occur. In the future the SDK may create
507// sub-contexts for http.Requests. See https://golang.org/pkg/context/
508// for more information on using Contexts.
509func (c *LookoutMetrics) CreateMetricSetWithContext(ctx aws.Context, input *CreateMetricSetInput, opts ...request.Option) (*CreateMetricSetOutput, error) {
510	req, out := c.CreateMetricSetRequest(input)
511	req.SetContext(ctx)
512	req.ApplyOptions(opts...)
513	return out, req.Send()
514}
515
516const opDeleteAlert = "DeleteAlert"
517
518// DeleteAlertRequest generates a "aws/request.Request" representing the
519// client's request for the DeleteAlert operation. The "output" return
520// value will be populated with the request's response once the request completes
521// successfully.
522//
523// Use "Send" method on the returned Request to send the API call to the service.
524// the "output" return value is not valid until after Send returns without error.
525//
526// See DeleteAlert for more information on using the DeleteAlert
527// API call, and error handling.
528//
529// This method is useful when you want to inject custom logic or configuration
530// into the SDK's request lifecycle. Such as custom headers, or retry logic.
531//
532//
533//    // Example sending a request using the DeleteAlertRequest method.
534//    req, resp := client.DeleteAlertRequest(params)
535//
536//    err := req.Send()
537//    if err == nil { // resp is now filled
538//        fmt.Println(resp)
539//    }
540//
541// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DeleteAlert
542func (c *LookoutMetrics) DeleteAlertRequest(input *DeleteAlertInput) (req *request.Request, output *DeleteAlertOutput) {
543	op := &request.Operation{
544		Name:       opDeleteAlert,
545		HTTPMethod: "POST",
546		HTTPPath:   "/DeleteAlert",
547	}
548
549	if input == nil {
550		input = &DeleteAlertInput{}
551	}
552
553	output = &DeleteAlertOutput{}
554	req = c.newRequest(op, input, output)
555	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
556	return
557}
558
559// DeleteAlert API operation for Amazon Lookout for Metrics.
560//
561// Deletes an alert.
562//
563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
564// with awserr.Error's Code and Message methods to get detailed information about
565// the error.
566//
567// See the AWS API reference guide for Amazon Lookout for Metrics's
568// API operation DeleteAlert for usage and error information.
569//
570// Returned Error Types:
571//   * ResourceNotFoundException
572//   The specified resource cannot be found. Check the ARN of the resource and
573//   try again.
574//
575//   * ValidationException
576//   The input fails to satisfy the constraints specified by the AWS service.
577//   Check your input values and try again.
578//
579//   * TooManyRequestsException
580//   The request was denied due to too many requests being submitted at the same
581//   time.
582//
583//   * AccessDeniedException
584//   You do not have sufficient permissions to perform this action.
585//
586//   * InternalServerException
587//   The request processing has failed because of an unknown error, exception,
588//   or failure.
589//
590// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DeleteAlert
591func (c *LookoutMetrics) DeleteAlert(input *DeleteAlertInput) (*DeleteAlertOutput, error) {
592	req, out := c.DeleteAlertRequest(input)
593	return out, req.Send()
594}
595
596// DeleteAlertWithContext is the same as DeleteAlert with the addition of
597// the ability to pass a context and additional request options.
598//
599// See DeleteAlert for details on how to use this API operation.
600//
601// The context must be non-nil and will be used for request cancellation. If
602// the context is nil a panic will occur. In the future the SDK may create
603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
604// for more information on using Contexts.
605func (c *LookoutMetrics) DeleteAlertWithContext(ctx aws.Context, input *DeleteAlertInput, opts ...request.Option) (*DeleteAlertOutput, error) {
606	req, out := c.DeleteAlertRequest(input)
607	req.SetContext(ctx)
608	req.ApplyOptions(opts...)
609	return out, req.Send()
610}
611
612const opDeleteAnomalyDetector = "DeleteAnomalyDetector"
613
614// DeleteAnomalyDetectorRequest generates a "aws/request.Request" representing the
615// client's request for the DeleteAnomalyDetector operation. The "output" return
616// value will be populated with the request's response once the request completes
617// successfully.
618//
619// Use "Send" method on the returned Request to send the API call to the service.
620// the "output" return value is not valid until after Send returns without error.
621//
622// See DeleteAnomalyDetector for more information on using the DeleteAnomalyDetector
623// API call, and error handling.
624//
625// This method is useful when you want to inject custom logic or configuration
626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
627//
628//
629//    // Example sending a request using the DeleteAnomalyDetectorRequest method.
630//    req, resp := client.DeleteAnomalyDetectorRequest(params)
631//
632//    err := req.Send()
633//    if err == nil { // resp is now filled
634//        fmt.Println(resp)
635//    }
636//
637// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DeleteAnomalyDetector
638func (c *LookoutMetrics) DeleteAnomalyDetectorRequest(input *DeleteAnomalyDetectorInput) (req *request.Request, output *DeleteAnomalyDetectorOutput) {
639	op := &request.Operation{
640		Name:       opDeleteAnomalyDetector,
641		HTTPMethod: "POST",
642		HTTPPath:   "/DeleteAnomalyDetector",
643	}
644
645	if input == nil {
646		input = &DeleteAnomalyDetectorInput{}
647	}
648
649	output = &DeleteAnomalyDetectorOutput{}
650	req = c.newRequest(op, input, output)
651	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
652	return
653}
654
655// DeleteAnomalyDetector API operation for Amazon Lookout for Metrics.
656//
657// Deletes a detector. Deleting an anomaly detector will delete all of its corresponding
658// resources including any configured datasets and alerts.
659//
660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
661// with awserr.Error's Code and Message methods to get detailed information about
662// the error.
663//
664// See the AWS API reference guide for Amazon Lookout for Metrics's
665// API operation DeleteAnomalyDetector for usage and error information.
666//
667// Returned Error Types:
668//   * ResourceNotFoundException
669//   The specified resource cannot be found. Check the ARN of the resource and
670//   try again.
671//
672//   * ValidationException
673//   The input fails to satisfy the constraints specified by the AWS service.
674//   Check your input values and try again.
675//
676//   * ConflictException
677//   There was a conflict processing the request. Try your request again.
678//
679//   * TooManyRequestsException
680//   The request was denied due to too many requests being submitted at the same
681//   time.
682//
683//   * AccessDeniedException
684//   You do not have sufficient permissions to perform this action.
685//
686//   * InternalServerException
687//   The request processing has failed because of an unknown error, exception,
688//   or failure.
689//
690// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DeleteAnomalyDetector
691func (c *LookoutMetrics) DeleteAnomalyDetector(input *DeleteAnomalyDetectorInput) (*DeleteAnomalyDetectorOutput, error) {
692	req, out := c.DeleteAnomalyDetectorRequest(input)
693	return out, req.Send()
694}
695
696// DeleteAnomalyDetectorWithContext is the same as DeleteAnomalyDetector with the addition of
697// the ability to pass a context and additional request options.
698//
699// See DeleteAnomalyDetector for details on how to use this API operation.
700//
701// The context must be non-nil and will be used for request cancellation. If
702// the context is nil a panic will occur. In the future the SDK may create
703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
704// for more information on using Contexts.
705func (c *LookoutMetrics) DeleteAnomalyDetectorWithContext(ctx aws.Context, input *DeleteAnomalyDetectorInput, opts ...request.Option) (*DeleteAnomalyDetectorOutput, error) {
706	req, out := c.DeleteAnomalyDetectorRequest(input)
707	req.SetContext(ctx)
708	req.ApplyOptions(opts...)
709	return out, req.Send()
710}
711
712const opDescribeAlert = "DescribeAlert"
713
714// DescribeAlertRequest generates a "aws/request.Request" representing the
715// client's request for the DescribeAlert operation. The "output" return
716// value will be populated with the request's response once the request completes
717// successfully.
718//
719// Use "Send" method on the returned Request to send the API call to the service.
720// the "output" return value is not valid until after Send returns without error.
721//
722// See DescribeAlert for more information on using the DescribeAlert
723// API call, and error handling.
724//
725// This method is useful when you want to inject custom logic or configuration
726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
727//
728//
729//    // Example sending a request using the DescribeAlertRequest method.
730//    req, resp := client.DescribeAlertRequest(params)
731//
732//    err := req.Send()
733//    if err == nil { // resp is now filled
734//        fmt.Println(resp)
735//    }
736//
737// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DescribeAlert
738func (c *LookoutMetrics) DescribeAlertRequest(input *DescribeAlertInput) (req *request.Request, output *DescribeAlertOutput) {
739	op := &request.Operation{
740		Name:       opDescribeAlert,
741		HTTPMethod: "POST",
742		HTTPPath:   "/DescribeAlert",
743	}
744
745	if input == nil {
746		input = &DescribeAlertInput{}
747	}
748
749	output = &DescribeAlertOutput{}
750	req = c.newRequest(op, input, output)
751	return
752}
753
754// DescribeAlert API operation for Amazon Lookout for Metrics.
755//
756// Describes an alert.
757//
758// Amazon Lookout for Metrics API actions are eventually consistent. If you
759// do a read operation on a resource immediately after creating or modifying
760// it, use retries to allow time for the write operation to complete.
761//
762// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
763// with awserr.Error's Code and Message methods to get detailed information about
764// the error.
765//
766// See the AWS API reference guide for Amazon Lookout for Metrics's
767// API operation DescribeAlert for usage and error information.
768//
769// Returned Error Types:
770//   * ResourceNotFoundException
771//   The specified resource cannot be found. Check the ARN of the resource and
772//   try again.
773//
774//   * ValidationException
775//   The input fails to satisfy the constraints specified by the AWS service.
776//   Check your input values and try again.
777//
778//   * AccessDeniedException
779//   You do not have sufficient permissions to perform this action.
780//
781//   * InternalServerException
782//   The request processing has failed because of an unknown error, exception,
783//   or failure.
784//
785//   * TooManyRequestsException
786//   The request was denied due to too many requests being submitted at the same
787//   time.
788//
789// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DescribeAlert
790func (c *LookoutMetrics) DescribeAlert(input *DescribeAlertInput) (*DescribeAlertOutput, error) {
791	req, out := c.DescribeAlertRequest(input)
792	return out, req.Send()
793}
794
795// DescribeAlertWithContext is the same as DescribeAlert with the addition of
796// the ability to pass a context and additional request options.
797//
798// See DescribeAlert for details on how to use this API operation.
799//
800// The context must be non-nil and will be used for request cancellation. If
801// the context is nil a panic will occur. In the future the SDK may create
802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
803// for more information on using Contexts.
804func (c *LookoutMetrics) DescribeAlertWithContext(ctx aws.Context, input *DescribeAlertInput, opts ...request.Option) (*DescribeAlertOutput, error) {
805	req, out := c.DescribeAlertRequest(input)
806	req.SetContext(ctx)
807	req.ApplyOptions(opts...)
808	return out, req.Send()
809}
810
811const opDescribeAnomalyDetectionExecutions = "DescribeAnomalyDetectionExecutions"
812
813// DescribeAnomalyDetectionExecutionsRequest generates a "aws/request.Request" representing the
814// client's request for the DescribeAnomalyDetectionExecutions operation. The "output" return
815// value will be populated with the request's response once the request completes
816// successfully.
817//
818// Use "Send" method on the returned Request to send the API call to the service.
819// the "output" return value is not valid until after Send returns without error.
820//
821// See DescribeAnomalyDetectionExecutions for more information on using the DescribeAnomalyDetectionExecutions
822// API call, and error handling.
823//
824// This method is useful when you want to inject custom logic or configuration
825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
826//
827//
828//    // Example sending a request using the DescribeAnomalyDetectionExecutionsRequest method.
829//    req, resp := client.DescribeAnomalyDetectionExecutionsRequest(params)
830//
831//    err := req.Send()
832//    if err == nil { // resp is now filled
833//        fmt.Println(resp)
834//    }
835//
836// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DescribeAnomalyDetectionExecutions
837func (c *LookoutMetrics) DescribeAnomalyDetectionExecutionsRequest(input *DescribeAnomalyDetectionExecutionsInput) (req *request.Request, output *DescribeAnomalyDetectionExecutionsOutput) {
838	op := &request.Operation{
839		Name:       opDescribeAnomalyDetectionExecutions,
840		HTTPMethod: "POST",
841		HTTPPath:   "/DescribeAnomalyDetectionExecutions",
842		Paginator: &request.Paginator{
843			InputTokens:     []string{"NextToken"},
844			OutputTokens:    []string{"NextToken"},
845			LimitToken:      "MaxResults",
846			TruncationToken: "",
847		},
848	}
849
850	if input == nil {
851		input = &DescribeAnomalyDetectionExecutionsInput{}
852	}
853
854	output = &DescribeAnomalyDetectionExecutionsOutput{}
855	req = c.newRequest(op, input, output)
856	return
857}
858
859// DescribeAnomalyDetectionExecutions API operation for Amazon Lookout for Metrics.
860//
861// Returns information about the status of the specified anomaly detection jobs.
862//
863// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
864// with awserr.Error's Code and Message methods to get detailed information about
865// the error.
866//
867// See the AWS API reference guide for Amazon Lookout for Metrics's
868// API operation DescribeAnomalyDetectionExecutions for usage and error information.
869//
870// Returned Error Types:
871//   * ResourceNotFoundException
872//   The specified resource cannot be found. Check the ARN of the resource and
873//   try again.
874//
875//   * ValidationException
876//   The input fails to satisfy the constraints specified by the AWS service.
877//   Check your input values and try again.
878//
879//   * AccessDeniedException
880//   You do not have sufficient permissions to perform this action.
881//
882//   * TooManyRequestsException
883//   The request was denied due to too many requests being submitted at the same
884//   time.
885//
886//   * InternalServerException
887//   The request processing has failed because of an unknown error, exception,
888//   or failure.
889//
890// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DescribeAnomalyDetectionExecutions
891func (c *LookoutMetrics) DescribeAnomalyDetectionExecutions(input *DescribeAnomalyDetectionExecutionsInput) (*DescribeAnomalyDetectionExecutionsOutput, error) {
892	req, out := c.DescribeAnomalyDetectionExecutionsRequest(input)
893	return out, req.Send()
894}
895
896// DescribeAnomalyDetectionExecutionsWithContext is the same as DescribeAnomalyDetectionExecutions with the addition of
897// the ability to pass a context and additional request options.
898//
899// See DescribeAnomalyDetectionExecutions for details on how to use this API operation.
900//
901// The context must be non-nil and will be used for request cancellation. If
902// the context is nil a panic will occur. In the future the SDK may create
903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
904// for more information on using Contexts.
905func (c *LookoutMetrics) DescribeAnomalyDetectionExecutionsWithContext(ctx aws.Context, input *DescribeAnomalyDetectionExecutionsInput, opts ...request.Option) (*DescribeAnomalyDetectionExecutionsOutput, error) {
906	req, out := c.DescribeAnomalyDetectionExecutionsRequest(input)
907	req.SetContext(ctx)
908	req.ApplyOptions(opts...)
909	return out, req.Send()
910}
911
912// DescribeAnomalyDetectionExecutionsPages iterates over the pages of a DescribeAnomalyDetectionExecutions operation,
913// calling the "fn" function with the response data for each page. To stop
914// iterating, return false from the fn function.
915//
916// See DescribeAnomalyDetectionExecutions method for more information on how to use this operation.
917//
918// Note: This operation can generate multiple requests to a service.
919//
920//    // Example iterating over at most 3 pages of a DescribeAnomalyDetectionExecutions operation.
921//    pageNum := 0
922//    err := client.DescribeAnomalyDetectionExecutionsPages(params,
923//        func(page *lookoutmetrics.DescribeAnomalyDetectionExecutionsOutput, lastPage bool) bool {
924//            pageNum++
925//            fmt.Println(page)
926//            return pageNum <= 3
927//        })
928//
929func (c *LookoutMetrics) DescribeAnomalyDetectionExecutionsPages(input *DescribeAnomalyDetectionExecutionsInput, fn func(*DescribeAnomalyDetectionExecutionsOutput, bool) bool) error {
930	return c.DescribeAnomalyDetectionExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
931}
932
933// DescribeAnomalyDetectionExecutionsPagesWithContext same as DescribeAnomalyDetectionExecutionsPages except
934// it takes a Context and allows setting request options on the pages.
935//
936// The context must be non-nil and will be used for request cancellation. If
937// the context is nil a panic will occur. In the future the SDK may create
938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
939// for more information on using Contexts.
940func (c *LookoutMetrics) DescribeAnomalyDetectionExecutionsPagesWithContext(ctx aws.Context, input *DescribeAnomalyDetectionExecutionsInput, fn func(*DescribeAnomalyDetectionExecutionsOutput, bool) bool, opts ...request.Option) error {
941	p := request.Pagination{
942		NewRequest: func() (*request.Request, error) {
943			var inCpy *DescribeAnomalyDetectionExecutionsInput
944			if input != nil {
945				tmp := *input
946				inCpy = &tmp
947			}
948			req, _ := c.DescribeAnomalyDetectionExecutionsRequest(inCpy)
949			req.SetContext(ctx)
950			req.ApplyOptions(opts...)
951			return req, nil
952		},
953	}
954
955	for p.Next() {
956		if !fn(p.Page().(*DescribeAnomalyDetectionExecutionsOutput), !p.HasNextPage()) {
957			break
958		}
959	}
960
961	return p.Err()
962}
963
964const opDescribeAnomalyDetector = "DescribeAnomalyDetector"
965
966// DescribeAnomalyDetectorRequest generates a "aws/request.Request" representing the
967// client's request for the DescribeAnomalyDetector operation. The "output" return
968// value will be populated with the request's response once the request completes
969// successfully.
970//
971// Use "Send" method on the returned Request to send the API call to the service.
972// the "output" return value is not valid until after Send returns without error.
973//
974// See DescribeAnomalyDetector for more information on using the DescribeAnomalyDetector
975// API call, and error handling.
976//
977// This method is useful when you want to inject custom logic or configuration
978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
979//
980//
981//    // Example sending a request using the DescribeAnomalyDetectorRequest method.
982//    req, resp := client.DescribeAnomalyDetectorRequest(params)
983//
984//    err := req.Send()
985//    if err == nil { // resp is now filled
986//        fmt.Println(resp)
987//    }
988//
989// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DescribeAnomalyDetector
990func (c *LookoutMetrics) DescribeAnomalyDetectorRequest(input *DescribeAnomalyDetectorInput) (req *request.Request, output *DescribeAnomalyDetectorOutput) {
991	op := &request.Operation{
992		Name:       opDescribeAnomalyDetector,
993		HTTPMethod: "POST",
994		HTTPPath:   "/DescribeAnomalyDetector",
995	}
996
997	if input == nil {
998		input = &DescribeAnomalyDetectorInput{}
999	}
1000
1001	output = &DescribeAnomalyDetectorOutput{}
1002	req = c.newRequest(op, input, output)
1003	return
1004}
1005
1006// DescribeAnomalyDetector API operation for Amazon Lookout for Metrics.
1007//
1008// Describes a detector.
1009//
1010// Amazon Lookout for Metrics API actions are eventually consistent. If you
1011// do a read operation on a resource immediately after creating or modifying
1012// it, use retries to allow time for the write operation to complete.
1013//
1014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1015// with awserr.Error's Code and Message methods to get detailed information about
1016// the error.
1017//
1018// See the AWS API reference guide for Amazon Lookout for Metrics's
1019// API operation DescribeAnomalyDetector for usage and error information.
1020//
1021// Returned Error Types:
1022//   * ResourceNotFoundException
1023//   The specified resource cannot be found. Check the ARN of the resource and
1024//   try again.
1025//
1026//   * ValidationException
1027//   The input fails to satisfy the constraints specified by the AWS service.
1028//   Check your input values and try again.
1029//
1030//   * AccessDeniedException
1031//   You do not have sufficient permissions to perform this action.
1032//
1033//   * InternalServerException
1034//   The request processing has failed because of an unknown error, exception,
1035//   or failure.
1036//
1037//   * TooManyRequestsException
1038//   The request was denied due to too many requests being submitted at the same
1039//   time.
1040//
1041// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DescribeAnomalyDetector
1042func (c *LookoutMetrics) DescribeAnomalyDetector(input *DescribeAnomalyDetectorInput) (*DescribeAnomalyDetectorOutput, error) {
1043	req, out := c.DescribeAnomalyDetectorRequest(input)
1044	return out, req.Send()
1045}
1046
1047// DescribeAnomalyDetectorWithContext is the same as DescribeAnomalyDetector with the addition of
1048// the ability to pass a context and additional request options.
1049//
1050// See DescribeAnomalyDetector for details on how to use this API operation.
1051//
1052// The context must be non-nil and will be used for request cancellation. If
1053// the context is nil a panic will occur. In the future the SDK may create
1054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1055// for more information on using Contexts.
1056func (c *LookoutMetrics) DescribeAnomalyDetectorWithContext(ctx aws.Context, input *DescribeAnomalyDetectorInput, opts ...request.Option) (*DescribeAnomalyDetectorOutput, error) {
1057	req, out := c.DescribeAnomalyDetectorRequest(input)
1058	req.SetContext(ctx)
1059	req.ApplyOptions(opts...)
1060	return out, req.Send()
1061}
1062
1063const opDescribeMetricSet = "DescribeMetricSet"
1064
1065// DescribeMetricSetRequest generates a "aws/request.Request" representing the
1066// client's request for the DescribeMetricSet operation. The "output" return
1067// value will be populated with the request's response once the request completes
1068// successfully.
1069//
1070// Use "Send" method on the returned Request to send the API call to the service.
1071// the "output" return value is not valid until after Send returns without error.
1072//
1073// See DescribeMetricSet for more information on using the DescribeMetricSet
1074// API call, and error handling.
1075//
1076// This method is useful when you want to inject custom logic or configuration
1077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1078//
1079//
1080//    // Example sending a request using the DescribeMetricSetRequest method.
1081//    req, resp := client.DescribeMetricSetRequest(params)
1082//
1083//    err := req.Send()
1084//    if err == nil { // resp is now filled
1085//        fmt.Println(resp)
1086//    }
1087//
1088// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DescribeMetricSet
1089func (c *LookoutMetrics) DescribeMetricSetRequest(input *DescribeMetricSetInput) (req *request.Request, output *DescribeMetricSetOutput) {
1090	op := &request.Operation{
1091		Name:       opDescribeMetricSet,
1092		HTTPMethod: "POST",
1093		HTTPPath:   "/DescribeMetricSet",
1094	}
1095
1096	if input == nil {
1097		input = &DescribeMetricSetInput{}
1098	}
1099
1100	output = &DescribeMetricSetOutput{}
1101	req = c.newRequest(op, input, output)
1102	return
1103}
1104
1105// DescribeMetricSet API operation for Amazon Lookout for Metrics.
1106//
1107// Describes a dataset.
1108//
1109// Amazon Lookout for Metrics API actions are eventually consistent. If you
1110// do a read operation on a resource immediately after creating or modifying
1111// it, use retries to allow time for the write operation to complete.
1112//
1113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1114// with awserr.Error's Code and Message methods to get detailed information about
1115// the error.
1116//
1117// See the AWS API reference guide for Amazon Lookout for Metrics's
1118// API operation DescribeMetricSet for usage and error information.
1119//
1120// Returned Error Types:
1121//   * ResourceNotFoundException
1122//   The specified resource cannot be found. Check the ARN of the resource and
1123//   try again.
1124//
1125//   * ValidationException
1126//   The input fails to satisfy the constraints specified by the AWS service.
1127//   Check your input values and try again.
1128//
1129//   * AccessDeniedException
1130//   You do not have sufficient permissions to perform this action.
1131//
1132//   * TooManyRequestsException
1133//   The request was denied due to too many requests being submitted at the same
1134//   time.
1135//
1136//   * InternalServerException
1137//   The request processing has failed because of an unknown error, exception,
1138//   or failure.
1139//
1140// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/DescribeMetricSet
1141func (c *LookoutMetrics) DescribeMetricSet(input *DescribeMetricSetInput) (*DescribeMetricSetOutput, error) {
1142	req, out := c.DescribeMetricSetRequest(input)
1143	return out, req.Send()
1144}
1145
1146// DescribeMetricSetWithContext is the same as DescribeMetricSet with the addition of
1147// the ability to pass a context and additional request options.
1148//
1149// See DescribeMetricSet for details on how to use this API operation.
1150//
1151// The context must be non-nil and will be used for request cancellation. If
1152// the context is nil a panic will occur. In the future the SDK may create
1153// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1154// for more information on using Contexts.
1155func (c *LookoutMetrics) DescribeMetricSetWithContext(ctx aws.Context, input *DescribeMetricSetInput, opts ...request.Option) (*DescribeMetricSetOutput, error) {
1156	req, out := c.DescribeMetricSetRequest(input)
1157	req.SetContext(ctx)
1158	req.ApplyOptions(opts...)
1159	return out, req.Send()
1160}
1161
1162const opGetAnomalyGroup = "GetAnomalyGroup"
1163
1164// GetAnomalyGroupRequest generates a "aws/request.Request" representing the
1165// client's request for the GetAnomalyGroup operation. The "output" return
1166// value will be populated with the request's response once the request completes
1167// successfully.
1168//
1169// Use "Send" method on the returned Request to send the API call to the service.
1170// the "output" return value is not valid until after Send returns without error.
1171//
1172// See GetAnomalyGroup for more information on using the GetAnomalyGroup
1173// API call, and error handling.
1174//
1175// This method is useful when you want to inject custom logic or configuration
1176// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1177//
1178//
1179//    // Example sending a request using the GetAnomalyGroupRequest method.
1180//    req, resp := client.GetAnomalyGroupRequest(params)
1181//
1182//    err := req.Send()
1183//    if err == nil { // resp is now filled
1184//        fmt.Println(resp)
1185//    }
1186//
1187// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/GetAnomalyGroup
1188func (c *LookoutMetrics) GetAnomalyGroupRequest(input *GetAnomalyGroupInput) (req *request.Request, output *GetAnomalyGroupOutput) {
1189	op := &request.Operation{
1190		Name:       opGetAnomalyGroup,
1191		HTTPMethod: "POST",
1192		HTTPPath:   "/GetAnomalyGroup",
1193	}
1194
1195	if input == nil {
1196		input = &GetAnomalyGroupInput{}
1197	}
1198
1199	output = &GetAnomalyGroupOutput{}
1200	req = c.newRequest(op, input, output)
1201	return
1202}
1203
1204// GetAnomalyGroup API operation for Amazon Lookout for Metrics.
1205//
1206// Returns details about a group of anomalous metrics.
1207//
1208// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1209// with awserr.Error's Code and Message methods to get detailed information about
1210// the error.
1211//
1212// See the AWS API reference guide for Amazon Lookout for Metrics's
1213// API operation GetAnomalyGroup for usage and error information.
1214//
1215// Returned Error Types:
1216//   * ResourceNotFoundException
1217//   The specified resource cannot be found. Check the ARN of the resource and
1218//   try again.
1219//
1220//   * ValidationException
1221//   The input fails to satisfy the constraints specified by the AWS service.
1222//   Check your input values and try again.
1223//
1224//   * InternalServerException
1225//   The request processing has failed because of an unknown error, exception,
1226//   or failure.
1227//
1228//   * AccessDeniedException
1229//   You do not have sufficient permissions to perform this action.
1230//
1231//   * TooManyRequestsException
1232//   The request was denied due to too many requests being submitted at the same
1233//   time.
1234//
1235// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/GetAnomalyGroup
1236func (c *LookoutMetrics) GetAnomalyGroup(input *GetAnomalyGroupInput) (*GetAnomalyGroupOutput, error) {
1237	req, out := c.GetAnomalyGroupRequest(input)
1238	return out, req.Send()
1239}
1240
1241// GetAnomalyGroupWithContext is the same as GetAnomalyGroup with the addition of
1242// the ability to pass a context and additional request options.
1243//
1244// See GetAnomalyGroup for details on how to use this API operation.
1245//
1246// The context must be non-nil and will be used for request cancellation. If
1247// the context is nil a panic will occur. In the future the SDK may create
1248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1249// for more information on using Contexts.
1250func (c *LookoutMetrics) GetAnomalyGroupWithContext(ctx aws.Context, input *GetAnomalyGroupInput, opts ...request.Option) (*GetAnomalyGroupOutput, error) {
1251	req, out := c.GetAnomalyGroupRequest(input)
1252	req.SetContext(ctx)
1253	req.ApplyOptions(opts...)
1254	return out, req.Send()
1255}
1256
1257const opGetFeedback = "GetFeedback"
1258
1259// GetFeedbackRequest generates a "aws/request.Request" representing the
1260// client's request for the GetFeedback operation. The "output" return
1261// value will be populated with the request's response once the request completes
1262// successfully.
1263//
1264// Use "Send" method on the returned Request to send the API call to the service.
1265// the "output" return value is not valid until after Send returns without error.
1266//
1267// See GetFeedback for more information on using the GetFeedback
1268// API call, and error handling.
1269//
1270// This method is useful when you want to inject custom logic or configuration
1271// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1272//
1273//
1274//    // Example sending a request using the GetFeedbackRequest method.
1275//    req, resp := client.GetFeedbackRequest(params)
1276//
1277//    err := req.Send()
1278//    if err == nil { // resp is now filled
1279//        fmt.Println(resp)
1280//    }
1281//
1282// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/GetFeedback
1283func (c *LookoutMetrics) GetFeedbackRequest(input *GetFeedbackInput) (req *request.Request, output *GetFeedbackOutput) {
1284	op := &request.Operation{
1285		Name:       opGetFeedback,
1286		HTTPMethod: "POST",
1287		HTTPPath:   "/GetFeedback",
1288		Paginator: &request.Paginator{
1289			InputTokens:     []string{"NextToken"},
1290			OutputTokens:    []string{"NextToken"},
1291			LimitToken:      "MaxResults",
1292			TruncationToken: "",
1293		},
1294	}
1295
1296	if input == nil {
1297		input = &GetFeedbackInput{}
1298	}
1299
1300	output = &GetFeedbackOutput{}
1301	req = c.newRequest(op, input, output)
1302	return
1303}
1304
1305// GetFeedback API operation for Amazon Lookout for Metrics.
1306//
1307// Get feedback for an anomaly group.
1308//
1309// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1310// with awserr.Error's Code and Message methods to get detailed information about
1311// the error.
1312//
1313// See the AWS API reference guide for Amazon Lookout for Metrics's
1314// API operation GetFeedback for usage and error information.
1315//
1316// Returned Error Types:
1317//   * ResourceNotFoundException
1318//   The specified resource cannot be found. Check the ARN of the resource and
1319//   try again.
1320//
1321//   * ValidationException
1322//   The input fails to satisfy the constraints specified by the AWS service.
1323//   Check your input values and try again.
1324//
1325//   * AccessDeniedException
1326//   You do not have sufficient permissions to perform this action.
1327//
1328//   * InternalServerException
1329//   The request processing has failed because of an unknown error, exception,
1330//   or failure.
1331//
1332//   * TooManyRequestsException
1333//   The request was denied due to too many requests being submitted at the same
1334//   time.
1335//
1336// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/GetFeedback
1337func (c *LookoutMetrics) GetFeedback(input *GetFeedbackInput) (*GetFeedbackOutput, error) {
1338	req, out := c.GetFeedbackRequest(input)
1339	return out, req.Send()
1340}
1341
1342// GetFeedbackWithContext is the same as GetFeedback with the addition of
1343// the ability to pass a context and additional request options.
1344//
1345// See GetFeedback for details on how to use this API operation.
1346//
1347// The context must be non-nil and will be used for request cancellation. If
1348// the context is nil a panic will occur. In the future the SDK may create
1349// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1350// for more information on using Contexts.
1351func (c *LookoutMetrics) GetFeedbackWithContext(ctx aws.Context, input *GetFeedbackInput, opts ...request.Option) (*GetFeedbackOutput, error) {
1352	req, out := c.GetFeedbackRequest(input)
1353	req.SetContext(ctx)
1354	req.ApplyOptions(opts...)
1355	return out, req.Send()
1356}
1357
1358// GetFeedbackPages iterates over the pages of a GetFeedback operation,
1359// calling the "fn" function with the response data for each page. To stop
1360// iterating, return false from the fn function.
1361//
1362// See GetFeedback method for more information on how to use this operation.
1363//
1364// Note: This operation can generate multiple requests to a service.
1365//
1366//    // Example iterating over at most 3 pages of a GetFeedback operation.
1367//    pageNum := 0
1368//    err := client.GetFeedbackPages(params,
1369//        func(page *lookoutmetrics.GetFeedbackOutput, lastPage bool) bool {
1370//            pageNum++
1371//            fmt.Println(page)
1372//            return pageNum <= 3
1373//        })
1374//
1375func (c *LookoutMetrics) GetFeedbackPages(input *GetFeedbackInput, fn func(*GetFeedbackOutput, bool) bool) error {
1376	return c.GetFeedbackPagesWithContext(aws.BackgroundContext(), input, fn)
1377}
1378
1379// GetFeedbackPagesWithContext same as GetFeedbackPages except
1380// it takes a Context and allows setting request options on the pages.
1381//
1382// The context must be non-nil and will be used for request cancellation. If
1383// the context is nil a panic will occur. In the future the SDK may create
1384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1385// for more information on using Contexts.
1386func (c *LookoutMetrics) GetFeedbackPagesWithContext(ctx aws.Context, input *GetFeedbackInput, fn func(*GetFeedbackOutput, bool) bool, opts ...request.Option) error {
1387	p := request.Pagination{
1388		NewRequest: func() (*request.Request, error) {
1389			var inCpy *GetFeedbackInput
1390			if input != nil {
1391				tmp := *input
1392				inCpy = &tmp
1393			}
1394			req, _ := c.GetFeedbackRequest(inCpy)
1395			req.SetContext(ctx)
1396			req.ApplyOptions(opts...)
1397			return req, nil
1398		},
1399	}
1400
1401	for p.Next() {
1402		if !fn(p.Page().(*GetFeedbackOutput), !p.HasNextPage()) {
1403			break
1404		}
1405	}
1406
1407	return p.Err()
1408}
1409
1410const opGetSampleData = "GetSampleData"
1411
1412// GetSampleDataRequest generates a "aws/request.Request" representing the
1413// client's request for the GetSampleData operation. The "output" return
1414// value will be populated with the request's response once the request completes
1415// successfully.
1416//
1417// Use "Send" method on the returned Request to send the API call to the service.
1418// the "output" return value is not valid until after Send returns without error.
1419//
1420// See GetSampleData for more information on using the GetSampleData
1421// API call, and error handling.
1422//
1423// This method is useful when you want to inject custom logic or configuration
1424// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1425//
1426//
1427//    // Example sending a request using the GetSampleDataRequest method.
1428//    req, resp := client.GetSampleDataRequest(params)
1429//
1430//    err := req.Send()
1431//    if err == nil { // resp is now filled
1432//        fmt.Println(resp)
1433//    }
1434//
1435// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/GetSampleData
1436func (c *LookoutMetrics) GetSampleDataRequest(input *GetSampleDataInput) (req *request.Request, output *GetSampleDataOutput) {
1437	op := &request.Operation{
1438		Name:       opGetSampleData,
1439		HTTPMethod: "POST",
1440		HTTPPath:   "/GetSampleData",
1441	}
1442
1443	if input == nil {
1444		input = &GetSampleDataInput{}
1445	}
1446
1447	output = &GetSampleDataOutput{}
1448	req = c.newRequest(op, input, output)
1449	return
1450}
1451
1452// GetSampleData API operation for Amazon Lookout for Metrics.
1453//
1454// Returns a selection of sample records from an Amazon S3 datasource.
1455//
1456// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1457// with awserr.Error's Code and Message methods to get detailed information about
1458// the error.
1459//
1460// See the AWS API reference guide for Amazon Lookout for Metrics's
1461// API operation GetSampleData for usage and error information.
1462//
1463// Returned Error Types:
1464//   * ValidationException
1465//   The input fails to satisfy the constraints specified by the AWS service.
1466//   Check your input values and try again.
1467//
1468//   * ResourceNotFoundException
1469//   The specified resource cannot be found. Check the ARN of the resource and
1470//   try again.
1471//
1472//   * AccessDeniedException
1473//   You do not have sufficient permissions to perform this action.
1474//
1475//   * TooManyRequestsException
1476//   The request was denied due to too many requests being submitted at the same
1477//   time.
1478//
1479//   * InternalServerException
1480//   The request processing has failed because of an unknown error, exception,
1481//   or failure.
1482//
1483// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/GetSampleData
1484func (c *LookoutMetrics) GetSampleData(input *GetSampleDataInput) (*GetSampleDataOutput, error) {
1485	req, out := c.GetSampleDataRequest(input)
1486	return out, req.Send()
1487}
1488
1489// GetSampleDataWithContext is the same as GetSampleData with the addition of
1490// the ability to pass a context and additional request options.
1491//
1492// See GetSampleData for details on how to use this API operation.
1493//
1494// The context must be non-nil and will be used for request cancellation. If
1495// the context is nil a panic will occur. In the future the SDK may create
1496// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1497// for more information on using Contexts.
1498func (c *LookoutMetrics) GetSampleDataWithContext(ctx aws.Context, input *GetSampleDataInput, opts ...request.Option) (*GetSampleDataOutput, error) {
1499	req, out := c.GetSampleDataRequest(input)
1500	req.SetContext(ctx)
1501	req.ApplyOptions(opts...)
1502	return out, req.Send()
1503}
1504
1505const opListAlerts = "ListAlerts"
1506
1507// ListAlertsRequest generates a "aws/request.Request" representing the
1508// client's request for the ListAlerts operation. The "output" return
1509// value will be populated with the request's response once the request completes
1510// successfully.
1511//
1512// Use "Send" method on the returned Request to send the API call to the service.
1513// the "output" return value is not valid until after Send returns without error.
1514//
1515// See ListAlerts for more information on using the ListAlerts
1516// API call, and error handling.
1517//
1518// This method is useful when you want to inject custom logic or configuration
1519// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1520//
1521//
1522//    // Example sending a request using the ListAlertsRequest method.
1523//    req, resp := client.ListAlertsRequest(params)
1524//
1525//    err := req.Send()
1526//    if err == nil { // resp is now filled
1527//        fmt.Println(resp)
1528//    }
1529//
1530// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListAlerts
1531func (c *LookoutMetrics) ListAlertsRequest(input *ListAlertsInput) (req *request.Request, output *ListAlertsOutput) {
1532	op := &request.Operation{
1533		Name:       opListAlerts,
1534		HTTPMethod: "POST",
1535		HTTPPath:   "/ListAlerts",
1536		Paginator: &request.Paginator{
1537			InputTokens:     []string{"NextToken"},
1538			OutputTokens:    []string{"NextToken"},
1539			LimitToken:      "MaxResults",
1540			TruncationToken: "",
1541		},
1542	}
1543
1544	if input == nil {
1545		input = &ListAlertsInput{}
1546	}
1547
1548	output = &ListAlertsOutput{}
1549	req = c.newRequest(op, input, output)
1550	return
1551}
1552
1553// ListAlerts API operation for Amazon Lookout for Metrics.
1554//
1555// Lists the alerts attached to a detector.
1556//
1557// Amazon Lookout for Metrics API actions are eventually consistent. If you
1558// do a read operation on a resource immediately after creating or modifying
1559// it, use retries to allow time for the write operation to complete.
1560//
1561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1562// with awserr.Error's Code and Message methods to get detailed information about
1563// the error.
1564//
1565// See the AWS API reference guide for Amazon Lookout for Metrics's
1566// API operation ListAlerts for usage and error information.
1567//
1568// Returned Error Types:
1569//   * ResourceNotFoundException
1570//   The specified resource cannot be found. Check the ARN of the resource and
1571//   try again.
1572//
1573//   * AccessDeniedException
1574//   You do not have sufficient permissions to perform this action.
1575//
1576//   * InternalServerException
1577//   The request processing has failed because of an unknown error, exception,
1578//   or failure.
1579//
1580//   * TooManyRequestsException
1581//   The request was denied due to too many requests being submitted at the same
1582//   time.
1583//
1584//   * ValidationException
1585//   The input fails to satisfy the constraints specified by the AWS service.
1586//   Check your input values and try again.
1587//
1588// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListAlerts
1589func (c *LookoutMetrics) ListAlerts(input *ListAlertsInput) (*ListAlertsOutput, error) {
1590	req, out := c.ListAlertsRequest(input)
1591	return out, req.Send()
1592}
1593
1594// ListAlertsWithContext is the same as ListAlerts with the addition of
1595// the ability to pass a context and additional request options.
1596//
1597// See ListAlerts for details on how to use this API operation.
1598//
1599// The context must be non-nil and will be used for request cancellation. If
1600// the context is nil a panic will occur. In the future the SDK may create
1601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1602// for more information on using Contexts.
1603func (c *LookoutMetrics) ListAlertsWithContext(ctx aws.Context, input *ListAlertsInput, opts ...request.Option) (*ListAlertsOutput, error) {
1604	req, out := c.ListAlertsRequest(input)
1605	req.SetContext(ctx)
1606	req.ApplyOptions(opts...)
1607	return out, req.Send()
1608}
1609
1610// ListAlertsPages iterates over the pages of a ListAlerts operation,
1611// calling the "fn" function with the response data for each page. To stop
1612// iterating, return false from the fn function.
1613//
1614// See ListAlerts method for more information on how to use this operation.
1615//
1616// Note: This operation can generate multiple requests to a service.
1617//
1618//    // Example iterating over at most 3 pages of a ListAlerts operation.
1619//    pageNum := 0
1620//    err := client.ListAlertsPages(params,
1621//        func(page *lookoutmetrics.ListAlertsOutput, lastPage bool) bool {
1622//            pageNum++
1623//            fmt.Println(page)
1624//            return pageNum <= 3
1625//        })
1626//
1627func (c *LookoutMetrics) ListAlertsPages(input *ListAlertsInput, fn func(*ListAlertsOutput, bool) bool) error {
1628	return c.ListAlertsPagesWithContext(aws.BackgroundContext(), input, fn)
1629}
1630
1631// ListAlertsPagesWithContext same as ListAlertsPages except
1632// it takes a Context and allows setting request options on the pages.
1633//
1634// The context must be non-nil and will be used for request cancellation. If
1635// the context is nil a panic will occur. In the future the SDK may create
1636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1637// for more information on using Contexts.
1638func (c *LookoutMetrics) ListAlertsPagesWithContext(ctx aws.Context, input *ListAlertsInput, fn func(*ListAlertsOutput, bool) bool, opts ...request.Option) error {
1639	p := request.Pagination{
1640		NewRequest: func() (*request.Request, error) {
1641			var inCpy *ListAlertsInput
1642			if input != nil {
1643				tmp := *input
1644				inCpy = &tmp
1645			}
1646			req, _ := c.ListAlertsRequest(inCpy)
1647			req.SetContext(ctx)
1648			req.ApplyOptions(opts...)
1649			return req, nil
1650		},
1651	}
1652
1653	for p.Next() {
1654		if !fn(p.Page().(*ListAlertsOutput), !p.HasNextPage()) {
1655			break
1656		}
1657	}
1658
1659	return p.Err()
1660}
1661
1662const opListAnomalyDetectors = "ListAnomalyDetectors"
1663
1664// ListAnomalyDetectorsRequest generates a "aws/request.Request" representing the
1665// client's request for the ListAnomalyDetectors operation. The "output" return
1666// value will be populated with the request's response once the request completes
1667// successfully.
1668//
1669// Use "Send" method on the returned Request to send the API call to the service.
1670// the "output" return value is not valid until after Send returns without error.
1671//
1672// See ListAnomalyDetectors for more information on using the ListAnomalyDetectors
1673// API call, and error handling.
1674//
1675// This method is useful when you want to inject custom logic or configuration
1676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1677//
1678//
1679//    // Example sending a request using the ListAnomalyDetectorsRequest method.
1680//    req, resp := client.ListAnomalyDetectorsRequest(params)
1681//
1682//    err := req.Send()
1683//    if err == nil { // resp is now filled
1684//        fmt.Println(resp)
1685//    }
1686//
1687// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListAnomalyDetectors
1688func (c *LookoutMetrics) ListAnomalyDetectorsRequest(input *ListAnomalyDetectorsInput) (req *request.Request, output *ListAnomalyDetectorsOutput) {
1689	op := &request.Operation{
1690		Name:       opListAnomalyDetectors,
1691		HTTPMethod: "POST",
1692		HTTPPath:   "/ListAnomalyDetectors",
1693		Paginator: &request.Paginator{
1694			InputTokens:     []string{"NextToken"},
1695			OutputTokens:    []string{"NextToken"},
1696			LimitToken:      "MaxResults",
1697			TruncationToken: "",
1698		},
1699	}
1700
1701	if input == nil {
1702		input = &ListAnomalyDetectorsInput{}
1703	}
1704
1705	output = &ListAnomalyDetectorsOutput{}
1706	req = c.newRequest(op, input, output)
1707	return
1708}
1709
1710// ListAnomalyDetectors API operation for Amazon Lookout for Metrics.
1711//
1712// Lists the detectors in the current AWS Region.
1713//
1714// Amazon Lookout for Metrics API actions are eventually consistent. If you
1715// do a read operation on a resource immediately after creating or modifying
1716// it, use retries to allow time for the write operation to complete.
1717//
1718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1719// with awserr.Error's Code and Message methods to get detailed information about
1720// the error.
1721//
1722// See the AWS API reference guide for Amazon Lookout for Metrics's
1723// API operation ListAnomalyDetectors for usage and error information.
1724//
1725// Returned Error Types:
1726//   * ResourceNotFoundException
1727//   The specified resource cannot be found. Check the ARN of the resource and
1728//   try again.
1729//
1730//   * ValidationException
1731//   The input fails to satisfy the constraints specified by the AWS service.
1732//   Check your input values and try again.
1733//
1734//   * AccessDeniedException
1735//   You do not have sufficient permissions to perform this action.
1736//
1737//   * TooManyRequestsException
1738//   The request was denied due to too many requests being submitted at the same
1739//   time.
1740//
1741//   * InternalServerException
1742//   The request processing has failed because of an unknown error, exception,
1743//   or failure.
1744//
1745// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListAnomalyDetectors
1746func (c *LookoutMetrics) ListAnomalyDetectors(input *ListAnomalyDetectorsInput) (*ListAnomalyDetectorsOutput, error) {
1747	req, out := c.ListAnomalyDetectorsRequest(input)
1748	return out, req.Send()
1749}
1750
1751// ListAnomalyDetectorsWithContext is the same as ListAnomalyDetectors with the addition of
1752// the ability to pass a context and additional request options.
1753//
1754// See ListAnomalyDetectors for details on how to use this API operation.
1755//
1756// The context must be non-nil and will be used for request cancellation. If
1757// the context is nil a panic will occur. In the future the SDK may create
1758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1759// for more information on using Contexts.
1760func (c *LookoutMetrics) ListAnomalyDetectorsWithContext(ctx aws.Context, input *ListAnomalyDetectorsInput, opts ...request.Option) (*ListAnomalyDetectorsOutput, error) {
1761	req, out := c.ListAnomalyDetectorsRequest(input)
1762	req.SetContext(ctx)
1763	req.ApplyOptions(opts...)
1764	return out, req.Send()
1765}
1766
1767// ListAnomalyDetectorsPages iterates over the pages of a ListAnomalyDetectors operation,
1768// calling the "fn" function with the response data for each page. To stop
1769// iterating, return false from the fn function.
1770//
1771// See ListAnomalyDetectors method for more information on how to use this operation.
1772//
1773// Note: This operation can generate multiple requests to a service.
1774//
1775//    // Example iterating over at most 3 pages of a ListAnomalyDetectors operation.
1776//    pageNum := 0
1777//    err := client.ListAnomalyDetectorsPages(params,
1778//        func(page *lookoutmetrics.ListAnomalyDetectorsOutput, lastPage bool) bool {
1779//            pageNum++
1780//            fmt.Println(page)
1781//            return pageNum <= 3
1782//        })
1783//
1784func (c *LookoutMetrics) ListAnomalyDetectorsPages(input *ListAnomalyDetectorsInput, fn func(*ListAnomalyDetectorsOutput, bool) bool) error {
1785	return c.ListAnomalyDetectorsPagesWithContext(aws.BackgroundContext(), input, fn)
1786}
1787
1788// ListAnomalyDetectorsPagesWithContext same as ListAnomalyDetectorsPages except
1789// it takes a Context and allows setting request options on the pages.
1790//
1791// The context must be non-nil and will be used for request cancellation. If
1792// the context is nil a panic will occur. In the future the SDK may create
1793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1794// for more information on using Contexts.
1795func (c *LookoutMetrics) ListAnomalyDetectorsPagesWithContext(ctx aws.Context, input *ListAnomalyDetectorsInput, fn func(*ListAnomalyDetectorsOutput, bool) bool, opts ...request.Option) error {
1796	p := request.Pagination{
1797		NewRequest: func() (*request.Request, error) {
1798			var inCpy *ListAnomalyDetectorsInput
1799			if input != nil {
1800				tmp := *input
1801				inCpy = &tmp
1802			}
1803			req, _ := c.ListAnomalyDetectorsRequest(inCpy)
1804			req.SetContext(ctx)
1805			req.ApplyOptions(opts...)
1806			return req, nil
1807		},
1808	}
1809
1810	for p.Next() {
1811		if !fn(p.Page().(*ListAnomalyDetectorsOutput), !p.HasNextPage()) {
1812			break
1813		}
1814	}
1815
1816	return p.Err()
1817}
1818
1819const opListAnomalyGroupSummaries = "ListAnomalyGroupSummaries"
1820
1821// ListAnomalyGroupSummariesRequest generates a "aws/request.Request" representing the
1822// client's request for the ListAnomalyGroupSummaries operation. The "output" return
1823// value will be populated with the request's response once the request completes
1824// successfully.
1825//
1826// Use "Send" method on the returned Request to send the API call to the service.
1827// the "output" return value is not valid until after Send returns without error.
1828//
1829// See ListAnomalyGroupSummaries for more information on using the ListAnomalyGroupSummaries
1830// API call, and error handling.
1831//
1832// This method is useful when you want to inject custom logic or configuration
1833// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1834//
1835//
1836//    // Example sending a request using the ListAnomalyGroupSummariesRequest method.
1837//    req, resp := client.ListAnomalyGroupSummariesRequest(params)
1838//
1839//    err := req.Send()
1840//    if err == nil { // resp is now filled
1841//        fmt.Println(resp)
1842//    }
1843//
1844// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListAnomalyGroupSummaries
1845func (c *LookoutMetrics) ListAnomalyGroupSummariesRequest(input *ListAnomalyGroupSummariesInput) (req *request.Request, output *ListAnomalyGroupSummariesOutput) {
1846	op := &request.Operation{
1847		Name:       opListAnomalyGroupSummaries,
1848		HTTPMethod: "POST",
1849		HTTPPath:   "/ListAnomalyGroupSummaries",
1850		Paginator: &request.Paginator{
1851			InputTokens:     []string{"NextToken"},
1852			OutputTokens:    []string{"NextToken"},
1853			LimitToken:      "MaxResults",
1854			TruncationToken: "",
1855		},
1856	}
1857
1858	if input == nil {
1859		input = &ListAnomalyGroupSummariesInput{}
1860	}
1861
1862	output = &ListAnomalyGroupSummariesOutput{}
1863	req = c.newRequest(op, input, output)
1864	return
1865}
1866
1867// ListAnomalyGroupSummaries API operation for Amazon Lookout for Metrics.
1868//
1869// Returns a list of anomaly groups.
1870//
1871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1872// with awserr.Error's Code and Message methods to get detailed information about
1873// the error.
1874//
1875// See the AWS API reference guide for Amazon Lookout for Metrics's
1876// API operation ListAnomalyGroupSummaries for usage and error information.
1877//
1878// Returned Error Types:
1879//   * ResourceNotFoundException
1880//   The specified resource cannot be found. Check the ARN of the resource and
1881//   try again.
1882//
1883//   * ValidationException
1884//   The input fails to satisfy the constraints specified by the AWS service.
1885//   Check your input values and try again.
1886//
1887//   * InternalServerException
1888//   The request processing has failed because of an unknown error, exception,
1889//   or failure.
1890//
1891//   * AccessDeniedException
1892//   You do not have sufficient permissions to perform this action.
1893//
1894//   * TooManyRequestsException
1895//   The request was denied due to too many requests being submitted at the same
1896//   time.
1897//
1898// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListAnomalyGroupSummaries
1899func (c *LookoutMetrics) ListAnomalyGroupSummaries(input *ListAnomalyGroupSummariesInput) (*ListAnomalyGroupSummariesOutput, error) {
1900	req, out := c.ListAnomalyGroupSummariesRequest(input)
1901	return out, req.Send()
1902}
1903
1904// ListAnomalyGroupSummariesWithContext is the same as ListAnomalyGroupSummaries with the addition of
1905// the ability to pass a context and additional request options.
1906//
1907// See ListAnomalyGroupSummaries for details on how to use this API operation.
1908//
1909// The context must be non-nil and will be used for request cancellation. If
1910// the context is nil a panic will occur. In the future the SDK may create
1911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1912// for more information on using Contexts.
1913func (c *LookoutMetrics) ListAnomalyGroupSummariesWithContext(ctx aws.Context, input *ListAnomalyGroupSummariesInput, opts ...request.Option) (*ListAnomalyGroupSummariesOutput, error) {
1914	req, out := c.ListAnomalyGroupSummariesRequest(input)
1915	req.SetContext(ctx)
1916	req.ApplyOptions(opts...)
1917	return out, req.Send()
1918}
1919
1920// ListAnomalyGroupSummariesPages iterates over the pages of a ListAnomalyGroupSummaries operation,
1921// calling the "fn" function with the response data for each page. To stop
1922// iterating, return false from the fn function.
1923//
1924// See ListAnomalyGroupSummaries method for more information on how to use this operation.
1925//
1926// Note: This operation can generate multiple requests to a service.
1927//
1928//    // Example iterating over at most 3 pages of a ListAnomalyGroupSummaries operation.
1929//    pageNum := 0
1930//    err := client.ListAnomalyGroupSummariesPages(params,
1931//        func(page *lookoutmetrics.ListAnomalyGroupSummariesOutput, lastPage bool) bool {
1932//            pageNum++
1933//            fmt.Println(page)
1934//            return pageNum <= 3
1935//        })
1936//
1937func (c *LookoutMetrics) ListAnomalyGroupSummariesPages(input *ListAnomalyGroupSummariesInput, fn func(*ListAnomalyGroupSummariesOutput, bool) bool) error {
1938	return c.ListAnomalyGroupSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
1939}
1940
1941// ListAnomalyGroupSummariesPagesWithContext same as ListAnomalyGroupSummariesPages except
1942// it takes a Context and allows setting request options on the pages.
1943//
1944// The context must be non-nil and will be used for request cancellation. If
1945// the context is nil a panic will occur. In the future the SDK may create
1946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1947// for more information on using Contexts.
1948func (c *LookoutMetrics) ListAnomalyGroupSummariesPagesWithContext(ctx aws.Context, input *ListAnomalyGroupSummariesInput, fn func(*ListAnomalyGroupSummariesOutput, bool) bool, opts ...request.Option) error {
1949	p := request.Pagination{
1950		NewRequest: func() (*request.Request, error) {
1951			var inCpy *ListAnomalyGroupSummariesInput
1952			if input != nil {
1953				tmp := *input
1954				inCpy = &tmp
1955			}
1956			req, _ := c.ListAnomalyGroupSummariesRequest(inCpy)
1957			req.SetContext(ctx)
1958			req.ApplyOptions(opts...)
1959			return req, nil
1960		},
1961	}
1962
1963	for p.Next() {
1964		if !fn(p.Page().(*ListAnomalyGroupSummariesOutput), !p.HasNextPage()) {
1965			break
1966		}
1967	}
1968
1969	return p.Err()
1970}
1971
1972const opListAnomalyGroupTimeSeries = "ListAnomalyGroupTimeSeries"
1973
1974// ListAnomalyGroupTimeSeriesRequest generates a "aws/request.Request" representing the
1975// client's request for the ListAnomalyGroupTimeSeries operation. The "output" return
1976// value will be populated with the request's response once the request completes
1977// successfully.
1978//
1979// Use "Send" method on the returned Request to send the API call to the service.
1980// the "output" return value is not valid until after Send returns without error.
1981//
1982// See ListAnomalyGroupTimeSeries for more information on using the ListAnomalyGroupTimeSeries
1983// API call, and error handling.
1984//
1985// This method is useful when you want to inject custom logic or configuration
1986// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1987//
1988//
1989//    // Example sending a request using the ListAnomalyGroupTimeSeriesRequest method.
1990//    req, resp := client.ListAnomalyGroupTimeSeriesRequest(params)
1991//
1992//    err := req.Send()
1993//    if err == nil { // resp is now filled
1994//        fmt.Println(resp)
1995//    }
1996//
1997// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListAnomalyGroupTimeSeries
1998func (c *LookoutMetrics) ListAnomalyGroupTimeSeriesRequest(input *ListAnomalyGroupTimeSeriesInput) (req *request.Request, output *ListAnomalyGroupTimeSeriesOutput) {
1999	op := &request.Operation{
2000		Name:       opListAnomalyGroupTimeSeries,
2001		HTTPMethod: "POST",
2002		HTTPPath:   "/ListAnomalyGroupTimeSeries",
2003		Paginator: &request.Paginator{
2004			InputTokens:     []string{"NextToken"},
2005			OutputTokens:    []string{"NextToken"},
2006			LimitToken:      "MaxResults",
2007			TruncationToken: "",
2008		},
2009	}
2010
2011	if input == nil {
2012		input = &ListAnomalyGroupTimeSeriesInput{}
2013	}
2014
2015	output = &ListAnomalyGroupTimeSeriesOutput{}
2016	req = c.newRequest(op, input, output)
2017	return
2018}
2019
2020// ListAnomalyGroupTimeSeries API operation for Amazon Lookout for Metrics.
2021//
2022// Gets a list of anomalous metrics for a measure in an anomaly group.
2023//
2024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2025// with awserr.Error's Code and Message methods to get detailed information about
2026// the error.
2027//
2028// See the AWS API reference guide for Amazon Lookout for Metrics's
2029// API operation ListAnomalyGroupTimeSeries for usage and error information.
2030//
2031// Returned Error Types:
2032//   * InternalServerException
2033//   The request processing has failed because of an unknown error, exception,
2034//   or failure.
2035//
2036//   * AccessDeniedException
2037//   You do not have sufficient permissions to perform this action.
2038//
2039//   * ValidationException
2040//   The input fails to satisfy the constraints specified by the AWS service.
2041//   Check your input values and try again.
2042//
2043//   * ResourceNotFoundException
2044//   The specified resource cannot be found. Check the ARN of the resource and
2045//   try again.
2046//
2047//   * TooManyRequestsException
2048//   The request was denied due to too many requests being submitted at the same
2049//   time.
2050//
2051// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListAnomalyGroupTimeSeries
2052func (c *LookoutMetrics) ListAnomalyGroupTimeSeries(input *ListAnomalyGroupTimeSeriesInput) (*ListAnomalyGroupTimeSeriesOutput, error) {
2053	req, out := c.ListAnomalyGroupTimeSeriesRequest(input)
2054	return out, req.Send()
2055}
2056
2057// ListAnomalyGroupTimeSeriesWithContext is the same as ListAnomalyGroupTimeSeries with the addition of
2058// the ability to pass a context and additional request options.
2059//
2060// See ListAnomalyGroupTimeSeries for details on how to use this API operation.
2061//
2062// The context must be non-nil and will be used for request cancellation. If
2063// the context is nil a panic will occur. In the future the SDK may create
2064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2065// for more information on using Contexts.
2066func (c *LookoutMetrics) ListAnomalyGroupTimeSeriesWithContext(ctx aws.Context, input *ListAnomalyGroupTimeSeriesInput, opts ...request.Option) (*ListAnomalyGroupTimeSeriesOutput, error) {
2067	req, out := c.ListAnomalyGroupTimeSeriesRequest(input)
2068	req.SetContext(ctx)
2069	req.ApplyOptions(opts...)
2070	return out, req.Send()
2071}
2072
2073// ListAnomalyGroupTimeSeriesPages iterates over the pages of a ListAnomalyGroupTimeSeries operation,
2074// calling the "fn" function with the response data for each page. To stop
2075// iterating, return false from the fn function.
2076//
2077// See ListAnomalyGroupTimeSeries method for more information on how to use this operation.
2078//
2079// Note: This operation can generate multiple requests to a service.
2080//
2081//    // Example iterating over at most 3 pages of a ListAnomalyGroupTimeSeries operation.
2082//    pageNum := 0
2083//    err := client.ListAnomalyGroupTimeSeriesPages(params,
2084//        func(page *lookoutmetrics.ListAnomalyGroupTimeSeriesOutput, lastPage bool) bool {
2085//            pageNum++
2086//            fmt.Println(page)
2087//            return pageNum <= 3
2088//        })
2089//
2090func (c *LookoutMetrics) ListAnomalyGroupTimeSeriesPages(input *ListAnomalyGroupTimeSeriesInput, fn func(*ListAnomalyGroupTimeSeriesOutput, bool) bool) error {
2091	return c.ListAnomalyGroupTimeSeriesPagesWithContext(aws.BackgroundContext(), input, fn)
2092}
2093
2094// ListAnomalyGroupTimeSeriesPagesWithContext same as ListAnomalyGroupTimeSeriesPages except
2095// it takes a Context and allows setting request options on the pages.
2096//
2097// The context must be non-nil and will be used for request cancellation. If
2098// the context is nil a panic will occur. In the future the SDK may create
2099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2100// for more information on using Contexts.
2101func (c *LookoutMetrics) ListAnomalyGroupTimeSeriesPagesWithContext(ctx aws.Context, input *ListAnomalyGroupTimeSeriesInput, fn func(*ListAnomalyGroupTimeSeriesOutput, bool) bool, opts ...request.Option) error {
2102	p := request.Pagination{
2103		NewRequest: func() (*request.Request, error) {
2104			var inCpy *ListAnomalyGroupTimeSeriesInput
2105			if input != nil {
2106				tmp := *input
2107				inCpy = &tmp
2108			}
2109			req, _ := c.ListAnomalyGroupTimeSeriesRequest(inCpy)
2110			req.SetContext(ctx)
2111			req.ApplyOptions(opts...)
2112			return req, nil
2113		},
2114	}
2115
2116	for p.Next() {
2117		if !fn(p.Page().(*ListAnomalyGroupTimeSeriesOutput), !p.HasNextPage()) {
2118			break
2119		}
2120	}
2121
2122	return p.Err()
2123}
2124
2125const opListMetricSets = "ListMetricSets"
2126
2127// ListMetricSetsRequest generates a "aws/request.Request" representing the
2128// client's request for the ListMetricSets operation. The "output" return
2129// value will be populated with the request's response once the request completes
2130// successfully.
2131//
2132// Use "Send" method on the returned Request to send the API call to the service.
2133// the "output" return value is not valid until after Send returns without error.
2134//
2135// See ListMetricSets for more information on using the ListMetricSets
2136// API call, and error handling.
2137//
2138// This method is useful when you want to inject custom logic or configuration
2139// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2140//
2141//
2142//    // Example sending a request using the ListMetricSetsRequest method.
2143//    req, resp := client.ListMetricSetsRequest(params)
2144//
2145//    err := req.Send()
2146//    if err == nil { // resp is now filled
2147//        fmt.Println(resp)
2148//    }
2149//
2150// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListMetricSets
2151func (c *LookoutMetrics) ListMetricSetsRequest(input *ListMetricSetsInput) (req *request.Request, output *ListMetricSetsOutput) {
2152	op := &request.Operation{
2153		Name:       opListMetricSets,
2154		HTTPMethod: "POST",
2155		HTTPPath:   "/ListMetricSets",
2156		Paginator: &request.Paginator{
2157			InputTokens:     []string{"NextToken"},
2158			OutputTokens:    []string{"NextToken"},
2159			LimitToken:      "MaxResults",
2160			TruncationToken: "",
2161		},
2162	}
2163
2164	if input == nil {
2165		input = &ListMetricSetsInput{}
2166	}
2167
2168	output = &ListMetricSetsOutput{}
2169	req = c.newRequest(op, input, output)
2170	return
2171}
2172
2173// ListMetricSets API operation for Amazon Lookout for Metrics.
2174//
2175// Lists the datasets in the current AWS Region.
2176//
2177// Amazon Lookout for Metrics API actions are eventually consistent. If you
2178// do a read operation on a resource immediately after creating or modifying
2179// it, use retries to allow time for the write operation to complete.
2180//
2181// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2182// with awserr.Error's Code and Message methods to get detailed information about
2183// the error.
2184//
2185// See the AWS API reference guide for Amazon Lookout for Metrics's
2186// API operation ListMetricSets for usage and error information.
2187//
2188// Returned Error Types:
2189//   * ResourceNotFoundException
2190//   The specified resource cannot be found. Check the ARN of the resource and
2191//   try again.
2192//
2193//   * ValidationException
2194//   The input fails to satisfy the constraints specified by the AWS service.
2195//   Check your input values and try again.
2196//
2197//   * AccessDeniedException
2198//   You do not have sufficient permissions to perform this action.
2199//
2200//   * TooManyRequestsException
2201//   The request was denied due to too many requests being submitted at the same
2202//   time.
2203//
2204//   * InternalServerException
2205//   The request processing has failed because of an unknown error, exception,
2206//   or failure.
2207//
2208// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListMetricSets
2209func (c *LookoutMetrics) ListMetricSets(input *ListMetricSetsInput) (*ListMetricSetsOutput, error) {
2210	req, out := c.ListMetricSetsRequest(input)
2211	return out, req.Send()
2212}
2213
2214// ListMetricSetsWithContext is the same as ListMetricSets with the addition of
2215// the ability to pass a context and additional request options.
2216//
2217// See ListMetricSets for details on how to use this API operation.
2218//
2219// The context must be non-nil and will be used for request cancellation. If
2220// the context is nil a panic will occur. In the future the SDK may create
2221// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2222// for more information on using Contexts.
2223func (c *LookoutMetrics) ListMetricSetsWithContext(ctx aws.Context, input *ListMetricSetsInput, opts ...request.Option) (*ListMetricSetsOutput, error) {
2224	req, out := c.ListMetricSetsRequest(input)
2225	req.SetContext(ctx)
2226	req.ApplyOptions(opts...)
2227	return out, req.Send()
2228}
2229
2230// ListMetricSetsPages iterates over the pages of a ListMetricSets operation,
2231// calling the "fn" function with the response data for each page. To stop
2232// iterating, return false from the fn function.
2233//
2234// See ListMetricSets method for more information on how to use this operation.
2235//
2236// Note: This operation can generate multiple requests to a service.
2237//
2238//    // Example iterating over at most 3 pages of a ListMetricSets operation.
2239//    pageNum := 0
2240//    err := client.ListMetricSetsPages(params,
2241//        func(page *lookoutmetrics.ListMetricSetsOutput, lastPage bool) bool {
2242//            pageNum++
2243//            fmt.Println(page)
2244//            return pageNum <= 3
2245//        })
2246//
2247func (c *LookoutMetrics) ListMetricSetsPages(input *ListMetricSetsInput, fn func(*ListMetricSetsOutput, bool) bool) error {
2248	return c.ListMetricSetsPagesWithContext(aws.BackgroundContext(), input, fn)
2249}
2250
2251// ListMetricSetsPagesWithContext same as ListMetricSetsPages except
2252// it takes a Context and allows setting request options on the pages.
2253//
2254// The context must be non-nil and will be used for request cancellation. If
2255// the context is nil a panic will occur. In the future the SDK may create
2256// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2257// for more information on using Contexts.
2258func (c *LookoutMetrics) ListMetricSetsPagesWithContext(ctx aws.Context, input *ListMetricSetsInput, fn func(*ListMetricSetsOutput, bool) bool, opts ...request.Option) error {
2259	p := request.Pagination{
2260		NewRequest: func() (*request.Request, error) {
2261			var inCpy *ListMetricSetsInput
2262			if input != nil {
2263				tmp := *input
2264				inCpy = &tmp
2265			}
2266			req, _ := c.ListMetricSetsRequest(inCpy)
2267			req.SetContext(ctx)
2268			req.ApplyOptions(opts...)
2269			return req, nil
2270		},
2271	}
2272
2273	for p.Next() {
2274		if !fn(p.Page().(*ListMetricSetsOutput), !p.HasNextPage()) {
2275			break
2276		}
2277	}
2278
2279	return p.Err()
2280}
2281
2282const opListTagsForResource = "ListTagsForResource"
2283
2284// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2285// client's request for the ListTagsForResource operation. The "output" return
2286// value will be populated with the request's response once the request completes
2287// successfully.
2288//
2289// Use "Send" method on the returned Request to send the API call to the service.
2290// the "output" return value is not valid until after Send returns without error.
2291//
2292// See ListTagsForResource for more information on using the ListTagsForResource
2293// API call, and error handling.
2294//
2295// This method is useful when you want to inject custom logic or configuration
2296// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2297//
2298//
2299//    // Example sending a request using the ListTagsForResourceRequest method.
2300//    req, resp := client.ListTagsForResourceRequest(params)
2301//
2302//    err := req.Send()
2303//    if err == nil { // resp is now filled
2304//        fmt.Println(resp)
2305//    }
2306//
2307// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListTagsForResource
2308func (c *LookoutMetrics) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2309	op := &request.Operation{
2310		Name:       opListTagsForResource,
2311		HTTPMethod: "GET",
2312		HTTPPath:   "/tags/{resourceArn}",
2313	}
2314
2315	if input == nil {
2316		input = &ListTagsForResourceInput{}
2317	}
2318
2319	output = &ListTagsForResourceOutput{}
2320	req = c.newRequest(op, input, output)
2321	return
2322}
2323
2324// ListTagsForResource API operation for Amazon Lookout for Metrics.
2325//
2326// Gets a list of tags (https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html)
2327// for a detector, dataset, or alert.
2328//
2329// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2330// with awserr.Error's Code and Message methods to get detailed information about
2331// the error.
2332//
2333// See the AWS API reference guide for Amazon Lookout for Metrics's
2334// API operation ListTagsForResource for usage and error information.
2335//
2336// Returned Error Types:
2337//   * InternalServerException
2338//   The request processing has failed because of an unknown error, exception,
2339//   or failure.
2340//
2341//   * ValidationException
2342//   The input fails to satisfy the constraints specified by the AWS service.
2343//   Check your input values and try again.
2344//
2345//   * ResourceNotFoundException
2346//   The specified resource cannot be found. Check the ARN of the resource and
2347//   try again.
2348//
2349// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/ListTagsForResource
2350func (c *LookoutMetrics) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2351	req, out := c.ListTagsForResourceRequest(input)
2352	return out, req.Send()
2353}
2354
2355// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2356// the ability to pass a context and additional request options.
2357//
2358// See ListTagsForResource for details on how to use this API operation.
2359//
2360// The context must be non-nil and will be used for request cancellation. If
2361// the context is nil a panic will occur. In the future the SDK may create
2362// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2363// for more information on using Contexts.
2364func (c *LookoutMetrics) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2365	req, out := c.ListTagsForResourceRequest(input)
2366	req.SetContext(ctx)
2367	req.ApplyOptions(opts...)
2368	return out, req.Send()
2369}
2370
2371const opPutFeedback = "PutFeedback"
2372
2373// PutFeedbackRequest generates a "aws/request.Request" representing the
2374// client's request for the PutFeedback operation. The "output" return
2375// value will be populated with the request's response once the request completes
2376// successfully.
2377//
2378// Use "Send" method on the returned Request to send the API call to the service.
2379// the "output" return value is not valid until after Send returns without error.
2380//
2381// See PutFeedback for more information on using the PutFeedback
2382// API call, and error handling.
2383//
2384// This method is useful when you want to inject custom logic or configuration
2385// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2386//
2387//
2388//    // Example sending a request using the PutFeedbackRequest method.
2389//    req, resp := client.PutFeedbackRequest(params)
2390//
2391//    err := req.Send()
2392//    if err == nil { // resp is now filled
2393//        fmt.Println(resp)
2394//    }
2395//
2396// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/PutFeedback
2397func (c *LookoutMetrics) PutFeedbackRequest(input *PutFeedbackInput) (req *request.Request, output *PutFeedbackOutput) {
2398	op := &request.Operation{
2399		Name:       opPutFeedback,
2400		HTTPMethod: "POST",
2401		HTTPPath:   "/PutFeedback",
2402	}
2403
2404	if input == nil {
2405		input = &PutFeedbackInput{}
2406	}
2407
2408	output = &PutFeedbackOutput{}
2409	req = c.newRequest(op, input, output)
2410	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2411	return
2412}
2413
2414// PutFeedback API operation for Amazon Lookout for Metrics.
2415//
2416// Add feedback for an anomalous metric.
2417//
2418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2419// with awserr.Error's Code and Message methods to get detailed information about
2420// the error.
2421//
2422// See the AWS API reference guide for Amazon Lookout for Metrics's
2423// API operation PutFeedback for usage and error information.
2424//
2425// Returned Error Types:
2426//   * ResourceNotFoundException
2427//   The specified resource cannot be found. Check the ARN of the resource and
2428//   try again.
2429//
2430//   * ValidationException
2431//   The input fails to satisfy the constraints specified by the AWS service.
2432//   Check your input values and try again.
2433//
2434//   * AccessDeniedException
2435//   You do not have sufficient permissions to perform this action.
2436//
2437//   * InternalServerException
2438//   The request processing has failed because of an unknown error, exception,
2439//   or failure.
2440//
2441//   * TooManyRequestsException
2442//   The request was denied due to too many requests being submitted at the same
2443//   time.
2444//
2445// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/PutFeedback
2446func (c *LookoutMetrics) PutFeedback(input *PutFeedbackInput) (*PutFeedbackOutput, error) {
2447	req, out := c.PutFeedbackRequest(input)
2448	return out, req.Send()
2449}
2450
2451// PutFeedbackWithContext is the same as PutFeedback with the addition of
2452// the ability to pass a context and additional request options.
2453//
2454// See PutFeedback for details on how to use this API operation.
2455//
2456// The context must be non-nil and will be used for request cancellation. If
2457// the context is nil a panic will occur. In the future the SDK may create
2458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2459// for more information on using Contexts.
2460func (c *LookoutMetrics) PutFeedbackWithContext(ctx aws.Context, input *PutFeedbackInput, opts ...request.Option) (*PutFeedbackOutput, error) {
2461	req, out := c.PutFeedbackRequest(input)
2462	req.SetContext(ctx)
2463	req.ApplyOptions(opts...)
2464	return out, req.Send()
2465}
2466
2467const opTagResource = "TagResource"
2468
2469// TagResourceRequest generates a "aws/request.Request" representing the
2470// client's request for the TagResource operation. The "output" return
2471// value will be populated with the request's response once the request completes
2472// successfully.
2473//
2474// Use "Send" method on the returned Request to send the API call to the service.
2475// the "output" return value is not valid until after Send returns without error.
2476//
2477// See TagResource for more information on using the TagResource
2478// API call, and error handling.
2479//
2480// This method is useful when you want to inject custom logic or configuration
2481// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2482//
2483//
2484//    // Example sending a request using the TagResourceRequest method.
2485//    req, resp := client.TagResourceRequest(params)
2486//
2487//    err := req.Send()
2488//    if err == nil { // resp is now filled
2489//        fmt.Println(resp)
2490//    }
2491//
2492// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/TagResource
2493func (c *LookoutMetrics) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2494	op := &request.Operation{
2495		Name:       opTagResource,
2496		HTTPMethod: "POST",
2497		HTTPPath:   "/tags/{resourceArn}",
2498	}
2499
2500	if input == nil {
2501		input = &TagResourceInput{}
2502	}
2503
2504	output = &TagResourceOutput{}
2505	req = c.newRequest(op, input, output)
2506	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2507	return
2508}
2509
2510// TagResource API operation for Amazon Lookout for Metrics.
2511//
2512// Adds tags (https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html)
2513// to a detector, dataset, or alert.
2514//
2515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2516// with awserr.Error's Code and Message methods to get detailed information about
2517// the error.
2518//
2519// See the AWS API reference guide for Amazon Lookout for Metrics's
2520// API operation TagResource for usage and error information.
2521//
2522// Returned Error Types:
2523//   * InternalServerException
2524//   The request processing has failed because of an unknown error, exception,
2525//   or failure.
2526//
2527//   * ValidationException
2528//   The input fails to satisfy the constraints specified by the AWS service.
2529//   Check your input values and try again.
2530//
2531//   * ResourceNotFoundException
2532//   The specified resource cannot be found. Check the ARN of the resource and
2533//   try again.
2534//
2535// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/TagResource
2536func (c *LookoutMetrics) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2537	req, out := c.TagResourceRequest(input)
2538	return out, req.Send()
2539}
2540
2541// TagResourceWithContext is the same as TagResource with the addition of
2542// the ability to pass a context and additional request options.
2543//
2544// See TagResource for details on how to use this API operation.
2545//
2546// The context must be non-nil and will be used for request cancellation. If
2547// the context is nil a panic will occur. In the future the SDK may create
2548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2549// for more information on using Contexts.
2550func (c *LookoutMetrics) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2551	req, out := c.TagResourceRequest(input)
2552	req.SetContext(ctx)
2553	req.ApplyOptions(opts...)
2554	return out, req.Send()
2555}
2556
2557const opUntagResource = "UntagResource"
2558
2559// UntagResourceRequest generates a "aws/request.Request" representing the
2560// client's request for the UntagResource operation. The "output" return
2561// value will be populated with the request's response once the request completes
2562// successfully.
2563//
2564// Use "Send" method on the returned Request to send the API call to the service.
2565// the "output" return value is not valid until after Send returns without error.
2566//
2567// See UntagResource for more information on using the UntagResource
2568// API call, and error handling.
2569//
2570// This method is useful when you want to inject custom logic or configuration
2571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2572//
2573//
2574//    // Example sending a request using the UntagResourceRequest method.
2575//    req, resp := client.UntagResourceRequest(params)
2576//
2577//    err := req.Send()
2578//    if err == nil { // resp is now filled
2579//        fmt.Println(resp)
2580//    }
2581//
2582// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/UntagResource
2583func (c *LookoutMetrics) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2584	op := &request.Operation{
2585		Name:       opUntagResource,
2586		HTTPMethod: "DELETE",
2587		HTTPPath:   "/tags/{resourceArn}",
2588	}
2589
2590	if input == nil {
2591		input = &UntagResourceInput{}
2592	}
2593
2594	output = &UntagResourceOutput{}
2595	req = c.newRequest(op, input, output)
2596	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2597	return
2598}
2599
2600// UntagResource API operation for Amazon Lookout for Metrics.
2601//
2602// Removes tags (https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html)
2603// from a detector, dataset, or alert.
2604//
2605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2606// with awserr.Error's Code and Message methods to get detailed information about
2607// the error.
2608//
2609// See the AWS API reference guide for Amazon Lookout for Metrics's
2610// API operation UntagResource for usage and error information.
2611//
2612// Returned Error Types:
2613//   * InternalServerException
2614//   The request processing has failed because of an unknown error, exception,
2615//   or failure.
2616//
2617//   * ValidationException
2618//   The input fails to satisfy the constraints specified by the AWS service.
2619//   Check your input values and try again.
2620//
2621//   * ResourceNotFoundException
2622//   The specified resource cannot be found. Check the ARN of the resource and
2623//   try again.
2624//
2625// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/UntagResource
2626func (c *LookoutMetrics) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2627	req, out := c.UntagResourceRequest(input)
2628	return out, req.Send()
2629}
2630
2631// UntagResourceWithContext is the same as UntagResource with the addition of
2632// the ability to pass a context and additional request options.
2633//
2634// See UntagResource for details on how to use this API operation.
2635//
2636// The context must be non-nil and will be used for request cancellation. If
2637// the context is nil a panic will occur. In the future the SDK may create
2638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2639// for more information on using Contexts.
2640func (c *LookoutMetrics) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2641	req, out := c.UntagResourceRequest(input)
2642	req.SetContext(ctx)
2643	req.ApplyOptions(opts...)
2644	return out, req.Send()
2645}
2646
2647const opUpdateAnomalyDetector = "UpdateAnomalyDetector"
2648
2649// UpdateAnomalyDetectorRequest generates a "aws/request.Request" representing the
2650// client's request for the UpdateAnomalyDetector operation. The "output" return
2651// value will be populated with the request's response once the request completes
2652// successfully.
2653//
2654// Use "Send" method on the returned Request to send the API call to the service.
2655// the "output" return value is not valid until after Send returns without error.
2656//
2657// See UpdateAnomalyDetector for more information on using the UpdateAnomalyDetector
2658// API call, and error handling.
2659//
2660// This method is useful when you want to inject custom logic or configuration
2661// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2662//
2663//
2664//    // Example sending a request using the UpdateAnomalyDetectorRequest method.
2665//    req, resp := client.UpdateAnomalyDetectorRequest(params)
2666//
2667//    err := req.Send()
2668//    if err == nil { // resp is now filled
2669//        fmt.Println(resp)
2670//    }
2671//
2672// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/UpdateAnomalyDetector
2673func (c *LookoutMetrics) UpdateAnomalyDetectorRequest(input *UpdateAnomalyDetectorInput) (req *request.Request, output *UpdateAnomalyDetectorOutput) {
2674	op := &request.Operation{
2675		Name:       opUpdateAnomalyDetector,
2676		HTTPMethod: "POST",
2677		HTTPPath:   "/UpdateAnomalyDetector",
2678	}
2679
2680	if input == nil {
2681		input = &UpdateAnomalyDetectorInput{}
2682	}
2683
2684	output = &UpdateAnomalyDetectorOutput{}
2685	req = c.newRequest(op, input, output)
2686	return
2687}
2688
2689// UpdateAnomalyDetector API operation for Amazon Lookout for Metrics.
2690//
2691// Updates a detector. After activation, you can only change a detector's ingestion
2692// delay and description.
2693//
2694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2695// with awserr.Error's Code and Message methods to get detailed information about
2696// the error.
2697//
2698// See the AWS API reference guide for Amazon Lookout for Metrics's
2699// API operation UpdateAnomalyDetector for usage and error information.
2700//
2701// Returned Error Types:
2702//   * ResourceNotFoundException
2703//   The specified resource cannot be found. Check the ARN of the resource and
2704//   try again.
2705//
2706//   * ValidationException
2707//   The input fails to satisfy the constraints specified by the AWS service.
2708//   Check your input values and try again.
2709//
2710//   * InternalServerException
2711//   The request processing has failed because of an unknown error, exception,
2712//   or failure.
2713//
2714//   * AccessDeniedException
2715//   You do not have sufficient permissions to perform this action.
2716//
2717//   * TooManyRequestsException
2718//   The request was denied due to too many requests being submitted at the same
2719//   time.
2720//
2721// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/UpdateAnomalyDetector
2722func (c *LookoutMetrics) UpdateAnomalyDetector(input *UpdateAnomalyDetectorInput) (*UpdateAnomalyDetectorOutput, error) {
2723	req, out := c.UpdateAnomalyDetectorRequest(input)
2724	return out, req.Send()
2725}
2726
2727// UpdateAnomalyDetectorWithContext is the same as UpdateAnomalyDetector with the addition of
2728// the ability to pass a context and additional request options.
2729//
2730// See UpdateAnomalyDetector for details on how to use this API operation.
2731//
2732// The context must be non-nil and will be used for request cancellation. If
2733// the context is nil a panic will occur. In the future the SDK may create
2734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2735// for more information on using Contexts.
2736func (c *LookoutMetrics) UpdateAnomalyDetectorWithContext(ctx aws.Context, input *UpdateAnomalyDetectorInput, opts ...request.Option) (*UpdateAnomalyDetectorOutput, error) {
2737	req, out := c.UpdateAnomalyDetectorRequest(input)
2738	req.SetContext(ctx)
2739	req.ApplyOptions(opts...)
2740	return out, req.Send()
2741}
2742
2743const opUpdateMetricSet = "UpdateMetricSet"
2744
2745// UpdateMetricSetRequest generates a "aws/request.Request" representing the
2746// client's request for the UpdateMetricSet operation. The "output" return
2747// value will be populated with the request's response once the request completes
2748// successfully.
2749//
2750// Use "Send" method on the returned Request to send the API call to the service.
2751// the "output" return value is not valid until after Send returns without error.
2752//
2753// See UpdateMetricSet for more information on using the UpdateMetricSet
2754// API call, and error handling.
2755//
2756// This method is useful when you want to inject custom logic or configuration
2757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2758//
2759//
2760//    // Example sending a request using the UpdateMetricSetRequest method.
2761//    req, resp := client.UpdateMetricSetRequest(params)
2762//
2763//    err := req.Send()
2764//    if err == nil { // resp is now filled
2765//        fmt.Println(resp)
2766//    }
2767//
2768// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/UpdateMetricSet
2769func (c *LookoutMetrics) UpdateMetricSetRequest(input *UpdateMetricSetInput) (req *request.Request, output *UpdateMetricSetOutput) {
2770	op := &request.Operation{
2771		Name:       opUpdateMetricSet,
2772		HTTPMethod: "POST",
2773		HTTPPath:   "/UpdateMetricSet",
2774	}
2775
2776	if input == nil {
2777		input = &UpdateMetricSetInput{}
2778	}
2779
2780	output = &UpdateMetricSetOutput{}
2781	req = c.newRequest(op, input, output)
2782	return
2783}
2784
2785// UpdateMetricSet API operation for Amazon Lookout for Metrics.
2786//
2787// Updates a dataset.
2788//
2789// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2790// with awserr.Error's Code and Message methods to get detailed information about
2791// the error.
2792//
2793// See the AWS API reference guide for Amazon Lookout for Metrics's
2794// API operation UpdateMetricSet for usage and error information.
2795//
2796// Returned Error Types:
2797//   * ResourceNotFoundException
2798//   The specified resource cannot be found. Check the ARN of the resource and
2799//   try again.
2800//
2801//   * ValidationException
2802//   The input fails to satisfy the constraints specified by the AWS service.
2803//   Check your input values and try again.
2804//
2805//   * InternalServerException
2806//   The request processing has failed because of an unknown error, exception,
2807//   or failure.
2808//
2809//   * AccessDeniedException
2810//   You do not have sufficient permissions to perform this action.
2811//
2812//   * TooManyRequestsException
2813//   The request was denied due to too many requests being submitted at the same
2814//   time.
2815//
2816// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/UpdateMetricSet
2817func (c *LookoutMetrics) UpdateMetricSet(input *UpdateMetricSetInput) (*UpdateMetricSetOutput, error) {
2818	req, out := c.UpdateMetricSetRequest(input)
2819	return out, req.Send()
2820}
2821
2822// UpdateMetricSetWithContext is the same as UpdateMetricSet with the addition of
2823// the ability to pass a context and additional request options.
2824//
2825// See UpdateMetricSet for details on how to use this API operation.
2826//
2827// The context must be non-nil and will be used for request cancellation. If
2828// the context is nil a panic will occur. In the future the SDK may create
2829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2830// for more information on using Contexts.
2831func (c *LookoutMetrics) UpdateMetricSetWithContext(ctx aws.Context, input *UpdateMetricSetInput, opts ...request.Option) (*UpdateMetricSetOutput, error) {
2832	req, out := c.UpdateMetricSetRequest(input)
2833	req.SetContext(ctx)
2834	req.ApplyOptions(opts...)
2835	return out, req.Send()
2836}
2837
2838// You do not have sufficient permissions to perform this action.
2839type AccessDeniedException struct {
2840	_            struct{}                  `type:"structure"`
2841	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2842
2843	Message_ *string `locationName:"Message" type:"string"`
2844}
2845
2846// String returns the string representation
2847func (s AccessDeniedException) String() string {
2848	return awsutil.Prettify(s)
2849}
2850
2851// GoString returns the string representation
2852func (s AccessDeniedException) GoString() string {
2853	return s.String()
2854}
2855
2856func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
2857	return &AccessDeniedException{
2858		RespMetadata: v,
2859	}
2860}
2861
2862// Code returns the exception type name.
2863func (s *AccessDeniedException) Code() string {
2864	return "AccessDeniedException"
2865}
2866
2867// Message returns the exception's message.
2868func (s *AccessDeniedException) Message() string {
2869	if s.Message_ != nil {
2870		return *s.Message_
2871	}
2872	return ""
2873}
2874
2875// OrigErr always returns nil, satisfies awserr.Error interface.
2876func (s *AccessDeniedException) OrigErr() error {
2877	return nil
2878}
2879
2880func (s *AccessDeniedException) Error() string {
2881	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2882}
2883
2884// Status code returns the HTTP status code for the request's response error.
2885func (s *AccessDeniedException) StatusCode() int {
2886	return s.RespMetadata.StatusCode
2887}
2888
2889// RequestID returns the service's response RequestID for request.
2890func (s *AccessDeniedException) RequestID() string {
2891	return s.RespMetadata.RequestID
2892}
2893
2894// A configuration that specifies the action to perform when anomalies are detected.
2895type Action struct {
2896	_ struct{} `type:"structure"`
2897
2898	// A configuration for an AWS Lambda channel.
2899	LambdaConfiguration *LambdaConfiguration `type:"structure"`
2900
2901	// A configuration for an Amazon SNS channel.
2902	SNSConfiguration *SNSConfiguration `type:"structure"`
2903}
2904
2905// String returns the string representation
2906func (s Action) String() string {
2907	return awsutil.Prettify(s)
2908}
2909
2910// GoString returns the string representation
2911func (s Action) GoString() string {
2912	return s.String()
2913}
2914
2915// Validate inspects the fields of the type to determine if they are valid.
2916func (s *Action) Validate() error {
2917	invalidParams := request.ErrInvalidParams{Context: "Action"}
2918	if s.LambdaConfiguration != nil {
2919		if err := s.LambdaConfiguration.Validate(); err != nil {
2920			invalidParams.AddNested("LambdaConfiguration", err.(request.ErrInvalidParams))
2921		}
2922	}
2923	if s.SNSConfiguration != nil {
2924		if err := s.SNSConfiguration.Validate(); err != nil {
2925			invalidParams.AddNested("SNSConfiguration", err.(request.ErrInvalidParams))
2926		}
2927	}
2928
2929	if invalidParams.Len() > 0 {
2930		return invalidParams
2931	}
2932	return nil
2933}
2934
2935// SetLambdaConfiguration sets the LambdaConfiguration field's value.
2936func (s *Action) SetLambdaConfiguration(v *LambdaConfiguration) *Action {
2937	s.LambdaConfiguration = v
2938	return s
2939}
2940
2941// SetSNSConfiguration sets the SNSConfiguration field's value.
2942func (s *Action) SetSNSConfiguration(v *SNSConfiguration) *Action {
2943	s.SNSConfiguration = v
2944	return s
2945}
2946
2947type ActivateAnomalyDetectorInput struct {
2948	_ struct{} `type:"structure"`
2949
2950	// The ARN of the anomaly detector.
2951	//
2952	// AnomalyDetectorArn is a required field
2953	AnomalyDetectorArn *string `type:"string" required:"true"`
2954}
2955
2956// String returns the string representation
2957func (s ActivateAnomalyDetectorInput) String() string {
2958	return awsutil.Prettify(s)
2959}
2960
2961// GoString returns the string representation
2962func (s ActivateAnomalyDetectorInput) GoString() string {
2963	return s.String()
2964}
2965
2966// Validate inspects the fields of the type to determine if they are valid.
2967func (s *ActivateAnomalyDetectorInput) Validate() error {
2968	invalidParams := request.ErrInvalidParams{Context: "ActivateAnomalyDetectorInput"}
2969	if s.AnomalyDetectorArn == nil {
2970		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
2971	}
2972
2973	if invalidParams.Len() > 0 {
2974		return invalidParams
2975	}
2976	return nil
2977}
2978
2979// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
2980func (s *ActivateAnomalyDetectorInput) SetAnomalyDetectorArn(v string) *ActivateAnomalyDetectorInput {
2981	s.AnomalyDetectorArn = &v
2982	return s
2983}
2984
2985type ActivateAnomalyDetectorOutput struct {
2986	_ struct{} `type:"structure"`
2987}
2988
2989// String returns the string representation
2990func (s ActivateAnomalyDetectorOutput) String() string {
2991	return awsutil.Prettify(s)
2992}
2993
2994// GoString returns the string representation
2995func (s ActivateAnomalyDetectorOutput) GoString() string {
2996	return s.String()
2997}
2998
2999// A configuration for Amazon SNS-integrated notifications.
3000type Alert struct {
3001	_ struct{} `type:"structure"`
3002
3003	// Action that will be triggered when there is an alert.
3004	Action *Action `type:"structure"`
3005
3006	// The ARN of the alert.
3007	AlertArn *string `type:"string"`
3008
3009	// A description of the alert.
3010	AlertDescription *string `type:"string"`
3011
3012	// The name of the alert.
3013	AlertName *string `min:"1" type:"string"`
3014
3015	// The minimum severity for an anomaly to trigger the alert.
3016	AlertSensitivityThreshold *int64 `type:"integer"`
3017
3018	// The status of the alert.
3019	AlertStatus *string `type:"string" enum:"AlertStatus"`
3020
3021	// The type of the alert.
3022	AlertType *string `type:"string" enum:"AlertType"`
3023
3024	// The ARN of the detector to which the alert is attached.
3025	AnomalyDetectorArn *string `type:"string"`
3026
3027	// The time at which the alert was created.
3028	CreationTime *time.Time `type:"timestamp"`
3029
3030	// The time at which the alert was last modified.
3031	LastModificationTime *time.Time `type:"timestamp"`
3032}
3033
3034// String returns the string representation
3035func (s Alert) String() string {
3036	return awsutil.Prettify(s)
3037}
3038
3039// GoString returns the string representation
3040func (s Alert) GoString() string {
3041	return s.String()
3042}
3043
3044// SetAction sets the Action field's value.
3045func (s *Alert) SetAction(v *Action) *Alert {
3046	s.Action = v
3047	return s
3048}
3049
3050// SetAlertArn sets the AlertArn field's value.
3051func (s *Alert) SetAlertArn(v string) *Alert {
3052	s.AlertArn = &v
3053	return s
3054}
3055
3056// SetAlertDescription sets the AlertDescription field's value.
3057func (s *Alert) SetAlertDescription(v string) *Alert {
3058	s.AlertDescription = &v
3059	return s
3060}
3061
3062// SetAlertName sets the AlertName field's value.
3063func (s *Alert) SetAlertName(v string) *Alert {
3064	s.AlertName = &v
3065	return s
3066}
3067
3068// SetAlertSensitivityThreshold sets the AlertSensitivityThreshold field's value.
3069func (s *Alert) SetAlertSensitivityThreshold(v int64) *Alert {
3070	s.AlertSensitivityThreshold = &v
3071	return s
3072}
3073
3074// SetAlertStatus sets the AlertStatus field's value.
3075func (s *Alert) SetAlertStatus(v string) *Alert {
3076	s.AlertStatus = &v
3077	return s
3078}
3079
3080// SetAlertType sets the AlertType field's value.
3081func (s *Alert) SetAlertType(v string) *Alert {
3082	s.AlertType = &v
3083	return s
3084}
3085
3086// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
3087func (s *Alert) SetAnomalyDetectorArn(v string) *Alert {
3088	s.AnomalyDetectorArn = &v
3089	return s
3090}
3091
3092// SetCreationTime sets the CreationTime field's value.
3093func (s *Alert) SetCreationTime(v time.Time) *Alert {
3094	s.CreationTime = &v
3095	return s
3096}
3097
3098// SetLastModificationTime sets the LastModificationTime field's value.
3099func (s *Alert) SetLastModificationTime(v time.Time) *Alert {
3100	s.LastModificationTime = &v
3101	return s
3102}
3103
3104// Provides a summary of an alert's configuration.
3105type AlertSummary struct {
3106	_ struct{} `type:"structure"`
3107
3108	// The ARN of the alert.
3109	AlertArn *string `type:"string"`
3110
3111	// The name of the alert.
3112	AlertName *string `min:"1" type:"string"`
3113
3114	// The minimum severity for an anomaly to trigger the alert.
3115	AlertSensitivityThreshold *int64 `type:"integer"`
3116
3117	// The status of the alert.
3118	AlertStatus *string `type:"string" enum:"AlertStatus"`
3119
3120	// The type of the alert.
3121	AlertType *string `type:"string" enum:"AlertType"`
3122
3123	// The ARN of the detector to which the alert is attached.
3124	AnomalyDetectorArn *string `type:"string"`
3125
3126	// The time at which the alert was created.
3127	CreationTime *time.Time `type:"timestamp"`
3128
3129	// The time at which the alert was last modified.
3130	LastModificationTime *time.Time `type:"timestamp"`
3131
3132	// The alert's tags (https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html).
3133	Tags map[string]*string `min:"1" type:"map"`
3134}
3135
3136// String returns the string representation
3137func (s AlertSummary) String() string {
3138	return awsutil.Prettify(s)
3139}
3140
3141// GoString returns the string representation
3142func (s AlertSummary) GoString() string {
3143	return s.String()
3144}
3145
3146// SetAlertArn sets the AlertArn field's value.
3147func (s *AlertSummary) SetAlertArn(v string) *AlertSummary {
3148	s.AlertArn = &v
3149	return s
3150}
3151
3152// SetAlertName sets the AlertName field's value.
3153func (s *AlertSummary) SetAlertName(v string) *AlertSummary {
3154	s.AlertName = &v
3155	return s
3156}
3157
3158// SetAlertSensitivityThreshold sets the AlertSensitivityThreshold field's value.
3159func (s *AlertSummary) SetAlertSensitivityThreshold(v int64) *AlertSummary {
3160	s.AlertSensitivityThreshold = &v
3161	return s
3162}
3163
3164// SetAlertStatus sets the AlertStatus field's value.
3165func (s *AlertSummary) SetAlertStatus(v string) *AlertSummary {
3166	s.AlertStatus = &v
3167	return s
3168}
3169
3170// SetAlertType sets the AlertType field's value.
3171func (s *AlertSummary) SetAlertType(v string) *AlertSummary {
3172	s.AlertType = &v
3173	return s
3174}
3175
3176// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
3177func (s *AlertSummary) SetAnomalyDetectorArn(v string) *AlertSummary {
3178	s.AnomalyDetectorArn = &v
3179	return s
3180}
3181
3182// SetCreationTime sets the CreationTime field's value.
3183func (s *AlertSummary) SetCreationTime(v time.Time) *AlertSummary {
3184	s.CreationTime = &v
3185	return s
3186}
3187
3188// SetLastModificationTime sets the LastModificationTime field's value.
3189func (s *AlertSummary) SetLastModificationTime(v time.Time) *AlertSummary {
3190	s.LastModificationTime = &v
3191	return s
3192}
3193
3194// SetTags sets the Tags field's value.
3195func (s *AlertSummary) SetTags(v map[string]*string) *AlertSummary {
3196	s.Tags = v
3197	return s
3198}
3199
3200// Contains information about a detector's configuration.
3201type AnomalyDetectorConfig struct {
3202	_ struct{} `type:"structure"`
3203
3204	// The frequency at which the detector analyzes its source data.
3205	AnomalyDetectorFrequency *string `type:"string" enum:"Frequency"`
3206}
3207
3208// String returns the string representation
3209func (s AnomalyDetectorConfig) String() string {
3210	return awsutil.Prettify(s)
3211}
3212
3213// GoString returns the string representation
3214func (s AnomalyDetectorConfig) GoString() string {
3215	return s.String()
3216}
3217
3218// SetAnomalyDetectorFrequency sets the AnomalyDetectorFrequency field's value.
3219func (s *AnomalyDetectorConfig) SetAnomalyDetectorFrequency(v string) *AnomalyDetectorConfig {
3220	s.AnomalyDetectorFrequency = &v
3221	return s
3222}
3223
3224// Contains information about a detector's configuration.
3225type AnomalyDetectorConfigSummary struct {
3226	_ struct{} `type:"structure"`
3227
3228	// The interval at which the detector analyzes its source data.
3229	AnomalyDetectorFrequency *string `type:"string" enum:"Frequency"`
3230}
3231
3232// String returns the string representation
3233func (s AnomalyDetectorConfigSummary) String() string {
3234	return awsutil.Prettify(s)
3235}
3236
3237// GoString returns the string representation
3238func (s AnomalyDetectorConfigSummary) GoString() string {
3239	return s.String()
3240}
3241
3242// SetAnomalyDetectorFrequency sets the AnomalyDetectorFrequency field's value.
3243func (s *AnomalyDetectorConfigSummary) SetAnomalyDetectorFrequency(v string) *AnomalyDetectorConfigSummary {
3244	s.AnomalyDetectorFrequency = &v
3245	return s
3246}
3247
3248// Contains information about an an anomaly detector.
3249type AnomalyDetectorSummary struct {
3250	_ struct{} `type:"structure"`
3251
3252	// The ARN of the detector.
3253	AnomalyDetectorArn *string `type:"string"`
3254
3255	// A description of the detector.
3256	AnomalyDetectorDescription *string `min:"1" type:"string"`
3257
3258	// The name of the detector.
3259	AnomalyDetectorName *string `min:"1" type:"string"`
3260
3261	// The time at which the detector was created.
3262	CreationTime *time.Time `type:"timestamp"`
3263
3264	// The time at which the detector was last modified.
3265	LastModificationTime *time.Time `type:"timestamp"`
3266
3267	// The status of detector.
3268	Status *string `type:"string" enum:"AnomalyDetectorStatus"`
3269
3270	// The detector's tags (https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html).
3271	Tags map[string]*string `min:"1" type:"map"`
3272}
3273
3274// String returns the string representation
3275func (s AnomalyDetectorSummary) String() string {
3276	return awsutil.Prettify(s)
3277}
3278
3279// GoString returns the string representation
3280func (s AnomalyDetectorSummary) GoString() string {
3281	return s.String()
3282}
3283
3284// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
3285func (s *AnomalyDetectorSummary) SetAnomalyDetectorArn(v string) *AnomalyDetectorSummary {
3286	s.AnomalyDetectorArn = &v
3287	return s
3288}
3289
3290// SetAnomalyDetectorDescription sets the AnomalyDetectorDescription field's value.
3291func (s *AnomalyDetectorSummary) SetAnomalyDetectorDescription(v string) *AnomalyDetectorSummary {
3292	s.AnomalyDetectorDescription = &v
3293	return s
3294}
3295
3296// SetAnomalyDetectorName sets the AnomalyDetectorName field's value.
3297func (s *AnomalyDetectorSummary) SetAnomalyDetectorName(v string) *AnomalyDetectorSummary {
3298	s.AnomalyDetectorName = &v
3299	return s
3300}
3301
3302// SetCreationTime sets the CreationTime field's value.
3303func (s *AnomalyDetectorSummary) SetCreationTime(v time.Time) *AnomalyDetectorSummary {
3304	s.CreationTime = &v
3305	return s
3306}
3307
3308// SetLastModificationTime sets the LastModificationTime field's value.
3309func (s *AnomalyDetectorSummary) SetLastModificationTime(v time.Time) *AnomalyDetectorSummary {
3310	s.LastModificationTime = &v
3311	return s
3312}
3313
3314// SetStatus sets the Status field's value.
3315func (s *AnomalyDetectorSummary) SetStatus(v string) *AnomalyDetectorSummary {
3316	s.Status = &v
3317	return s
3318}
3319
3320// SetTags sets the Tags field's value.
3321func (s *AnomalyDetectorSummary) SetTags(v map[string]*string) *AnomalyDetectorSummary {
3322	s.Tags = v
3323	return s
3324}
3325
3326// A group of anomalous metrics
3327type AnomalyGroup struct {
3328	_ struct{} `type:"structure"`
3329
3330	// The ID of the anomaly group.
3331	AnomalyGroupId *string `type:"string"`
3332
3333	// The severity score of the group.
3334	AnomalyGroupScore *float64 `type:"double"`
3335
3336	// The end time for the group.
3337	EndTime *string `type:"string"`
3338
3339	// A list of measures affected by the anomaly.
3340	MetricLevelImpactList []*MetricLevelImpact `type:"list"`
3341
3342	// The name of the primary affected measure for the group.
3343	PrimaryMetricName *string `type:"string"`
3344
3345	// The start time for the group.
3346	StartTime *string `type:"string"`
3347}
3348
3349// String returns the string representation
3350func (s AnomalyGroup) String() string {
3351	return awsutil.Prettify(s)
3352}
3353
3354// GoString returns the string representation
3355func (s AnomalyGroup) GoString() string {
3356	return s.String()
3357}
3358
3359// SetAnomalyGroupId sets the AnomalyGroupId field's value.
3360func (s *AnomalyGroup) SetAnomalyGroupId(v string) *AnomalyGroup {
3361	s.AnomalyGroupId = &v
3362	return s
3363}
3364
3365// SetAnomalyGroupScore sets the AnomalyGroupScore field's value.
3366func (s *AnomalyGroup) SetAnomalyGroupScore(v float64) *AnomalyGroup {
3367	s.AnomalyGroupScore = &v
3368	return s
3369}
3370
3371// SetEndTime sets the EndTime field's value.
3372func (s *AnomalyGroup) SetEndTime(v string) *AnomalyGroup {
3373	s.EndTime = &v
3374	return s
3375}
3376
3377// SetMetricLevelImpactList sets the MetricLevelImpactList field's value.
3378func (s *AnomalyGroup) SetMetricLevelImpactList(v []*MetricLevelImpact) *AnomalyGroup {
3379	s.MetricLevelImpactList = v
3380	return s
3381}
3382
3383// SetPrimaryMetricName sets the PrimaryMetricName field's value.
3384func (s *AnomalyGroup) SetPrimaryMetricName(v string) *AnomalyGroup {
3385	s.PrimaryMetricName = &v
3386	return s
3387}
3388
3389// SetStartTime sets the StartTime field's value.
3390func (s *AnomalyGroup) SetStartTime(v string) *AnomalyGroup {
3391	s.StartTime = &v
3392	return s
3393}
3394
3395// Aggregated statistics for a group of anomalous metrics.
3396type AnomalyGroupStatistics struct {
3397	_ struct{} `type:"structure"`
3398
3399	// The start of the time range that was searched.
3400	EvaluationStartDate *string `type:"string"`
3401
3402	// Statistics for individual metrics within the group.
3403	ItemizedMetricStatsList []*ItemizedMetricStats `type:"list"`
3404
3405	// The number of groups found.
3406	TotalCount *int64 `type:"integer"`
3407}
3408
3409// String returns the string representation
3410func (s AnomalyGroupStatistics) String() string {
3411	return awsutil.Prettify(s)
3412}
3413
3414// GoString returns the string representation
3415func (s AnomalyGroupStatistics) GoString() string {
3416	return s.String()
3417}
3418
3419// SetEvaluationStartDate sets the EvaluationStartDate field's value.
3420func (s *AnomalyGroupStatistics) SetEvaluationStartDate(v string) *AnomalyGroupStatistics {
3421	s.EvaluationStartDate = &v
3422	return s
3423}
3424
3425// SetItemizedMetricStatsList sets the ItemizedMetricStatsList field's value.
3426func (s *AnomalyGroupStatistics) SetItemizedMetricStatsList(v []*ItemizedMetricStats) *AnomalyGroupStatistics {
3427	s.ItemizedMetricStatsList = v
3428	return s
3429}
3430
3431// SetTotalCount sets the TotalCount field's value.
3432func (s *AnomalyGroupStatistics) SetTotalCount(v int64) *AnomalyGroupStatistics {
3433	s.TotalCount = &v
3434	return s
3435}
3436
3437// Details about a group of anomalous metrics.
3438type AnomalyGroupSummary struct {
3439	_ struct{} `type:"structure"`
3440
3441	// The ID of the anomaly group.
3442	AnomalyGroupId *string `type:"string"`
3443
3444	// The severity score of the group.
3445	AnomalyGroupScore *float64 `type:"double"`
3446
3447	// The end time for the group.
3448	EndTime *string `type:"string"`
3449
3450	// The name of the primary affected measure for the group.
3451	PrimaryMetricName *string `type:"string"`
3452
3453	// The start time for the group.
3454	StartTime *string `type:"string"`
3455}
3456
3457// String returns the string representation
3458func (s AnomalyGroupSummary) String() string {
3459	return awsutil.Prettify(s)
3460}
3461
3462// GoString returns the string representation
3463func (s AnomalyGroupSummary) GoString() string {
3464	return s.String()
3465}
3466
3467// SetAnomalyGroupId sets the AnomalyGroupId field's value.
3468func (s *AnomalyGroupSummary) SetAnomalyGroupId(v string) *AnomalyGroupSummary {
3469	s.AnomalyGroupId = &v
3470	return s
3471}
3472
3473// SetAnomalyGroupScore sets the AnomalyGroupScore field's value.
3474func (s *AnomalyGroupSummary) SetAnomalyGroupScore(v float64) *AnomalyGroupSummary {
3475	s.AnomalyGroupScore = &v
3476	return s
3477}
3478
3479// SetEndTime sets the EndTime field's value.
3480func (s *AnomalyGroupSummary) SetEndTime(v string) *AnomalyGroupSummary {
3481	s.EndTime = &v
3482	return s
3483}
3484
3485// SetPrimaryMetricName sets the PrimaryMetricName field's value.
3486func (s *AnomalyGroupSummary) SetPrimaryMetricName(v string) *AnomalyGroupSummary {
3487	s.PrimaryMetricName = &v
3488	return s
3489}
3490
3491// SetStartTime sets the StartTime field's value.
3492func (s *AnomalyGroupSummary) SetStartTime(v string) *AnomalyGroupSummary {
3493	s.StartTime = &v
3494	return s
3495}
3496
3497// An anomalous metric in an anomaly group.
3498type AnomalyGroupTimeSeries struct {
3499	_ struct{} `type:"structure"`
3500
3501	// The ID of the anomaly group.
3502	//
3503	// AnomalyGroupId is a required field
3504	AnomalyGroupId *string `type:"string" required:"true"`
3505
3506	// The ID of the metric.
3507	TimeSeriesId *string `type:"string"`
3508}
3509
3510// String returns the string representation
3511func (s AnomalyGroupTimeSeries) String() string {
3512	return awsutil.Prettify(s)
3513}
3514
3515// GoString returns the string representation
3516func (s AnomalyGroupTimeSeries) GoString() string {
3517	return s.String()
3518}
3519
3520// Validate inspects the fields of the type to determine if they are valid.
3521func (s *AnomalyGroupTimeSeries) Validate() error {
3522	invalidParams := request.ErrInvalidParams{Context: "AnomalyGroupTimeSeries"}
3523	if s.AnomalyGroupId == nil {
3524		invalidParams.Add(request.NewErrParamRequired("AnomalyGroupId"))
3525	}
3526
3527	if invalidParams.Len() > 0 {
3528		return invalidParams
3529	}
3530	return nil
3531}
3532
3533// SetAnomalyGroupId sets the AnomalyGroupId field's value.
3534func (s *AnomalyGroupTimeSeries) SetAnomalyGroupId(v string) *AnomalyGroupTimeSeries {
3535	s.AnomalyGroupId = &v
3536	return s
3537}
3538
3539// SetTimeSeriesId sets the TimeSeriesId field's value.
3540func (s *AnomalyGroupTimeSeries) SetTimeSeriesId(v string) *AnomalyGroupTimeSeries {
3541	s.TimeSeriesId = &v
3542	return s
3543}
3544
3545// Feedback for an anomalous metric.
3546type AnomalyGroupTimeSeriesFeedback struct {
3547	_ struct{} `type:"structure"`
3548
3549	// The ID of the anomaly group.
3550	//
3551	// AnomalyGroupId is a required field
3552	AnomalyGroupId *string `type:"string" required:"true"`
3553
3554	// Feedback on whether the metric is a legitimate anomaly.
3555	//
3556	// IsAnomaly is a required field
3557	IsAnomaly *bool `type:"boolean" required:"true"`
3558
3559	// The ID of the metric.
3560	//
3561	// TimeSeriesId is a required field
3562	TimeSeriesId *string `type:"string" required:"true"`
3563}
3564
3565// String returns the string representation
3566func (s AnomalyGroupTimeSeriesFeedback) String() string {
3567	return awsutil.Prettify(s)
3568}
3569
3570// GoString returns the string representation
3571func (s AnomalyGroupTimeSeriesFeedback) GoString() string {
3572	return s.String()
3573}
3574
3575// Validate inspects the fields of the type to determine if they are valid.
3576func (s *AnomalyGroupTimeSeriesFeedback) Validate() error {
3577	invalidParams := request.ErrInvalidParams{Context: "AnomalyGroupTimeSeriesFeedback"}
3578	if s.AnomalyGroupId == nil {
3579		invalidParams.Add(request.NewErrParamRequired("AnomalyGroupId"))
3580	}
3581	if s.IsAnomaly == nil {
3582		invalidParams.Add(request.NewErrParamRequired("IsAnomaly"))
3583	}
3584	if s.TimeSeriesId == nil {
3585		invalidParams.Add(request.NewErrParamRequired("TimeSeriesId"))
3586	}
3587
3588	if invalidParams.Len() > 0 {
3589		return invalidParams
3590	}
3591	return nil
3592}
3593
3594// SetAnomalyGroupId sets the AnomalyGroupId field's value.
3595func (s *AnomalyGroupTimeSeriesFeedback) SetAnomalyGroupId(v string) *AnomalyGroupTimeSeriesFeedback {
3596	s.AnomalyGroupId = &v
3597	return s
3598}
3599
3600// SetIsAnomaly sets the IsAnomaly field's value.
3601func (s *AnomalyGroupTimeSeriesFeedback) SetIsAnomaly(v bool) *AnomalyGroupTimeSeriesFeedback {
3602	s.IsAnomaly = &v
3603	return s
3604}
3605
3606// SetTimeSeriesId sets the TimeSeriesId field's value.
3607func (s *AnomalyGroupTimeSeriesFeedback) SetTimeSeriesId(v string) *AnomalyGroupTimeSeriesFeedback {
3608	s.TimeSeriesId = &v
3609	return s
3610}
3611
3612// Details about an Amazon AppFlow flow datasource.
3613type AppFlowConfig struct {
3614	_ struct{} `type:"structure"`
3615
3616	// name of the flow.
3617	//
3618	// FlowName is a required field
3619	FlowName *string `type:"string" required:"true"`
3620
3621	// An IAM role that gives Amazon Lookout for Metrics permission to access the
3622	// flow.
3623	//
3624	// RoleArn is a required field
3625	RoleArn *string `type:"string" required:"true"`
3626}
3627
3628// String returns the string representation
3629func (s AppFlowConfig) String() string {
3630	return awsutil.Prettify(s)
3631}
3632
3633// GoString returns the string representation
3634func (s AppFlowConfig) GoString() string {
3635	return s.String()
3636}
3637
3638// Validate inspects the fields of the type to determine if they are valid.
3639func (s *AppFlowConfig) Validate() error {
3640	invalidParams := request.ErrInvalidParams{Context: "AppFlowConfig"}
3641	if s.FlowName == nil {
3642		invalidParams.Add(request.NewErrParamRequired("FlowName"))
3643	}
3644	if s.RoleArn == nil {
3645		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
3646	}
3647
3648	if invalidParams.Len() > 0 {
3649		return invalidParams
3650	}
3651	return nil
3652}
3653
3654// SetFlowName sets the FlowName field's value.
3655func (s *AppFlowConfig) SetFlowName(v string) *AppFlowConfig {
3656	s.FlowName = &v
3657	return s
3658}
3659
3660// SetRoleArn sets the RoleArn field's value.
3661func (s *AppFlowConfig) SetRoleArn(v string) *AppFlowConfig {
3662	s.RoleArn = &v
3663	return s
3664}
3665
3666type BackTestAnomalyDetectorInput struct {
3667	_ struct{} `type:"structure"`
3668
3669	// The Amazon Resource Name (ARN) of the anomaly detector.
3670	//
3671	// AnomalyDetectorArn is a required field
3672	AnomalyDetectorArn *string `type:"string" required:"true"`
3673}
3674
3675// String returns the string representation
3676func (s BackTestAnomalyDetectorInput) String() string {
3677	return awsutil.Prettify(s)
3678}
3679
3680// GoString returns the string representation
3681func (s BackTestAnomalyDetectorInput) GoString() string {
3682	return s.String()
3683}
3684
3685// Validate inspects the fields of the type to determine if they are valid.
3686func (s *BackTestAnomalyDetectorInput) Validate() error {
3687	invalidParams := request.ErrInvalidParams{Context: "BackTestAnomalyDetectorInput"}
3688	if s.AnomalyDetectorArn == nil {
3689		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
3690	}
3691
3692	if invalidParams.Len() > 0 {
3693		return invalidParams
3694	}
3695	return nil
3696}
3697
3698// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
3699func (s *BackTestAnomalyDetectorInput) SetAnomalyDetectorArn(v string) *BackTestAnomalyDetectorInput {
3700	s.AnomalyDetectorArn = &v
3701	return s
3702}
3703
3704type BackTestAnomalyDetectorOutput struct {
3705	_ struct{} `type:"structure"`
3706}
3707
3708// String returns the string representation
3709func (s BackTestAnomalyDetectorOutput) String() string {
3710	return awsutil.Prettify(s)
3711}
3712
3713// GoString returns the string representation
3714func (s BackTestAnomalyDetectorOutput) GoString() string {
3715	return s.String()
3716}
3717
3718// Details about an Amazon CloudWatch datasource.
3719type CloudWatchConfig struct {
3720	_ struct{} `type:"structure"`
3721
3722	// An IAM role that gives Amazon Lookout for Metrics permission to access data
3723	// in Amazon CloudWatch.
3724	//
3725	// RoleArn is a required field
3726	RoleArn *string `type:"string" required:"true"`
3727}
3728
3729// String returns the string representation
3730func (s CloudWatchConfig) String() string {
3731	return awsutil.Prettify(s)
3732}
3733
3734// GoString returns the string representation
3735func (s CloudWatchConfig) GoString() string {
3736	return s.String()
3737}
3738
3739// Validate inspects the fields of the type to determine if they are valid.
3740func (s *CloudWatchConfig) Validate() error {
3741	invalidParams := request.ErrInvalidParams{Context: "CloudWatchConfig"}
3742	if s.RoleArn == nil {
3743		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
3744	}
3745
3746	if invalidParams.Len() > 0 {
3747		return invalidParams
3748	}
3749	return nil
3750}
3751
3752// SetRoleArn sets the RoleArn field's value.
3753func (s *CloudWatchConfig) SetRoleArn(v string) *CloudWatchConfig {
3754	s.RoleArn = &v
3755	return s
3756}
3757
3758// There was a conflict processing the request. Try your request again.
3759type ConflictException struct {
3760	_            struct{}                  `type:"structure"`
3761	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3762
3763	Message_ *string `locationName:"Message" type:"string"`
3764
3765	// The ID of the resource.
3766	ResourceId *string `type:"string"`
3767
3768	// The type of the resource.
3769	ResourceType *string `type:"string"`
3770}
3771
3772// String returns the string representation
3773func (s ConflictException) String() string {
3774	return awsutil.Prettify(s)
3775}
3776
3777// GoString returns the string representation
3778func (s ConflictException) GoString() string {
3779	return s.String()
3780}
3781
3782func newErrorConflictException(v protocol.ResponseMetadata) error {
3783	return &ConflictException{
3784		RespMetadata: v,
3785	}
3786}
3787
3788// Code returns the exception type name.
3789func (s *ConflictException) Code() string {
3790	return "ConflictException"
3791}
3792
3793// Message returns the exception's message.
3794func (s *ConflictException) Message() string {
3795	if s.Message_ != nil {
3796		return *s.Message_
3797	}
3798	return ""
3799}
3800
3801// OrigErr always returns nil, satisfies awserr.Error interface.
3802func (s *ConflictException) OrigErr() error {
3803	return nil
3804}
3805
3806func (s *ConflictException) Error() string {
3807	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3808}
3809
3810// Status code returns the HTTP status code for the request's response error.
3811func (s *ConflictException) StatusCode() int {
3812	return s.RespMetadata.StatusCode
3813}
3814
3815// RequestID returns the service's response RequestID for request.
3816func (s *ConflictException) RequestID() string {
3817	return s.RespMetadata.RequestID
3818}
3819
3820// Details about dimensions that contributed to an anomaly.
3821type ContributionMatrix struct {
3822	_ struct{} `type:"structure"`
3823
3824	// A list of contributing dimensions.
3825	DimensionContributionList []*DimensionContribution `type:"list"`
3826}
3827
3828// String returns the string representation
3829func (s ContributionMatrix) String() string {
3830	return awsutil.Prettify(s)
3831}
3832
3833// GoString returns the string representation
3834func (s ContributionMatrix) GoString() string {
3835	return s.String()
3836}
3837
3838// SetDimensionContributionList sets the DimensionContributionList field's value.
3839func (s *ContributionMatrix) SetDimensionContributionList(v []*DimensionContribution) *ContributionMatrix {
3840	s.DimensionContributionList = v
3841	return s
3842}
3843
3844type CreateAlertInput struct {
3845	_ struct{} `type:"structure"`
3846
3847	// Action that will be triggered when there is an alert.
3848	//
3849	// Action is a required field
3850	Action *Action `type:"structure" required:"true"`
3851
3852	// A description of the alert.
3853	AlertDescription *string `type:"string"`
3854
3855	// The name of the alert.
3856	//
3857	// AlertName is a required field
3858	AlertName *string `min:"1" type:"string" required:"true"`
3859
3860	// An integer from 0 to 100 specifying the alert sensitivity threshold.
3861	//
3862	// AlertSensitivityThreshold is a required field
3863	AlertSensitivityThreshold *int64 `type:"integer" required:"true"`
3864
3865	// The ARN of the detector to which the alert is attached.
3866	//
3867	// AnomalyDetectorArn is a required field
3868	AnomalyDetectorArn *string `type:"string" required:"true"`
3869
3870	// A list of tags (https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html)
3871	// to apply to the alert.
3872	Tags map[string]*string `min:"1" type:"map"`
3873}
3874
3875// String returns the string representation
3876func (s CreateAlertInput) String() string {
3877	return awsutil.Prettify(s)
3878}
3879
3880// GoString returns the string representation
3881func (s CreateAlertInput) GoString() string {
3882	return s.String()
3883}
3884
3885// Validate inspects the fields of the type to determine if they are valid.
3886func (s *CreateAlertInput) Validate() error {
3887	invalidParams := request.ErrInvalidParams{Context: "CreateAlertInput"}
3888	if s.Action == nil {
3889		invalidParams.Add(request.NewErrParamRequired("Action"))
3890	}
3891	if s.AlertName == nil {
3892		invalidParams.Add(request.NewErrParamRequired("AlertName"))
3893	}
3894	if s.AlertName != nil && len(*s.AlertName) < 1 {
3895		invalidParams.Add(request.NewErrParamMinLen("AlertName", 1))
3896	}
3897	if s.AlertSensitivityThreshold == nil {
3898		invalidParams.Add(request.NewErrParamRequired("AlertSensitivityThreshold"))
3899	}
3900	if s.AnomalyDetectorArn == nil {
3901		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
3902	}
3903	if s.Tags != nil && len(s.Tags) < 1 {
3904		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
3905	}
3906	if s.Action != nil {
3907		if err := s.Action.Validate(); err != nil {
3908			invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
3909		}
3910	}
3911
3912	if invalidParams.Len() > 0 {
3913		return invalidParams
3914	}
3915	return nil
3916}
3917
3918// SetAction sets the Action field's value.
3919func (s *CreateAlertInput) SetAction(v *Action) *CreateAlertInput {
3920	s.Action = v
3921	return s
3922}
3923
3924// SetAlertDescription sets the AlertDescription field's value.
3925func (s *CreateAlertInput) SetAlertDescription(v string) *CreateAlertInput {
3926	s.AlertDescription = &v
3927	return s
3928}
3929
3930// SetAlertName sets the AlertName field's value.
3931func (s *CreateAlertInput) SetAlertName(v string) *CreateAlertInput {
3932	s.AlertName = &v
3933	return s
3934}
3935
3936// SetAlertSensitivityThreshold sets the AlertSensitivityThreshold field's value.
3937func (s *CreateAlertInput) SetAlertSensitivityThreshold(v int64) *CreateAlertInput {
3938	s.AlertSensitivityThreshold = &v
3939	return s
3940}
3941
3942// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
3943func (s *CreateAlertInput) SetAnomalyDetectorArn(v string) *CreateAlertInput {
3944	s.AnomalyDetectorArn = &v
3945	return s
3946}
3947
3948// SetTags sets the Tags field's value.
3949func (s *CreateAlertInput) SetTags(v map[string]*string) *CreateAlertInput {
3950	s.Tags = v
3951	return s
3952}
3953
3954type CreateAlertOutput struct {
3955	_ struct{} `type:"structure"`
3956
3957	// The ARN of the alert.
3958	AlertArn *string `type:"string"`
3959}
3960
3961// String returns the string representation
3962func (s CreateAlertOutput) String() string {
3963	return awsutil.Prettify(s)
3964}
3965
3966// GoString returns the string representation
3967func (s CreateAlertOutput) GoString() string {
3968	return s.String()
3969}
3970
3971// SetAlertArn sets the AlertArn field's value.
3972func (s *CreateAlertOutput) SetAlertArn(v string) *CreateAlertOutput {
3973	s.AlertArn = &v
3974	return s
3975}
3976
3977type CreateAnomalyDetectorInput struct {
3978	_ struct{} `type:"structure"`
3979
3980	// Contains information about the configuration of the anomaly detector.
3981	//
3982	// AnomalyDetectorConfig is a required field
3983	AnomalyDetectorConfig *AnomalyDetectorConfig `type:"structure" required:"true"`
3984
3985	// A description of the detector.
3986	AnomalyDetectorDescription *string `min:"1" type:"string"`
3987
3988	// The name of the detector.
3989	//
3990	// AnomalyDetectorName is a required field
3991	AnomalyDetectorName *string `min:"1" type:"string" required:"true"`
3992
3993	// The ARN of the KMS key to use to encrypt your data.
3994	KmsKeyArn *string `min:"20" type:"string"`
3995
3996	// A list of tags (https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html)
3997	// to apply to the anomaly detector.
3998	Tags map[string]*string `min:"1" type:"map"`
3999}
4000
4001// String returns the string representation
4002func (s CreateAnomalyDetectorInput) String() string {
4003	return awsutil.Prettify(s)
4004}
4005
4006// GoString returns the string representation
4007func (s CreateAnomalyDetectorInput) GoString() string {
4008	return s.String()
4009}
4010
4011// Validate inspects the fields of the type to determine if they are valid.
4012func (s *CreateAnomalyDetectorInput) Validate() error {
4013	invalidParams := request.ErrInvalidParams{Context: "CreateAnomalyDetectorInput"}
4014	if s.AnomalyDetectorConfig == nil {
4015		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorConfig"))
4016	}
4017	if s.AnomalyDetectorDescription != nil && len(*s.AnomalyDetectorDescription) < 1 {
4018		invalidParams.Add(request.NewErrParamMinLen("AnomalyDetectorDescription", 1))
4019	}
4020	if s.AnomalyDetectorName == nil {
4021		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorName"))
4022	}
4023	if s.AnomalyDetectorName != nil && len(*s.AnomalyDetectorName) < 1 {
4024		invalidParams.Add(request.NewErrParamMinLen("AnomalyDetectorName", 1))
4025	}
4026	if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 20 {
4027		invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 20))
4028	}
4029	if s.Tags != nil && len(s.Tags) < 1 {
4030		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4031	}
4032
4033	if invalidParams.Len() > 0 {
4034		return invalidParams
4035	}
4036	return nil
4037}
4038
4039// SetAnomalyDetectorConfig sets the AnomalyDetectorConfig field's value.
4040func (s *CreateAnomalyDetectorInput) SetAnomalyDetectorConfig(v *AnomalyDetectorConfig) *CreateAnomalyDetectorInput {
4041	s.AnomalyDetectorConfig = v
4042	return s
4043}
4044
4045// SetAnomalyDetectorDescription sets the AnomalyDetectorDescription field's value.
4046func (s *CreateAnomalyDetectorInput) SetAnomalyDetectorDescription(v string) *CreateAnomalyDetectorInput {
4047	s.AnomalyDetectorDescription = &v
4048	return s
4049}
4050
4051// SetAnomalyDetectorName sets the AnomalyDetectorName field's value.
4052func (s *CreateAnomalyDetectorInput) SetAnomalyDetectorName(v string) *CreateAnomalyDetectorInput {
4053	s.AnomalyDetectorName = &v
4054	return s
4055}
4056
4057// SetKmsKeyArn sets the KmsKeyArn field's value.
4058func (s *CreateAnomalyDetectorInput) SetKmsKeyArn(v string) *CreateAnomalyDetectorInput {
4059	s.KmsKeyArn = &v
4060	return s
4061}
4062
4063// SetTags sets the Tags field's value.
4064func (s *CreateAnomalyDetectorInput) SetTags(v map[string]*string) *CreateAnomalyDetectorInput {
4065	s.Tags = v
4066	return s
4067}
4068
4069type CreateAnomalyDetectorOutput struct {
4070	_ struct{} `type:"structure"`
4071
4072	// The ARN of the detector.
4073	AnomalyDetectorArn *string `type:"string"`
4074}
4075
4076// String returns the string representation
4077func (s CreateAnomalyDetectorOutput) String() string {
4078	return awsutil.Prettify(s)
4079}
4080
4081// GoString returns the string representation
4082func (s CreateAnomalyDetectorOutput) GoString() string {
4083	return s.String()
4084}
4085
4086// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
4087func (s *CreateAnomalyDetectorOutput) SetAnomalyDetectorArn(v string) *CreateAnomalyDetectorOutput {
4088	s.AnomalyDetectorArn = &v
4089	return s
4090}
4091
4092type CreateMetricSetInput struct {
4093	_ struct{} `type:"structure"`
4094
4095	// The ARN of the anomaly detector that will use the dataset.
4096	//
4097	// AnomalyDetectorArn is a required field
4098	AnomalyDetectorArn *string `type:"string" required:"true"`
4099
4100	// A list of the fields you want to treat as dimensions.
4101	DimensionList []*string `min:"1" type:"list"`
4102
4103	// A list of metrics that the dataset will contain.
4104	//
4105	// MetricList is a required field
4106	MetricList []*Metric `min:"1" type:"list" required:"true"`
4107
4108	// A description of the dataset you are creating.
4109	MetricSetDescription *string `min:"1" type:"string"`
4110
4111	// The frequency with which the source data will be analyzed for anomalies.
4112	MetricSetFrequency *string `type:"string" enum:"Frequency"`
4113
4114	// The name of the dataset.
4115	//
4116	// MetricSetName is a required field
4117	MetricSetName *string `min:"1" type:"string" required:"true"`
4118
4119	// Contains information about how the source data should be interpreted.
4120	//
4121	// MetricSource is a required field
4122	MetricSource *MetricSource `type:"structure" required:"true"`
4123
4124	// After an interval ends, the amount of seconds that the detector waits before
4125	// importing data. Offset is only supported for S3 and Redshift datasources.
4126	Offset *int64 `type:"integer"`
4127
4128	// A list of tags (https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html)
4129	// to apply to the dataset.
4130	Tags map[string]*string `min:"1" type:"map"`
4131
4132	// Contains information about the column used for tracking time in your source
4133	// data.
4134	TimestampColumn *TimestampColumn `type:"structure"`
4135
4136	// The time zone in which your source data was recorded.
4137	Timezone *string `type:"string"`
4138}
4139
4140// String returns the string representation
4141func (s CreateMetricSetInput) String() string {
4142	return awsutil.Prettify(s)
4143}
4144
4145// GoString returns the string representation
4146func (s CreateMetricSetInput) GoString() string {
4147	return s.String()
4148}
4149
4150// Validate inspects the fields of the type to determine if they are valid.
4151func (s *CreateMetricSetInput) Validate() error {
4152	invalidParams := request.ErrInvalidParams{Context: "CreateMetricSetInput"}
4153	if s.AnomalyDetectorArn == nil {
4154		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
4155	}
4156	if s.DimensionList != nil && len(s.DimensionList) < 1 {
4157		invalidParams.Add(request.NewErrParamMinLen("DimensionList", 1))
4158	}
4159	if s.MetricList == nil {
4160		invalidParams.Add(request.NewErrParamRequired("MetricList"))
4161	}
4162	if s.MetricList != nil && len(s.MetricList) < 1 {
4163		invalidParams.Add(request.NewErrParamMinLen("MetricList", 1))
4164	}
4165	if s.MetricSetDescription != nil && len(*s.MetricSetDescription) < 1 {
4166		invalidParams.Add(request.NewErrParamMinLen("MetricSetDescription", 1))
4167	}
4168	if s.MetricSetName == nil {
4169		invalidParams.Add(request.NewErrParamRequired("MetricSetName"))
4170	}
4171	if s.MetricSetName != nil && len(*s.MetricSetName) < 1 {
4172		invalidParams.Add(request.NewErrParamMinLen("MetricSetName", 1))
4173	}
4174	if s.MetricSource == nil {
4175		invalidParams.Add(request.NewErrParamRequired("MetricSource"))
4176	}
4177	if s.Tags != nil && len(s.Tags) < 1 {
4178		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4179	}
4180	if s.MetricList != nil {
4181		for i, v := range s.MetricList {
4182			if v == nil {
4183				continue
4184			}
4185			if err := v.Validate(); err != nil {
4186				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricList", i), err.(request.ErrInvalidParams))
4187			}
4188		}
4189	}
4190	if s.MetricSource != nil {
4191		if err := s.MetricSource.Validate(); err != nil {
4192			invalidParams.AddNested("MetricSource", err.(request.ErrInvalidParams))
4193		}
4194	}
4195	if s.TimestampColumn != nil {
4196		if err := s.TimestampColumn.Validate(); err != nil {
4197			invalidParams.AddNested("TimestampColumn", err.(request.ErrInvalidParams))
4198		}
4199	}
4200
4201	if invalidParams.Len() > 0 {
4202		return invalidParams
4203	}
4204	return nil
4205}
4206
4207// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
4208func (s *CreateMetricSetInput) SetAnomalyDetectorArn(v string) *CreateMetricSetInput {
4209	s.AnomalyDetectorArn = &v
4210	return s
4211}
4212
4213// SetDimensionList sets the DimensionList field's value.
4214func (s *CreateMetricSetInput) SetDimensionList(v []*string) *CreateMetricSetInput {
4215	s.DimensionList = v
4216	return s
4217}
4218
4219// SetMetricList sets the MetricList field's value.
4220func (s *CreateMetricSetInput) SetMetricList(v []*Metric) *CreateMetricSetInput {
4221	s.MetricList = v
4222	return s
4223}
4224
4225// SetMetricSetDescription sets the MetricSetDescription field's value.
4226func (s *CreateMetricSetInput) SetMetricSetDescription(v string) *CreateMetricSetInput {
4227	s.MetricSetDescription = &v
4228	return s
4229}
4230
4231// SetMetricSetFrequency sets the MetricSetFrequency field's value.
4232func (s *CreateMetricSetInput) SetMetricSetFrequency(v string) *CreateMetricSetInput {
4233	s.MetricSetFrequency = &v
4234	return s
4235}
4236
4237// SetMetricSetName sets the MetricSetName field's value.
4238func (s *CreateMetricSetInput) SetMetricSetName(v string) *CreateMetricSetInput {
4239	s.MetricSetName = &v
4240	return s
4241}
4242
4243// SetMetricSource sets the MetricSource field's value.
4244func (s *CreateMetricSetInput) SetMetricSource(v *MetricSource) *CreateMetricSetInput {
4245	s.MetricSource = v
4246	return s
4247}
4248
4249// SetOffset sets the Offset field's value.
4250func (s *CreateMetricSetInput) SetOffset(v int64) *CreateMetricSetInput {
4251	s.Offset = &v
4252	return s
4253}
4254
4255// SetTags sets the Tags field's value.
4256func (s *CreateMetricSetInput) SetTags(v map[string]*string) *CreateMetricSetInput {
4257	s.Tags = v
4258	return s
4259}
4260
4261// SetTimestampColumn sets the TimestampColumn field's value.
4262func (s *CreateMetricSetInput) SetTimestampColumn(v *TimestampColumn) *CreateMetricSetInput {
4263	s.TimestampColumn = v
4264	return s
4265}
4266
4267// SetTimezone sets the Timezone field's value.
4268func (s *CreateMetricSetInput) SetTimezone(v string) *CreateMetricSetInput {
4269	s.Timezone = &v
4270	return s
4271}
4272
4273type CreateMetricSetOutput struct {
4274	_ struct{} `type:"structure"`
4275
4276	// The ARN of the dataset.
4277	MetricSetArn *string `type:"string"`
4278}
4279
4280// String returns the string representation
4281func (s CreateMetricSetOutput) String() string {
4282	return awsutil.Prettify(s)
4283}
4284
4285// GoString returns the string representation
4286func (s CreateMetricSetOutput) GoString() string {
4287	return s.String()
4288}
4289
4290// SetMetricSetArn sets the MetricSetArn field's value.
4291func (s *CreateMetricSetOutput) SetMetricSetArn(v string) *CreateMetricSetOutput {
4292	s.MetricSetArn = &v
4293	return s
4294}
4295
4296// Contains information about how a source CSV data file should be analyzed.
4297type CsvFormatDescriptor struct {
4298	_ struct{} `type:"structure"`
4299
4300	// The character set in which the source CSV file is written.
4301	Charset *string `type:"string"`
4302
4303	// Whether or not the source CSV file contains a header.
4304	ContainsHeader *bool `type:"boolean"`
4305
4306	// The character used to delimit the source CSV file.
4307	Delimiter *string `type:"string"`
4308
4309	// The level of compression of the source CSV file.
4310	FileCompression *string `type:"string" enum:"CSVFileCompression"`
4311
4312	// A list of the source CSV file's headers, if any.
4313	HeaderList []*string `type:"list"`
4314
4315	// The character used as a quote character.
4316	QuoteSymbol *string `type:"string"`
4317}
4318
4319// String returns the string representation
4320func (s CsvFormatDescriptor) String() string {
4321	return awsutil.Prettify(s)
4322}
4323
4324// GoString returns the string representation
4325func (s CsvFormatDescriptor) GoString() string {
4326	return s.String()
4327}
4328
4329// SetCharset sets the Charset field's value.
4330func (s *CsvFormatDescriptor) SetCharset(v string) *CsvFormatDescriptor {
4331	s.Charset = &v
4332	return s
4333}
4334
4335// SetContainsHeader sets the ContainsHeader field's value.
4336func (s *CsvFormatDescriptor) SetContainsHeader(v bool) *CsvFormatDescriptor {
4337	s.ContainsHeader = &v
4338	return s
4339}
4340
4341// SetDelimiter sets the Delimiter field's value.
4342func (s *CsvFormatDescriptor) SetDelimiter(v string) *CsvFormatDescriptor {
4343	s.Delimiter = &v
4344	return s
4345}
4346
4347// SetFileCompression sets the FileCompression field's value.
4348func (s *CsvFormatDescriptor) SetFileCompression(v string) *CsvFormatDescriptor {
4349	s.FileCompression = &v
4350	return s
4351}
4352
4353// SetHeaderList sets the HeaderList field's value.
4354func (s *CsvFormatDescriptor) SetHeaderList(v []*string) *CsvFormatDescriptor {
4355	s.HeaderList = v
4356	return s
4357}
4358
4359// SetQuoteSymbol sets the QuoteSymbol field's value.
4360func (s *CsvFormatDescriptor) SetQuoteSymbol(v string) *CsvFormatDescriptor {
4361	s.QuoteSymbol = &v
4362	return s
4363}
4364
4365type DeleteAlertInput struct {
4366	_ struct{} `type:"structure"`
4367
4368	// The ARN of the alert to delete.
4369	//
4370	// AlertArn is a required field
4371	AlertArn *string `type:"string" required:"true"`
4372}
4373
4374// String returns the string representation
4375func (s DeleteAlertInput) String() string {
4376	return awsutil.Prettify(s)
4377}
4378
4379// GoString returns the string representation
4380func (s DeleteAlertInput) GoString() string {
4381	return s.String()
4382}
4383
4384// Validate inspects the fields of the type to determine if they are valid.
4385func (s *DeleteAlertInput) Validate() error {
4386	invalidParams := request.ErrInvalidParams{Context: "DeleteAlertInput"}
4387	if s.AlertArn == nil {
4388		invalidParams.Add(request.NewErrParamRequired("AlertArn"))
4389	}
4390
4391	if invalidParams.Len() > 0 {
4392		return invalidParams
4393	}
4394	return nil
4395}
4396
4397// SetAlertArn sets the AlertArn field's value.
4398func (s *DeleteAlertInput) SetAlertArn(v string) *DeleteAlertInput {
4399	s.AlertArn = &v
4400	return s
4401}
4402
4403type DeleteAlertOutput struct {
4404	_ struct{} `type:"structure"`
4405}
4406
4407// String returns the string representation
4408func (s DeleteAlertOutput) String() string {
4409	return awsutil.Prettify(s)
4410}
4411
4412// GoString returns the string representation
4413func (s DeleteAlertOutput) GoString() string {
4414	return s.String()
4415}
4416
4417type DeleteAnomalyDetectorInput struct {
4418	_ struct{} `type:"structure"`
4419
4420	// The ARN of the detector to delete.
4421	//
4422	// AnomalyDetectorArn is a required field
4423	AnomalyDetectorArn *string `type:"string" required:"true"`
4424}
4425
4426// String returns the string representation
4427func (s DeleteAnomalyDetectorInput) String() string {
4428	return awsutil.Prettify(s)
4429}
4430
4431// GoString returns the string representation
4432func (s DeleteAnomalyDetectorInput) GoString() string {
4433	return s.String()
4434}
4435
4436// Validate inspects the fields of the type to determine if they are valid.
4437func (s *DeleteAnomalyDetectorInput) Validate() error {
4438	invalidParams := request.ErrInvalidParams{Context: "DeleteAnomalyDetectorInput"}
4439	if s.AnomalyDetectorArn == nil {
4440		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
4441	}
4442
4443	if invalidParams.Len() > 0 {
4444		return invalidParams
4445	}
4446	return nil
4447}
4448
4449// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
4450func (s *DeleteAnomalyDetectorInput) SetAnomalyDetectorArn(v string) *DeleteAnomalyDetectorInput {
4451	s.AnomalyDetectorArn = &v
4452	return s
4453}
4454
4455type DeleteAnomalyDetectorOutput struct {
4456	_ struct{} `type:"structure"`
4457}
4458
4459// String returns the string representation
4460func (s DeleteAnomalyDetectorOutput) String() string {
4461	return awsutil.Prettify(s)
4462}
4463
4464// GoString returns the string representation
4465func (s DeleteAnomalyDetectorOutput) GoString() string {
4466	return s.String()
4467}
4468
4469type DescribeAlertInput struct {
4470	_ struct{} `type:"structure"`
4471
4472	// The ARN of the alert to describe.
4473	//
4474	// AlertArn is a required field
4475	AlertArn *string `type:"string" required:"true"`
4476}
4477
4478// String returns the string representation
4479func (s DescribeAlertInput) String() string {
4480	return awsutil.Prettify(s)
4481}
4482
4483// GoString returns the string representation
4484func (s DescribeAlertInput) GoString() string {
4485	return s.String()
4486}
4487
4488// Validate inspects the fields of the type to determine if they are valid.
4489func (s *DescribeAlertInput) Validate() error {
4490	invalidParams := request.ErrInvalidParams{Context: "DescribeAlertInput"}
4491	if s.AlertArn == nil {
4492		invalidParams.Add(request.NewErrParamRequired("AlertArn"))
4493	}
4494
4495	if invalidParams.Len() > 0 {
4496		return invalidParams
4497	}
4498	return nil
4499}
4500
4501// SetAlertArn sets the AlertArn field's value.
4502func (s *DescribeAlertInput) SetAlertArn(v string) *DescribeAlertInput {
4503	s.AlertArn = &v
4504	return s
4505}
4506
4507type DescribeAlertOutput struct {
4508	_ struct{} `type:"structure"`
4509
4510	// Contains information about an alert.
4511	Alert *Alert `type:"structure"`
4512}
4513
4514// String returns the string representation
4515func (s DescribeAlertOutput) String() string {
4516	return awsutil.Prettify(s)
4517}
4518
4519// GoString returns the string representation
4520func (s DescribeAlertOutput) GoString() string {
4521	return s.String()
4522}
4523
4524// SetAlert sets the Alert field's value.
4525func (s *DescribeAlertOutput) SetAlert(v *Alert) *DescribeAlertOutput {
4526	s.Alert = v
4527	return s
4528}
4529
4530type DescribeAnomalyDetectionExecutionsInput struct {
4531	_ struct{} `type:"structure"`
4532
4533	// The Amazon Resource Name (ARN) of the anomaly detector.
4534	//
4535	// AnomalyDetectorArn is a required field
4536	AnomalyDetectorArn *string `type:"string" required:"true"`
4537
4538	// The number of items to return in the response.
4539	MaxResults *int64 `min:"1" type:"integer"`
4540
4541	// Specify the pagination token that's returned by a previous request to retrieve
4542	// the next page of results.
4543	NextToken *string `min:"1" type:"string"`
4544
4545	// The timestamp of the anomaly detection job.
4546	Timestamp *string `type:"string"`
4547}
4548
4549// String returns the string representation
4550func (s DescribeAnomalyDetectionExecutionsInput) String() string {
4551	return awsutil.Prettify(s)
4552}
4553
4554// GoString returns the string representation
4555func (s DescribeAnomalyDetectionExecutionsInput) GoString() string {
4556	return s.String()
4557}
4558
4559// Validate inspects the fields of the type to determine if they are valid.
4560func (s *DescribeAnomalyDetectionExecutionsInput) Validate() error {
4561	invalidParams := request.ErrInvalidParams{Context: "DescribeAnomalyDetectionExecutionsInput"}
4562	if s.AnomalyDetectorArn == nil {
4563		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
4564	}
4565	if s.MaxResults != nil && *s.MaxResults < 1 {
4566		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4567	}
4568	if s.NextToken != nil && len(*s.NextToken) < 1 {
4569		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
4570	}
4571
4572	if invalidParams.Len() > 0 {
4573		return invalidParams
4574	}
4575	return nil
4576}
4577
4578// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
4579func (s *DescribeAnomalyDetectionExecutionsInput) SetAnomalyDetectorArn(v string) *DescribeAnomalyDetectionExecutionsInput {
4580	s.AnomalyDetectorArn = &v
4581	return s
4582}
4583
4584// SetMaxResults sets the MaxResults field's value.
4585func (s *DescribeAnomalyDetectionExecutionsInput) SetMaxResults(v int64) *DescribeAnomalyDetectionExecutionsInput {
4586	s.MaxResults = &v
4587	return s
4588}
4589
4590// SetNextToken sets the NextToken field's value.
4591func (s *DescribeAnomalyDetectionExecutionsInput) SetNextToken(v string) *DescribeAnomalyDetectionExecutionsInput {
4592	s.NextToken = &v
4593	return s
4594}
4595
4596// SetTimestamp sets the Timestamp field's value.
4597func (s *DescribeAnomalyDetectionExecutionsInput) SetTimestamp(v string) *DescribeAnomalyDetectionExecutionsInput {
4598	s.Timestamp = &v
4599	return s
4600}
4601
4602type DescribeAnomalyDetectionExecutionsOutput struct {
4603	_ struct{} `type:"structure"`
4604
4605	// A list of detection jobs.
4606	ExecutionList []*ExecutionStatus `type:"list"`
4607
4608	// The pagination token that's included if more results are available.
4609	NextToken *string `min:"1" type:"string"`
4610}
4611
4612// String returns the string representation
4613func (s DescribeAnomalyDetectionExecutionsOutput) String() string {
4614	return awsutil.Prettify(s)
4615}
4616
4617// GoString returns the string representation
4618func (s DescribeAnomalyDetectionExecutionsOutput) GoString() string {
4619	return s.String()
4620}
4621
4622// SetExecutionList sets the ExecutionList field's value.
4623func (s *DescribeAnomalyDetectionExecutionsOutput) SetExecutionList(v []*ExecutionStatus) *DescribeAnomalyDetectionExecutionsOutput {
4624	s.ExecutionList = v
4625	return s
4626}
4627
4628// SetNextToken sets the NextToken field's value.
4629func (s *DescribeAnomalyDetectionExecutionsOutput) SetNextToken(v string) *DescribeAnomalyDetectionExecutionsOutput {
4630	s.NextToken = &v
4631	return s
4632}
4633
4634type DescribeAnomalyDetectorInput struct {
4635	_ struct{} `type:"structure"`
4636
4637	// The ARN of the detector to describe.
4638	//
4639	// AnomalyDetectorArn is a required field
4640	AnomalyDetectorArn *string `type:"string" required:"true"`
4641}
4642
4643// String returns the string representation
4644func (s DescribeAnomalyDetectorInput) String() string {
4645	return awsutil.Prettify(s)
4646}
4647
4648// GoString returns the string representation
4649func (s DescribeAnomalyDetectorInput) GoString() string {
4650	return s.String()
4651}
4652
4653// Validate inspects the fields of the type to determine if they are valid.
4654func (s *DescribeAnomalyDetectorInput) Validate() error {
4655	invalidParams := request.ErrInvalidParams{Context: "DescribeAnomalyDetectorInput"}
4656	if s.AnomalyDetectorArn == nil {
4657		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
4658	}
4659
4660	if invalidParams.Len() > 0 {
4661		return invalidParams
4662	}
4663	return nil
4664}
4665
4666// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
4667func (s *DescribeAnomalyDetectorInput) SetAnomalyDetectorArn(v string) *DescribeAnomalyDetectorInput {
4668	s.AnomalyDetectorArn = &v
4669	return s
4670}
4671
4672type DescribeAnomalyDetectorOutput struct {
4673	_ struct{} `type:"structure"`
4674
4675	// The ARN of the detector.
4676	AnomalyDetectorArn *string `type:"string"`
4677
4678	// Contains information about the detector's configuration.
4679	AnomalyDetectorConfig *AnomalyDetectorConfigSummary `type:"structure"`
4680
4681	// A description of the detector.
4682	AnomalyDetectorDescription *string `min:"1" type:"string"`
4683
4684	// The name of the detector.
4685	AnomalyDetectorName *string `min:"1" type:"string"`
4686
4687	// The time at which the detector was created.
4688	CreationTime *time.Time `type:"timestamp"`
4689
4690	// The reason that the detector failed, if any.
4691	FailureReason *string `type:"string"`
4692
4693	// The ARN of the KMS key to use to encrypt your data.
4694	KmsKeyArn *string `min:"20" type:"string"`
4695
4696	// The time at which the detector was last modified.
4697	LastModificationTime *time.Time `type:"timestamp"`
4698
4699	// The status of the detector.
4700	Status *string `type:"string" enum:"AnomalyDetectorStatus"`
4701}
4702
4703// String returns the string representation
4704func (s DescribeAnomalyDetectorOutput) String() string {
4705	return awsutil.Prettify(s)
4706}
4707
4708// GoString returns the string representation
4709func (s DescribeAnomalyDetectorOutput) GoString() string {
4710	return s.String()
4711}
4712
4713// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
4714func (s *DescribeAnomalyDetectorOutput) SetAnomalyDetectorArn(v string) *DescribeAnomalyDetectorOutput {
4715	s.AnomalyDetectorArn = &v
4716	return s
4717}
4718
4719// SetAnomalyDetectorConfig sets the AnomalyDetectorConfig field's value.
4720func (s *DescribeAnomalyDetectorOutput) SetAnomalyDetectorConfig(v *AnomalyDetectorConfigSummary) *DescribeAnomalyDetectorOutput {
4721	s.AnomalyDetectorConfig = v
4722	return s
4723}
4724
4725// SetAnomalyDetectorDescription sets the AnomalyDetectorDescription field's value.
4726func (s *DescribeAnomalyDetectorOutput) SetAnomalyDetectorDescription(v string) *DescribeAnomalyDetectorOutput {
4727	s.AnomalyDetectorDescription = &v
4728	return s
4729}
4730
4731// SetAnomalyDetectorName sets the AnomalyDetectorName field's value.
4732func (s *DescribeAnomalyDetectorOutput) SetAnomalyDetectorName(v string) *DescribeAnomalyDetectorOutput {
4733	s.AnomalyDetectorName = &v
4734	return s
4735}
4736
4737// SetCreationTime sets the CreationTime field's value.
4738func (s *DescribeAnomalyDetectorOutput) SetCreationTime(v time.Time) *DescribeAnomalyDetectorOutput {
4739	s.CreationTime = &v
4740	return s
4741}
4742
4743// SetFailureReason sets the FailureReason field's value.
4744func (s *DescribeAnomalyDetectorOutput) SetFailureReason(v string) *DescribeAnomalyDetectorOutput {
4745	s.FailureReason = &v
4746	return s
4747}
4748
4749// SetKmsKeyArn sets the KmsKeyArn field's value.
4750func (s *DescribeAnomalyDetectorOutput) SetKmsKeyArn(v string) *DescribeAnomalyDetectorOutput {
4751	s.KmsKeyArn = &v
4752	return s
4753}
4754
4755// SetLastModificationTime sets the LastModificationTime field's value.
4756func (s *DescribeAnomalyDetectorOutput) SetLastModificationTime(v time.Time) *DescribeAnomalyDetectorOutput {
4757	s.LastModificationTime = &v
4758	return s
4759}
4760
4761// SetStatus sets the Status field's value.
4762func (s *DescribeAnomalyDetectorOutput) SetStatus(v string) *DescribeAnomalyDetectorOutput {
4763	s.Status = &v
4764	return s
4765}
4766
4767type DescribeMetricSetInput struct {
4768	_ struct{} `type:"structure"`
4769
4770	// The ARN of the dataset.
4771	//
4772	// MetricSetArn is a required field
4773	MetricSetArn *string `type:"string" required:"true"`
4774}
4775
4776// String returns the string representation
4777func (s DescribeMetricSetInput) String() string {
4778	return awsutil.Prettify(s)
4779}
4780
4781// GoString returns the string representation
4782func (s DescribeMetricSetInput) GoString() string {
4783	return s.String()
4784}
4785
4786// Validate inspects the fields of the type to determine if they are valid.
4787func (s *DescribeMetricSetInput) Validate() error {
4788	invalidParams := request.ErrInvalidParams{Context: "DescribeMetricSetInput"}
4789	if s.MetricSetArn == nil {
4790		invalidParams.Add(request.NewErrParamRequired("MetricSetArn"))
4791	}
4792
4793	if invalidParams.Len() > 0 {
4794		return invalidParams
4795	}
4796	return nil
4797}
4798
4799// SetMetricSetArn sets the MetricSetArn field's value.
4800func (s *DescribeMetricSetInput) SetMetricSetArn(v string) *DescribeMetricSetInput {
4801	s.MetricSetArn = &v
4802	return s
4803}
4804
4805type DescribeMetricSetOutput struct {
4806	_ struct{} `type:"structure"`
4807
4808	// The ARN of the detector that contains the dataset.
4809	AnomalyDetectorArn *string `type:"string"`
4810
4811	// The time at which the dataset was created.
4812	CreationTime *time.Time `type:"timestamp"`
4813
4814	// A list of the dimensions chosen for analysis.
4815	DimensionList []*string `min:"1" type:"list"`
4816
4817	// The time at which the dataset was last modified.
4818	LastModificationTime *time.Time `type:"timestamp"`
4819
4820	// A list of the metrics defined by the dataset.
4821	MetricList []*Metric `min:"1" type:"list"`
4822
4823	// The ARN of the dataset.
4824	MetricSetArn *string `type:"string"`
4825
4826	// The dataset's description.
4827	MetricSetDescription *string `min:"1" type:"string"`
4828
4829	// The interval at which the data will be analyzed for anomalies.
4830	MetricSetFrequency *string `type:"string" enum:"Frequency"`
4831
4832	// The name of the dataset.
4833	MetricSetName *string `min:"1" type:"string"`
4834
4835	// Contains information about the dataset's source data.
4836	MetricSource *MetricSource `type:"structure"`
4837
4838	// The offset in seconds. Only supported for S3 and Redshift datasources.
4839	Offset *int64 `type:"integer"`
4840
4841	// Contains information about the column used for tracking time in your source
4842	// data.
4843	TimestampColumn *TimestampColumn `type:"structure"`
4844
4845	// The time zone in which the dataset's data was recorded.
4846	Timezone *string `type:"string"`
4847}
4848
4849// String returns the string representation
4850func (s DescribeMetricSetOutput) String() string {
4851	return awsutil.Prettify(s)
4852}
4853
4854// GoString returns the string representation
4855func (s DescribeMetricSetOutput) GoString() string {
4856	return s.String()
4857}
4858
4859// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
4860func (s *DescribeMetricSetOutput) SetAnomalyDetectorArn(v string) *DescribeMetricSetOutput {
4861	s.AnomalyDetectorArn = &v
4862	return s
4863}
4864
4865// SetCreationTime sets the CreationTime field's value.
4866func (s *DescribeMetricSetOutput) SetCreationTime(v time.Time) *DescribeMetricSetOutput {
4867	s.CreationTime = &v
4868	return s
4869}
4870
4871// SetDimensionList sets the DimensionList field's value.
4872func (s *DescribeMetricSetOutput) SetDimensionList(v []*string) *DescribeMetricSetOutput {
4873	s.DimensionList = v
4874	return s
4875}
4876
4877// SetLastModificationTime sets the LastModificationTime field's value.
4878func (s *DescribeMetricSetOutput) SetLastModificationTime(v time.Time) *DescribeMetricSetOutput {
4879	s.LastModificationTime = &v
4880	return s
4881}
4882
4883// SetMetricList sets the MetricList field's value.
4884func (s *DescribeMetricSetOutput) SetMetricList(v []*Metric) *DescribeMetricSetOutput {
4885	s.MetricList = v
4886	return s
4887}
4888
4889// SetMetricSetArn sets the MetricSetArn field's value.
4890func (s *DescribeMetricSetOutput) SetMetricSetArn(v string) *DescribeMetricSetOutput {
4891	s.MetricSetArn = &v
4892	return s
4893}
4894
4895// SetMetricSetDescription sets the MetricSetDescription field's value.
4896func (s *DescribeMetricSetOutput) SetMetricSetDescription(v string) *DescribeMetricSetOutput {
4897	s.MetricSetDescription = &v
4898	return s
4899}
4900
4901// SetMetricSetFrequency sets the MetricSetFrequency field's value.
4902func (s *DescribeMetricSetOutput) SetMetricSetFrequency(v string) *DescribeMetricSetOutput {
4903	s.MetricSetFrequency = &v
4904	return s
4905}
4906
4907// SetMetricSetName sets the MetricSetName field's value.
4908func (s *DescribeMetricSetOutput) SetMetricSetName(v string) *DescribeMetricSetOutput {
4909	s.MetricSetName = &v
4910	return s
4911}
4912
4913// SetMetricSource sets the MetricSource field's value.
4914func (s *DescribeMetricSetOutput) SetMetricSource(v *MetricSource) *DescribeMetricSetOutput {
4915	s.MetricSource = v
4916	return s
4917}
4918
4919// SetOffset sets the Offset field's value.
4920func (s *DescribeMetricSetOutput) SetOffset(v int64) *DescribeMetricSetOutput {
4921	s.Offset = &v
4922	return s
4923}
4924
4925// SetTimestampColumn sets the TimestampColumn field's value.
4926func (s *DescribeMetricSetOutput) SetTimestampColumn(v *TimestampColumn) *DescribeMetricSetOutput {
4927	s.TimestampColumn = v
4928	return s
4929}
4930
4931// SetTimezone sets the Timezone field's value.
4932func (s *DescribeMetricSetOutput) SetTimezone(v string) *DescribeMetricSetOutput {
4933	s.Timezone = &v
4934	return s
4935}
4936
4937// Details about a dimension that contributed to an anomaly.
4938type DimensionContribution struct {
4939	_ struct{} `type:"structure"`
4940
4941	// The name of the dimension.
4942	DimensionName *string `min:"1" type:"string"`
4943
4944	// A list of dimension values that contributed to the anomaly.
4945	DimensionValueContributionList []*DimensionValueContribution `type:"list"`
4946}
4947
4948// String returns the string representation
4949func (s DimensionContribution) String() string {
4950	return awsutil.Prettify(s)
4951}
4952
4953// GoString returns the string representation
4954func (s DimensionContribution) GoString() string {
4955	return s.String()
4956}
4957
4958// SetDimensionName sets the DimensionName field's value.
4959func (s *DimensionContribution) SetDimensionName(v string) *DimensionContribution {
4960	s.DimensionName = &v
4961	return s
4962}
4963
4964// SetDimensionValueContributionList sets the DimensionValueContributionList field's value.
4965func (s *DimensionContribution) SetDimensionValueContributionList(v []*DimensionValueContribution) *DimensionContribution {
4966	s.DimensionValueContributionList = v
4967	return s
4968}
4969
4970// A dimension name and value.
4971type DimensionNameValue struct {
4972	_ struct{} `type:"structure"`
4973
4974	// The name of the dimension.
4975	//
4976	// DimensionName is a required field
4977	DimensionName *string `min:"1" type:"string" required:"true"`
4978
4979	// The value of the dimension.
4980	//
4981	// DimensionValue is a required field
4982	DimensionValue *string `type:"string" required:"true"`
4983}
4984
4985// String returns the string representation
4986func (s DimensionNameValue) String() string {
4987	return awsutil.Prettify(s)
4988}
4989
4990// GoString returns the string representation
4991func (s DimensionNameValue) GoString() string {
4992	return s.String()
4993}
4994
4995// SetDimensionName sets the DimensionName field's value.
4996func (s *DimensionNameValue) SetDimensionName(v string) *DimensionNameValue {
4997	s.DimensionName = &v
4998	return s
4999}
5000
5001// SetDimensionValue sets the DimensionValue field's value.
5002func (s *DimensionNameValue) SetDimensionValue(v string) *DimensionNameValue {
5003	s.DimensionValue = &v
5004	return s
5005}
5006
5007// The severity of a value of a dimension that contributed to an anomaly.
5008type DimensionValueContribution struct {
5009	_ struct{} `type:"structure"`
5010
5011	// The severity score of the value.
5012	ContributionScore *float64 `type:"double"`
5013
5014	// The value of the dimension.
5015	DimensionValue *string `type:"string"`
5016}
5017
5018// String returns the string representation
5019func (s DimensionValueContribution) String() string {
5020	return awsutil.Prettify(s)
5021}
5022
5023// GoString returns the string representation
5024func (s DimensionValueContribution) GoString() string {
5025	return s.String()
5026}
5027
5028// SetContributionScore sets the ContributionScore field's value.
5029func (s *DimensionValueContribution) SetContributionScore(v float64) *DimensionValueContribution {
5030	s.ContributionScore = &v
5031	return s
5032}
5033
5034// SetDimensionValue sets the DimensionValue field's value.
5035func (s *DimensionValueContribution) SetDimensionValue(v string) *DimensionValueContribution {
5036	s.DimensionValue = &v
5037	return s
5038}
5039
5040// The status of an anomaly detector run.
5041type ExecutionStatus struct {
5042	_ struct{} `type:"structure"`
5043
5044	// The reason that the run failed, if applicable.
5045	FailureReason *string `min:"1" type:"string"`
5046
5047	// The run's status.
5048	Status *string `type:"string" enum:"AnomalyDetectionTaskStatus"`
5049
5050	// The run's timestamp.
5051	Timestamp *string `type:"string"`
5052}
5053
5054// String returns the string representation
5055func (s ExecutionStatus) String() string {
5056	return awsutil.Prettify(s)
5057}
5058
5059// GoString returns the string representation
5060func (s ExecutionStatus) GoString() string {
5061	return s.String()
5062}
5063
5064// SetFailureReason sets the FailureReason field's value.
5065func (s *ExecutionStatus) SetFailureReason(v string) *ExecutionStatus {
5066	s.FailureReason = &v
5067	return s
5068}
5069
5070// SetStatus sets the Status field's value.
5071func (s *ExecutionStatus) SetStatus(v string) *ExecutionStatus {
5072	s.Status = &v
5073	return s
5074}
5075
5076// SetTimestamp sets the Timestamp field's value.
5077func (s *ExecutionStatus) SetTimestamp(v string) *ExecutionStatus {
5078	s.Timestamp = &v
5079	return s
5080}
5081
5082// Contains information about a source file's formatting.
5083type FileFormatDescriptor struct {
5084	_ struct{} `type:"structure"`
5085
5086	// Contains information about how a source CSV data file should be analyzed.
5087	CsvFormatDescriptor *CsvFormatDescriptor `type:"structure"`
5088
5089	// Contains information about how a source JSON data file should be analyzed.
5090	JsonFormatDescriptor *JsonFormatDescriptor `type:"structure"`
5091}
5092
5093// String returns the string representation
5094func (s FileFormatDescriptor) String() string {
5095	return awsutil.Prettify(s)
5096}
5097
5098// GoString returns the string representation
5099func (s FileFormatDescriptor) GoString() string {
5100	return s.String()
5101}
5102
5103// SetCsvFormatDescriptor sets the CsvFormatDescriptor field's value.
5104func (s *FileFormatDescriptor) SetCsvFormatDescriptor(v *CsvFormatDescriptor) *FileFormatDescriptor {
5105	s.CsvFormatDescriptor = v
5106	return s
5107}
5108
5109// SetJsonFormatDescriptor sets the JsonFormatDescriptor field's value.
5110func (s *FileFormatDescriptor) SetJsonFormatDescriptor(v *JsonFormatDescriptor) *FileFormatDescriptor {
5111	s.JsonFormatDescriptor = v
5112	return s
5113}
5114
5115type GetAnomalyGroupInput struct {
5116	_ struct{} `type:"structure"`
5117
5118	// The Amazon Resource Name (ARN) of the anomaly detector.
5119	//
5120	// AnomalyDetectorArn is a required field
5121	AnomalyDetectorArn *string `type:"string" required:"true"`
5122
5123	// The ID of the anomaly group.
5124	//
5125	// AnomalyGroupId is a required field
5126	AnomalyGroupId *string `type:"string" required:"true"`
5127}
5128
5129// String returns the string representation
5130func (s GetAnomalyGroupInput) String() string {
5131	return awsutil.Prettify(s)
5132}
5133
5134// GoString returns the string representation
5135func (s GetAnomalyGroupInput) GoString() string {
5136	return s.String()
5137}
5138
5139// Validate inspects the fields of the type to determine if they are valid.
5140func (s *GetAnomalyGroupInput) Validate() error {
5141	invalidParams := request.ErrInvalidParams{Context: "GetAnomalyGroupInput"}
5142	if s.AnomalyDetectorArn == nil {
5143		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
5144	}
5145	if s.AnomalyGroupId == nil {
5146		invalidParams.Add(request.NewErrParamRequired("AnomalyGroupId"))
5147	}
5148
5149	if invalidParams.Len() > 0 {
5150		return invalidParams
5151	}
5152	return nil
5153}
5154
5155// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
5156func (s *GetAnomalyGroupInput) SetAnomalyDetectorArn(v string) *GetAnomalyGroupInput {
5157	s.AnomalyDetectorArn = &v
5158	return s
5159}
5160
5161// SetAnomalyGroupId sets the AnomalyGroupId field's value.
5162func (s *GetAnomalyGroupInput) SetAnomalyGroupId(v string) *GetAnomalyGroupInput {
5163	s.AnomalyGroupId = &v
5164	return s
5165}
5166
5167type GetAnomalyGroupOutput struct {
5168	_ struct{} `type:"structure"`
5169
5170	// Details about the anomaly group.
5171	AnomalyGroup *AnomalyGroup `type:"structure"`
5172}
5173
5174// String returns the string representation
5175func (s GetAnomalyGroupOutput) String() string {
5176	return awsutil.Prettify(s)
5177}
5178
5179// GoString returns the string representation
5180func (s GetAnomalyGroupOutput) GoString() string {
5181	return s.String()
5182}
5183
5184// SetAnomalyGroup sets the AnomalyGroup field's value.
5185func (s *GetAnomalyGroupOutput) SetAnomalyGroup(v *AnomalyGroup) *GetAnomalyGroupOutput {
5186	s.AnomalyGroup = v
5187	return s
5188}
5189
5190type GetFeedbackInput struct {
5191	_ struct{} `type:"structure"`
5192
5193	// The Amazon Resource Name (ARN) of the anomaly detector.
5194	//
5195	// AnomalyDetectorArn is a required field
5196	AnomalyDetectorArn *string `type:"string" required:"true"`
5197
5198	// The anomalous metric and group ID.
5199	//
5200	// AnomalyGroupTimeSeriesFeedback is a required field
5201	AnomalyGroupTimeSeriesFeedback *AnomalyGroupTimeSeries `type:"structure" required:"true"`
5202
5203	// The maximum number of results to return.
5204	MaxResults *int64 `min:"1" type:"integer"`
5205
5206	// Specify the pagination token that's returned by a previous request to retrieve
5207	// the next page of results.
5208	NextToken *string `min:"1" type:"string"`
5209}
5210
5211// String returns the string representation
5212func (s GetFeedbackInput) String() string {
5213	return awsutil.Prettify(s)
5214}
5215
5216// GoString returns the string representation
5217func (s GetFeedbackInput) GoString() string {
5218	return s.String()
5219}
5220
5221// Validate inspects the fields of the type to determine if they are valid.
5222func (s *GetFeedbackInput) Validate() error {
5223	invalidParams := request.ErrInvalidParams{Context: "GetFeedbackInput"}
5224	if s.AnomalyDetectorArn == nil {
5225		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
5226	}
5227	if s.AnomalyGroupTimeSeriesFeedback == nil {
5228		invalidParams.Add(request.NewErrParamRequired("AnomalyGroupTimeSeriesFeedback"))
5229	}
5230	if s.MaxResults != nil && *s.MaxResults < 1 {
5231		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5232	}
5233	if s.NextToken != nil && len(*s.NextToken) < 1 {
5234		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5235	}
5236	if s.AnomalyGroupTimeSeriesFeedback != nil {
5237		if err := s.AnomalyGroupTimeSeriesFeedback.Validate(); err != nil {
5238			invalidParams.AddNested("AnomalyGroupTimeSeriesFeedback", err.(request.ErrInvalidParams))
5239		}
5240	}
5241
5242	if invalidParams.Len() > 0 {
5243		return invalidParams
5244	}
5245	return nil
5246}
5247
5248// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
5249func (s *GetFeedbackInput) SetAnomalyDetectorArn(v string) *GetFeedbackInput {
5250	s.AnomalyDetectorArn = &v
5251	return s
5252}
5253
5254// SetAnomalyGroupTimeSeriesFeedback sets the AnomalyGroupTimeSeriesFeedback field's value.
5255func (s *GetFeedbackInput) SetAnomalyGroupTimeSeriesFeedback(v *AnomalyGroupTimeSeries) *GetFeedbackInput {
5256	s.AnomalyGroupTimeSeriesFeedback = v
5257	return s
5258}
5259
5260// SetMaxResults sets the MaxResults field's value.
5261func (s *GetFeedbackInput) SetMaxResults(v int64) *GetFeedbackInput {
5262	s.MaxResults = &v
5263	return s
5264}
5265
5266// SetNextToken sets the NextToken field's value.
5267func (s *GetFeedbackInput) SetNextToken(v string) *GetFeedbackInput {
5268	s.NextToken = &v
5269	return s
5270}
5271
5272type GetFeedbackOutput struct {
5273	_ struct{} `type:"structure"`
5274
5275	// Feedback for an anomalous metric.
5276	AnomalyGroupTimeSeriesFeedback []*TimeSeriesFeedback `type:"list"`
5277
5278	// The pagination token that's included if more results are available.
5279	NextToken *string `min:"1" type:"string"`
5280}
5281
5282// String returns the string representation
5283func (s GetFeedbackOutput) String() string {
5284	return awsutil.Prettify(s)
5285}
5286
5287// GoString returns the string representation
5288func (s GetFeedbackOutput) GoString() string {
5289	return s.String()
5290}
5291
5292// SetAnomalyGroupTimeSeriesFeedback sets the AnomalyGroupTimeSeriesFeedback field's value.
5293func (s *GetFeedbackOutput) SetAnomalyGroupTimeSeriesFeedback(v []*TimeSeriesFeedback) *GetFeedbackOutput {
5294	s.AnomalyGroupTimeSeriesFeedback = v
5295	return s
5296}
5297
5298// SetNextToken sets the NextToken field's value.
5299func (s *GetFeedbackOutput) SetNextToken(v string) *GetFeedbackOutput {
5300	s.NextToken = &v
5301	return s
5302}
5303
5304type GetSampleDataInput struct {
5305	_ struct{} `type:"structure"`
5306
5307	// A datasource bucket in Amazon S3.
5308	S3SourceConfig *SampleDataS3SourceConfig `type:"structure"`
5309}
5310
5311// String returns the string representation
5312func (s GetSampleDataInput) String() string {
5313	return awsutil.Prettify(s)
5314}
5315
5316// GoString returns the string representation
5317func (s GetSampleDataInput) GoString() string {
5318	return s.String()
5319}
5320
5321// Validate inspects the fields of the type to determine if they are valid.
5322func (s *GetSampleDataInput) Validate() error {
5323	invalidParams := request.ErrInvalidParams{Context: "GetSampleDataInput"}
5324	if s.S3SourceConfig != nil {
5325		if err := s.S3SourceConfig.Validate(); err != nil {
5326			invalidParams.AddNested("S3SourceConfig", err.(request.ErrInvalidParams))
5327		}
5328	}
5329
5330	if invalidParams.Len() > 0 {
5331		return invalidParams
5332	}
5333	return nil
5334}
5335
5336// SetS3SourceConfig sets the S3SourceConfig field's value.
5337func (s *GetSampleDataInput) SetS3SourceConfig(v *SampleDataS3SourceConfig) *GetSampleDataInput {
5338	s.S3SourceConfig = v
5339	return s
5340}
5341
5342type GetSampleDataOutput struct {
5343	_ struct{} `type:"structure"`
5344
5345	// A list of header labels for the records.
5346	HeaderValues []*string `type:"list"`
5347
5348	// A list of records.
5349	SampleRows [][]*string `type:"list"`
5350}
5351
5352// String returns the string representation
5353func (s GetSampleDataOutput) String() string {
5354	return awsutil.Prettify(s)
5355}
5356
5357// GoString returns the string representation
5358func (s GetSampleDataOutput) GoString() string {
5359	return s.String()
5360}
5361
5362// SetHeaderValues sets the HeaderValues field's value.
5363func (s *GetSampleDataOutput) SetHeaderValues(v []*string) *GetSampleDataOutput {
5364	s.HeaderValues = v
5365	return s
5366}
5367
5368// SetSampleRows sets the SampleRows field's value.
5369func (s *GetSampleDataOutput) SetSampleRows(v [][]*string) *GetSampleDataOutput {
5370	s.SampleRows = v
5371	return s
5372}
5373
5374// The request processing has failed because of an unknown error, exception,
5375// or failure.
5376type InternalServerException struct {
5377	_            struct{}                  `type:"structure"`
5378	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5379
5380	Message_ *string `locationName:"Message" type:"string"`
5381}
5382
5383// String returns the string representation
5384func (s InternalServerException) String() string {
5385	return awsutil.Prettify(s)
5386}
5387
5388// GoString returns the string representation
5389func (s InternalServerException) GoString() string {
5390	return s.String()
5391}
5392
5393func newErrorInternalServerException(v protocol.ResponseMetadata) error {
5394	return &InternalServerException{
5395		RespMetadata: v,
5396	}
5397}
5398
5399// Code returns the exception type name.
5400func (s *InternalServerException) Code() string {
5401	return "InternalServerException"
5402}
5403
5404// Message returns the exception's message.
5405func (s *InternalServerException) Message() string {
5406	if s.Message_ != nil {
5407		return *s.Message_
5408	}
5409	return ""
5410}
5411
5412// OrigErr always returns nil, satisfies awserr.Error interface.
5413func (s *InternalServerException) OrigErr() error {
5414	return nil
5415}
5416
5417func (s *InternalServerException) Error() string {
5418	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5419}
5420
5421// Status code returns the HTTP status code for the request's response error.
5422func (s *InternalServerException) StatusCode() int {
5423	return s.RespMetadata.StatusCode
5424}
5425
5426// RequestID returns the service's response RequestID for request.
5427func (s *InternalServerException) RequestID() string {
5428	return s.RespMetadata.RequestID
5429}
5430
5431// Aggregated statistics about a measure affected by an anomaly.
5432type ItemizedMetricStats struct {
5433	_ struct{} `type:"structure"`
5434
5435	// The name of the measure.
5436	MetricName *string `min:"1" type:"string"`
5437
5438	// The number of times that the measure appears.
5439	OccurrenceCount *int64 `type:"integer"`
5440}
5441
5442// String returns the string representation
5443func (s ItemizedMetricStats) String() string {
5444	return awsutil.Prettify(s)
5445}
5446
5447// GoString returns the string representation
5448func (s ItemizedMetricStats) GoString() string {
5449	return s.String()
5450}
5451
5452// SetMetricName sets the MetricName field's value.
5453func (s *ItemizedMetricStats) SetMetricName(v string) *ItemizedMetricStats {
5454	s.MetricName = &v
5455	return s
5456}
5457
5458// SetOccurrenceCount sets the OccurrenceCount field's value.
5459func (s *ItemizedMetricStats) SetOccurrenceCount(v int64) *ItemizedMetricStats {
5460	s.OccurrenceCount = &v
5461	return s
5462}
5463
5464// Contains information about how a source JSON data file should be analyzed.
5465type JsonFormatDescriptor struct {
5466	_ struct{} `type:"structure"`
5467
5468	// The character set in which the source JSON file is written.
5469	Charset *string `type:"string"`
5470
5471	// The level of compression of the source CSV file.
5472	FileCompression *string `type:"string" enum:"JsonFileCompression"`
5473}
5474
5475// String returns the string representation
5476func (s JsonFormatDescriptor) String() string {
5477	return awsutil.Prettify(s)
5478}
5479
5480// GoString returns the string representation
5481func (s JsonFormatDescriptor) GoString() string {
5482	return s.String()
5483}
5484
5485// SetCharset sets the Charset field's value.
5486func (s *JsonFormatDescriptor) SetCharset(v string) *JsonFormatDescriptor {
5487	s.Charset = &v
5488	return s
5489}
5490
5491// SetFileCompression sets the FileCompression field's value.
5492func (s *JsonFormatDescriptor) SetFileCompression(v string) *JsonFormatDescriptor {
5493	s.FileCompression = &v
5494	return s
5495}
5496
5497// Contains information about a Lambda configuration.
5498type LambdaConfiguration struct {
5499	_ struct{} `type:"structure"`
5500
5501	// The ARN of the Lambda function.
5502	//
5503	// LambdaArn is a required field
5504	LambdaArn *string `type:"string" required:"true"`
5505
5506	// The ARN of an IAM role that has permission to invoke the Lambda function.
5507	//
5508	// RoleArn is a required field
5509	RoleArn *string `type:"string" required:"true"`
5510}
5511
5512// String returns the string representation
5513func (s LambdaConfiguration) String() string {
5514	return awsutil.Prettify(s)
5515}
5516
5517// GoString returns the string representation
5518func (s LambdaConfiguration) GoString() string {
5519	return s.String()
5520}
5521
5522// Validate inspects the fields of the type to determine if they are valid.
5523func (s *LambdaConfiguration) Validate() error {
5524	invalidParams := request.ErrInvalidParams{Context: "LambdaConfiguration"}
5525	if s.LambdaArn == nil {
5526		invalidParams.Add(request.NewErrParamRequired("LambdaArn"))
5527	}
5528	if s.RoleArn == nil {
5529		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
5530	}
5531
5532	if invalidParams.Len() > 0 {
5533		return invalidParams
5534	}
5535	return nil
5536}
5537
5538// SetLambdaArn sets the LambdaArn field's value.
5539func (s *LambdaConfiguration) SetLambdaArn(v string) *LambdaConfiguration {
5540	s.LambdaArn = &v
5541	return s
5542}
5543
5544// SetRoleArn sets the RoleArn field's value.
5545func (s *LambdaConfiguration) SetRoleArn(v string) *LambdaConfiguration {
5546	s.RoleArn = &v
5547	return s
5548}
5549
5550type ListAlertsInput struct {
5551	_ struct{} `type:"structure"`
5552
5553	// The ARN of the alert's detector.
5554	AnomalyDetectorArn *string `type:"string"`
5555
5556	// The maximum number of results that will be displayed by the request.
5557	MaxResults *int64 `min:"1" type:"integer"`
5558
5559	// If the result of the previous request is truncated, the response includes
5560	// a NextToken. To retrieve the next set of results, use the token in the next
5561	// request. Tokens expire after 24 hours.
5562	NextToken *string `min:"1" type:"string"`
5563}
5564
5565// String returns the string representation
5566func (s ListAlertsInput) String() string {
5567	return awsutil.Prettify(s)
5568}
5569
5570// GoString returns the string representation
5571func (s ListAlertsInput) GoString() string {
5572	return s.String()
5573}
5574
5575// Validate inspects the fields of the type to determine if they are valid.
5576func (s *ListAlertsInput) Validate() error {
5577	invalidParams := request.ErrInvalidParams{Context: "ListAlertsInput"}
5578	if s.MaxResults != nil && *s.MaxResults < 1 {
5579		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5580	}
5581	if s.NextToken != nil && len(*s.NextToken) < 1 {
5582		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5583	}
5584
5585	if invalidParams.Len() > 0 {
5586		return invalidParams
5587	}
5588	return nil
5589}
5590
5591// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
5592func (s *ListAlertsInput) SetAnomalyDetectorArn(v string) *ListAlertsInput {
5593	s.AnomalyDetectorArn = &v
5594	return s
5595}
5596
5597// SetMaxResults sets the MaxResults field's value.
5598func (s *ListAlertsInput) SetMaxResults(v int64) *ListAlertsInput {
5599	s.MaxResults = &v
5600	return s
5601}
5602
5603// SetNextToken sets the NextToken field's value.
5604func (s *ListAlertsInput) SetNextToken(v string) *ListAlertsInput {
5605	s.NextToken = &v
5606	return s
5607}
5608
5609type ListAlertsOutput struct {
5610	_ struct{} `type:"structure"`
5611
5612	// Contains information about an alert.
5613	AlertSummaryList []*AlertSummary `type:"list"`
5614
5615	// If the response is truncated, the service returns this token. To retrieve
5616	// the next set of results, use this token in the next request.
5617	NextToken *string `min:"1" type:"string"`
5618}
5619
5620// String returns the string representation
5621func (s ListAlertsOutput) String() string {
5622	return awsutil.Prettify(s)
5623}
5624
5625// GoString returns the string representation
5626func (s ListAlertsOutput) GoString() string {
5627	return s.String()
5628}
5629
5630// SetAlertSummaryList sets the AlertSummaryList field's value.
5631func (s *ListAlertsOutput) SetAlertSummaryList(v []*AlertSummary) *ListAlertsOutput {
5632	s.AlertSummaryList = v
5633	return s
5634}
5635
5636// SetNextToken sets the NextToken field's value.
5637func (s *ListAlertsOutput) SetNextToken(v string) *ListAlertsOutput {
5638	s.NextToken = &v
5639	return s
5640}
5641
5642type ListAnomalyDetectorsInput struct {
5643	_ struct{} `type:"structure"`
5644
5645	// The maximum number of results to return.
5646	MaxResults *int64 `min:"1" type:"integer"`
5647
5648	// If the result of the previous request was truncated, the response includes
5649	// a NextToken. To retrieve the next set of results, use the token in the next
5650	// request. Tokens expire after 24 hours.
5651	NextToken *string `min:"1" type:"string"`
5652}
5653
5654// String returns the string representation
5655func (s ListAnomalyDetectorsInput) String() string {
5656	return awsutil.Prettify(s)
5657}
5658
5659// GoString returns the string representation
5660func (s ListAnomalyDetectorsInput) GoString() string {
5661	return s.String()
5662}
5663
5664// Validate inspects the fields of the type to determine if they are valid.
5665func (s *ListAnomalyDetectorsInput) Validate() error {
5666	invalidParams := request.ErrInvalidParams{Context: "ListAnomalyDetectorsInput"}
5667	if s.MaxResults != nil && *s.MaxResults < 1 {
5668		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5669	}
5670	if s.NextToken != nil && len(*s.NextToken) < 1 {
5671		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5672	}
5673
5674	if invalidParams.Len() > 0 {
5675		return invalidParams
5676	}
5677	return nil
5678}
5679
5680// SetMaxResults sets the MaxResults field's value.
5681func (s *ListAnomalyDetectorsInput) SetMaxResults(v int64) *ListAnomalyDetectorsInput {
5682	s.MaxResults = &v
5683	return s
5684}
5685
5686// SetNextToken sets the NextToken field's value.
5687func (s *ListAnomalyDetectorsInput) SetNextToken(v string) *ListAnomalyDetectorsInput {
5688	s.NextToken = &v
5689	return s
5690}
5691
5692type ListAnomalyDetectorsOutput struct {
5693	_ struct{} `type:"structure"`
5694
5695	// A list of anomaly detectors in the account in the current region.
5696	AnomalyDetectorSummaryList []*AnomalyDetectorSummary `type:"list"`
5697
5698	// If the response is truncated, the service returns this token. To retrieve
5699	// the next set of results, use the token in the next request.
5700	NextToken *string `min:"1" type:"string"`
5701}
5702
5703// String returns the string representation
5704func (s ListAnomalyDetectorsOutput) String() string {
5705	return awsutil.Prettify(s)
5706}
5707
5708// GoString returns the string representation
5709func (s ListAnomalyDetectorsOutput) GoString() string {
5710	return s.String()
5711}
5712
5713// SetAnomalyDetectorSummaryList sets the AnomalyDetectorSummaryList field's value.
5714func (s *ListAnomalyDetectorsOutput) SetAnomalyDetectorSummaryList(v []*AnomalyDetectorSummary) *ListAnomalyDetectorsOutput {
5715	s.AnomalyDetectorSummaryList = v
5716	return s
5717}
5718
5719// SetNextToken sets the NextToken field's value.
5720func (s *ListAnomalyDetectorsOutput) SetNextToken(v string) *ListAnomalyDetectorsOutput {
5721	s.NextToken = &v
5722	return s
5723}
5724
5725type ListAnomalyGroupSummariesInput struct {
5726	_ struct{} `type:"structure"`
5727
5728	// The Amazon Resource Name (ARN) of the anomaly detector.
5729	//
5730	// AnomalyDetectorArn is a required field
5731	AnomalyDetectorArn *string `type:"string" required:"true"`
5732
5733	// The maximum number of results to return.
5734	MaxResults *int64 `min:"1" type:"integer"`
5735
5736	// Specify the pagination token that's returned by a previous request to retrieve
5737	// the next page of results.
5738	NextToken *string `min:"1" type:"string"`
5739
5740	// The minimum severity score for inclusion in the output.
5741	//
5742	// SensitivityThreshold is a required field
5743	SensitivityThreshold *int64 `type:"integer" required:"true"`
5744}
5745
5746// String returns the string representation
5747func (s ListAnomalyGroupSummariesInput) String() string {
5748	return awsutil.Prettify(s)
5749}
5750
5751// GoString returns the string representation
5752func (s ListAnomalyGroupSummariesInput) GoString() string {
5753	return s.String()
5754}
5755
5756// Validate inspects the fields of the type to determine if they are valid.
5757func (s *ListAnomalyGroupSummariesInput) Validate() error {
5758	invalidParams := request.ErrInvalidParams{Context: "ListAnomalyGroupSummariesInput"}
5759	if s.AnomalyDetectorArn == nil {
5760		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
5761	}
5762	if s.MaxResults != nil && *s.MaxResults < 1 {
5763		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5764	}
5765	if s.NextToken != nil && len(*s.NextToken) < 1 {
5766		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5767	}
5768	if s.SensitivityThreshold == nil {
5769		invalidParams.Add(request.NewErrParamRequired("SensitivityThreshold"))
5770	}
5771
5772	if invalidParams.Len() > 0 {
5773		return invalidParams
5774	}
5775	return nil
5776}
5777
5778// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
5779func (s *ListAnomalyGroupSummariesInput) SetAnomalyDetectorArn(v string) *ListAnomalyGroupSummariesInput {
5780	s.AnomalyDetectorArn = &v
5781	return s
5782}
5783
5784// SetMaxResults sets the MaxResults field's value.
5785func (s *ListAnomalyGroupSummariesInput) SetMaxResults(v int64) *ListAnomalyGroupSummariesInput {
5786	s.MaxResults = &v
5787	return s
5788}
5789
5790// SetNextToken sets the NextToken field's value.
5791func (s *ListAnomalyGroupSummariesInput) SetNextToken(v string) *ListAnomalyGroupSummariesInput {
5792	s.NextToken = &v
5793	return s
5794}
5795
5796// SetSensitivityThreshold sets the SensitivityThreshold field's value.
5797func (s *ListAnomalyGroupSummariesInput) SetSensitivityThreshold(v int64) *ListAnomalyGroupSummariesInput {
5798	s.SensitivityThreshold = &v
5799	return s
5800}
5801
5802type ListAnomalyGroupSummariesOutput struct {
5803	_ struct{} `type:"structure"`
5804
5805	// Aggregated details about the anomaly groups.
5806	AnomalyGroupStatistics *AnomalyGroupStatistics `type:"structure"`
5807
5808	// A list of anomaly group summaries.
5809	AnomalyGroupSummaryList []*AnomalyGroupSummary `type:"list"`
5810
5811	// The pagination token that's included if more results are available.
5812	NextToken *string `min:"1" type:"string"`
5813}
5814
5815// String returns the string representation
5816func (s ListAnomalyGroupSummariesOutput) String() string {
5817	return awsutil.Prettify(s)
5818}
5819
5820// GoString returns the string representation
5821func (s ListAnomalyGroupSummariesOutput) GoString() string {
5822	return s.String()
5823}
5824
5825// SetAnomalyGroupStatistics sets the AnomalyGroupStatistics field's value.
5826func (s *ListAnomalyGroupSummariesOutput) SetAnomalyGroupStatistics(v *AnomalyGroupStatistics) *ListAnomalyGroupSummariesOutput {
5827	s.AnomalyGroupStatistics = v
5828	return s
5829}
5830
5831// SetAnomalyGroupSummaryList sets the AnomalyGroupSummaryList field's value.
5832func (s *ListAnomalyGroupSummariesOutput) SetAnomalyGroupSummaryList(v []*AnomalyGroupSummary) *ListAnomalyGroupSummariesOutput {
5833	s.AnomalyGroupSummaryList = v
5834	return s
5835}
5836
5837// SetNextToken sets the NextToken field's value.
5838func (s *ListAnomalyGroupSummariesOutput) SetNextToken(v string) *ListAnomalyGroupSummariesOutput {
5839	s.NextToken = &v
5840	return s
5841}
5842
5843type ListAnomalyGroupTimeSeriesInput struct {
5844	_ struct{} `type:"structure"`
5845
5846	// The Amazon Resource Name (ARN) of the anomaly detector.
5847	//
5848	// AnomalyDetectorArn is a required field
5849	AnomalyDetectorArn *string `type:"string" required:"true"`
5850
5851	// The ID of the anomaly group.
5852	//
5853	// AnomalyGroupId is a required field
5854	AnomalyGroupId *string `type:"string" required:"true"`
5855
5856	// The maximum number of results to return.
5857	MaxResults *int64 `min:"1" type:"integer"`
5858
5859	// The name of the measure field.
5860	//
5861	// MetricName is a required field
5862	MetricName *string `type:"string" required:"true"`
5863
5864	// Specify the pagination token that's returned by a previous request to retrieve
5865	// the next page of results.
5866	NextToken *string `min:"1" type:"string"`
5867}
5868
5869// String returns the string representation
5870func (s ListAnomalyGroupTimeSeriesInput) String() string {
5871	return awsutil.Prettify(s)
5872}
5873
5874// GoString returns the string representation
5875func (s ListAnomalyGroupTimeSeriesInput) GoString() string {
5876	return s.String()
5877}
5878
5879// Validate inspects the fields of the type to determine if they are valid.
5880func (s *ListAnomalyGroupTimeSeriesInput) Validate() error {
5881	invalidParams := request.ErrInvalidParams{Context: "ListAnomalyGroupTimeSeriesInput"}
5882	if s.AnomalyDetectorArn == nil {
5883		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
5884	}
5885	if s.AnomalyGroupId == nil {
5886		invalidParams.Add(request.NewErrParamRequired("AnomalyGroupId"))
5887	}
5888	if s.MaxResults != nil && *s.MaxResults < 1 {
5889		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5890	}
5891	if s.MetricName == nil {
5892		invalidParams.Add(request.NewErrParamRequired("MetricName"))
5893	}
5894	if s.NextToken != nil && len(*s.NextToken) < 1 {
5895		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5896	}
5897
5898	if invalidParams.Len() > 0 {
5899		return invalidParams
5900	}
5901	return nil
5902}
5903
5904// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
5905func (s *ListAnomalyGroupTimeSeriesInput) SetAnomalyDetectorArn(v string) *ListAnomalyGroupTimeSeriesInput {
5906	s.AnomalyDetectorArn = &v
5907	return s
5908}
5909
5910// SetAnomalyGroupId sets the AnomalyGroupId field's value.
5911func (s *ListAnomalyGroupTimeSeriesInput) SetAnomalyGroupId(v string) *ListAnomalyGroupTimeSeriesInput {
5912	s.AnomalyGroupId = &v
5913	return s
5914}
5915
5916// SetMaxResults sets the MaxResults field's value.
5917func (s *ListAnomalyGroupTimeSeriesInput) SetMaxResults(v int64) *ListAnomalyGroupTimeSeriesInput {
5918	s.MaxResults = &v
5919	return s
5920}
5921
5922// SetMetricName sets the MetricName field's value.
5923func (s *ListAnomalyGroupTimeSeriesInput) SetMetricName(v string) *ListAnomalyGroupTimeSeriesInput {
5924	s.MetricName = &v
5925	return s
5926}
5927
5928// SetNextToken sets the NextToken field's value.
5929func (s *ListAnomalyGroupTimeSeriesInput) SetNextToken(v string) *ListAnomalyGroupTimeSeriesInput {
5930	s.NextToken = &v
5931	return s
5932}
5933
5934type ListAnomalyGroupTimeSeriesOutput struct {
5935	_ struct{} `type:"structure"`
5936
5937	// The ID of the anomaly group.
5938	AnomalyGroupId *string `type:"string"`
5939
5940	// The name of the measure field.
5941	MetricName *string `type:"string"`
5942
5943	// The pagination token that's included if more results are available.
5944	NextToken *string `min:"1" type:"string"`
5945
5946	// A list of anomalous metrics.
5947	TimeSeriesList []*TimeSeries `type:"list"`
5948
5949	// Timestamps for the anomalous metrics.
5950	TimestampList []*string `type:"list"`
5951}
5952
5953// String returns the string representation
5954func (s ListAnomalyGroupTimeSeriesOutput) String() string {
5955	return awsutil.Prettify(s)
5956}
5957
5958// GoString returns the string representation
5959func (s ListAnomalyGroupTimeSeriesOutput) GoString() string {
5960	return s.String()
5961}
5962
5963// SetAnomalyGroupId sets the AnomalyGroupId field's value.
5964func (s *ListAnomalyGroupTimeSeriesOutput) SetAnomalyGroupId(v string) *ListAnomalyGroupTimeSeriesOutput {
5965	s.AnomalyGroupId = &v
5966	return s
5967}
5968
5969// SetMetricName sets the MetricName field's value.
5970func (s *ListAnomalyGroupTimeSeriesOutput) SetMetricName(v string) *ListAnomalyGroupTimeSeriesOutput {
5971	s.MetricName = &v
5972	return s
5973}
5974
5975// SetNextToken sets the NextToken field's value.
5976func (s *ListAnomalyGroupTimeSeriesOutput) SetNextToken(v string) *ListAnomalyGroupTimeSeriesOutput {
5977	s.NextToken = &v
5978	return s
5979}
5980
5981// SetTimeSeriesList sets the TimeSeriesList field's value.
5982func (s *ListAnomalyGroupTimeSeriesOutput) SetTimeSeriesList(v []*TimeSeries) *ListAnomalyGroupTimeSeriesOutput {
5983	s.TimeSeriesList = v
5984	return s
5985}
5986
5987// SetTimestampList sets the TimestampList field's value.
5988func (s *ListAnomalyGroupTimeSeriesOutput) SetTimestampList(v []*string) *ListAnomalyGroupTimeSeriesOutput {
5989	s.TimestampList = v
5990	return s
5991}
5992
5993type ListMetricSetsInput struct {
5994	_ struct{} `type:"structure"`
5995
5996	// The ARN of the anomaly detector containing the metrics sets to list.
5997	AnomalyDetectorArn *string `type:"string"`
5998
5999	// The maximum number of results to return.
6000	MaxResults *int64 `min:"1" type:"integer"`
6001
6002	// If the result of the previous request was truncated, the response includes
6003	// a NextToken. To retrieve the next set of results, use the token in the next
6004	// request. Tokens expire after 24 hours.
6005	NextToken *string `min:"1" type:"string"`
6006}
6007
6008// String returns the string representation
6009func (s ListMetricSetsInput) String() string {
6010	return awsutil.Prettify(s)
6011}
6012
6013// GoString returns the string representation
6014func (s ListMetricSetsInput) GoString() string {
6015	return s.String()
6016}
6017
6018// Validate inspects the fields of the type to determine if they are valid.
6019func (s *ListMetricSetsInput) Validate() error {
6020	invalidParams := request.ErrInvalidParams{Context: "ListMetricSetsInput"}
6021	if s.MaxResults != nil && *s.MaxResults < 1 {
6022		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6023	}
6024	if s.NextToken != nil && len(*s.NextToken) < 1 {
6025		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6026	}
6027
6028	if invalidParams.Len() > 0 {
6029		return invalidParams
6030	}
6031	return nil
6032}
6033
6034// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
6035func (s *ListMetricSetsInput) SetAnomalyDetectorArn(v string) *ListMetricSetsInput {
6036	s.AnomalyDetectorArn = &v
6037	return s
6038}
6039
6040// SetMaxResults sets the MaxResults field's value.
6041func (s *ListMetricSetsInput) SetMaxResults(v int64) *ListMetricSetsInput {
6042	s.MaxResults = &v
6043	return s
6044}
6045
6046// SetNextToken sets the NextToken field's value.
6047func (s *ListMetricSetsInput) SetNextToken(v string) *ListMetricSetsInput {
6048	s.NextToken = &v
6049	return s
6050}
6051
6052type ListMetricSetsOutput struct {
6053	_ struct{} `type:"structure"`
6054
6055	// A list of the datasets in the AWS Region, with configuration details for
6056	// each.
6057	MetricSetSummaryList []*MetricSetSummary `type:"list"`
6058
6059	// If the response is truncated, the list call returns this token. To retrieve
6060	// the next set of results, use the token in the next list request.
6061	NextToken *string `min:"1" type:"string"`
6062}
6063
6064// String returns the string representation
6065func (s ListMetricSetsOutput) String() string {
6066	return awsutil.Prettify(s)
6067}
6068
6069// GoString returns the string representation
6070func (s ListMetricSetsOutput) GoString() string {
6071	return s.String()
6072}
6073
6074// SetMetricSetSummaryList sets the MetricSetSummaryList field's value.
6075func (s *ListMetricSetsOutput) SetMetricSetSummaryList(v []*MetricSetSummary) *ListMetricSetsOutput {
6076	s.MetricSetSummaryList = v
6077	return s
6078}
6079
6080// SetNextToken sets the NextToken field's value.
6081func (s *ListMetricSetsOutput) SetNextToken(v string) *ListMetricSetsOutput {
6082	s.NextToken = &v
6083	return s
6084}
6085
6086type ListTagsForResourceInput struct {
6087	_ struct{} `type:"structure"`
6088
6089	// The resource's Amazon Resource Name (ARN).
6090	//
6091	// ResourceArn is a required field
6092	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
6093}
6094
6095// String returns the string representation
6096func (s ListTagsForResourceInput) String() string {
6097	return awsutil.Prettify(s)
6098}
6099
6100// GoString returns the string representation
6101func (s ListTagsForResourceInput) GoString() string {
6102	return s.String()
6103}
6104
6105// Validate inspects the fields of the type to determine if they are valid.
6106func (s *ListTagsForResourceInput) Validate() error {
6107	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
6108	if s.ResourceArn == nil {
6109		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6110	}
6111	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
6112		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
6113	}
6114
6115	if invalidParams.Len() > 0 {
6116		return invalidParams
6117	}
6118	return nil
6119}
6120
6121// SetResourceArn sets the ResourceArn field's value.
6122func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
6123	s.ResourceArn = &v
6124	return s
6125}
6126
6127type ListTagsForResourceOutput struct {
6128	_ struct{} `type:"structure"`
6129
6130	// The resource's tags.
6131	Tags map[string]*string `locationName:"Tags" min:"1" type:"map"`
6132}
6133
6134// String returns the string representation
6135func (s ListTagsForResourceOutput) String() string {
6136	return awsutil.Prettify(s)
6137}
6138
6139// GoString returns the string representation
6140func (s ListTagsForResourceOutput) GoString() string {
6141	return s.String()
6142}
6143
6144// SetTags sets the Tags field's value.
6145func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
6146	s.Tags = v
6147	return s
6148}
6149
6150// A calculation made by contrasting a measure and a dimension from your source
6151// data.
6152type Metric struct {
6153	_ struct{} `type:"structure"`
6154
6155	// The function with which the metric is calculated.
6156	//
6157	// AggregationFunction is a required field
6158	AggregationFunction *string `type:"string" required:"true" enum:"AggregationFunction"`
6159
6160	// The name of the metric.
6161	//
6162	// MetricName is a required field
6163	MetricName *string `min:"1" type:"string" required:"true"`
6164
6165	// The namespace for the metric.
6166	Namespace *string `min:"1" type:"string"`
6167}
6168
6169// String returns the string representation
6170func (s Metric) String() string {
6171	return awsutil.Prettify(s)
6172}
6173
6174// GoString returns the string representation
6175func (s Metric) GoString() string {
6176	return s.String()
6177}
6178
6179// Validate inspects the fields of the type to determine if they are valid.
6180func (s *Metric) Validate() error {
6181	invalidParams := request.ErrInvalidParams{Context: "Metric"}
6182	if s.AggregationFunction == nil {
6183		invalidParams.Add(request.NewErrParamRequired("AggregationFunction"))
6184	}
6185	if s.MetricName == nil {
6186		invalidParams.Add(request.NewErrParamRequired("MetricName"))
6187	}
6188	if s.MetricName != nil && len(*s.MetricName) < 1 {
6189		invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
6190	}
6191	if s.Namespace != nil && len(*s.Namespace) < 1 {
6192		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
6193	}
6194
6195	if invalidParams.Len() > 0 {
6196		return invalidParams
6197	}
6198	return nil
6199}
6200
6201// SetAggregationFunction sets the AggregationFunction field's value.
6202func (s *Metric) SetAggregationFunction(v string) *Metric {
6203	s.AggregationFunction = &v
6204	return s
6205}
6206
6207// SetMetricName sets the MetricName field's value.
6208func (s *Metric) SetMetricName(v string) *Metric {
6209	s.MetricName = &v
6210	return s
6211}
6212
6213// SetNamespace sets the Namespace field's value.
6214func (s *Metric) SetNamespace(v string) *Metric {
6215	s.Namespace = &v
6216	return s
6217}
6218
6219// Details about a measure affected by an anomaly.
6220type MetricLevelImpact struct {
6221	_ struct{} `type:"structure"`
6222
6223	// Details about the dimensions that contributed to the anomaly.
6224	ContributionMatrix *ContributionMatrix `type:"structure"`
6225
6226	// The name of the measure.
6227	MetricName *string `type:"string"`
6228
6229	// The number of anomalous metrics for the measure.
6230	NumTimeSeries *int64 `type:"integer"`
6231}
6232
6233// String returns the string representation
6234func (s MetricLevelImpact) String() string {
6235	return awsutil.Prettify(s)
6236}
6237
6238// GoString returns the string representation
6239func (s MetricLevelImpact) GoString() string {
6240	return s.String()
6241}
6242
6243// SetContributionMatrix sets the ContributionMatrix field's value.
6244func (s *MetricLevelImpact) SetContributionMatrix(v *ContributionMatrix) *MetricLevelImpact {
6245	s.ContributionMatrix = v
6246	return s
6247}
6248
6249// SetMetricName sets the MetricName field's value.
6250func (s *MetricLevelImpact) SetMetricName(v string) *MetricLevelImpact {
6251	s.MetricName = &v
6252	return s
6253}
6254
6255// SetNumTimeSeries sets the NumTimeSeries field's value.
6256func (s *MetricLevelImpact) SetNumTimeSeries(v int64) *MetricLevelImpact {
6257	s.NumTimeSeries = &v
6258	return s
6259}
6260
6261// Contains information about a dataset.
6262type MetricSetSummary struct {
6263	_ struct{} `type:"structure"`
6264
6265	// The ARN of the detector to which the dataset belongs.
6266	AnomalyDetectorArn *string `type:"string"`
6267
6268	// The time at which the dataset was created.
6269	CreationTime *time.Time `type:"timestamp"`
6270
6271	// The time at which the dataset was last modified.
6272	LastModificationTime *time.Time `type:"timestamp"`
6273
6274	// The ARN of the dataset.
6275	MetricSetArn *string `type:"string"`
6276
6277	// The description of the dataset.
6278	MetricSetDescription *string `min:"1" type:"string"`
6279
6280	// The name of the dataset.
6281	MetricSetName *string `min:"1" type:"string"`
6282
6283	// The dataset's tags (https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html).
6284	Tags map[string]*string `min:"1" type:"map"`
6285}
6286
6287// String returns the string representation
6288func (s MetricSetSummary) String() string {
6289	return awsutil.Prettify(s)
6290}
6291
6292// GoString returns the string representation
6293func (s MetricSetSummary) GoString() string {
6294	return s.String()
6295}
6296
6297// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
6298func (s *MetricSetSummary) SetAnomalyDetectorArn(v string) *MetricSetSummary {
6299	s.AnomalyDetectorArn = &v
6300	return s
6301}
6302
6303// SetCreationTime sets the CreationTime field's value.
6304func (s *MetricSetSummary) SetCreationTime(v time.Time) *MetricSetSummary {
6305	s.CreationTime = &v
6306	return s
6307}
6308
6309// SetLastModificationTime sets the LastModificationTime field's value.
6310func (s *MetricSetSummary) SetLastModificationTime(v time.Time) *MetricSetSummary {
6311	s.LastModificationTime = &v
6312	return s
6313}
6314
6315// SetMetricSetArn sets the MetricSetArn field's value.
6316func (s *MetricSetSummary) SetMetricSetArn(v string) *MetricSetSummary {
6317	s.MetricSetArn = &v
6318	return s
6319}
6320
6321// SetMetricSetDescription sets the MetricSetDescription field's value.
6322func (s *MetricSetSummary) SetMetricSetDescription(v string) *MetricSetSummary {
6323	s.MetricSetDescription = &v
6324	return s
6325}
6326
6327// SetMetricSetName sets the MetricSetName field's value.
6328func (s *MetricSetSummary) SetMetricSetName(v string) *MetricSetSummary {
6329	s.MetricSetName = &v
6330	return s
6331}
6332
6333// SetTags sets the Tags field's value.
6334func (s *MetricSetSummary) SetTags(v map[string]*string) *MetricSetSummary {
6335	s.Tags = v
6336	return s
6337}
6338
6339// Contains information about source data used to generate a metric.
6340type MetricSource struct {
6341	_ struct{} `type:"structure"`
6342
6343	// An object containing information about the AppFlow configuration.
6344	AppFlowConfig *AppFlowConfig `type:"structure"`
6345
6346	// An object containing information about the Amazon CloudWatch monitoring configuration.
6347	CloudWatchConfig *CloudWatchConfig `type:"structure"`
6348
6349	// An object containing information about the Amazon Relational Database Service
6350	// (RDS) configuration.
6351	RDSSourceConfig *RDSSourceConfig `type:"structure"`
6352
6353	// An object containing information about the Amazon Redshift database configuration.
6354	RedshiftSourceConfig *RedshiftSourceConfig `type:"structure"`
6355
6356	// Contains information about the configuration of the S3 bucket that contains
6357	// source files.
6358	S3SourceConfig *S3SourceConfig `type:"structure"`
6359}
6360
6361// String returns the string representation
6362func (s MetricSource) String() string {
6363	return awsutil.Prettify(s)
6364}
6365
6366// GoString returns the string representation
6367func (s MetricSource) GoString() string {
6368	return s.String()
6369}
6370
6371// Validate inspects the fields of the type to determine if they are valid.
6372func (s *MetricSource) Validate() error {
6373	invalidParams := request.ErrInvalidParams{Context: "MetricSource"}
6374	if s.AppFlowConfig != nil {
6375		if err := s.AppFlowConfig.Validate(); err != nil {
6376			invalidParams.AddNested("AppFlowConfig", err.(request.ErrInvalidParams))
6377		}
6378	}
6379	if s.CloudWatchConfig != nil {
6380		if err := s.CloudWatchConfig.Validate(); err != nil {
6381			invalidParams.AddNested("CloudWatchConfig", err.(request.ErrInvalidParams))
6382		}
6383	}
6384	if s.RDSSourceConfig != nil {
6385		if err := s.RDSSourceConfig.Validate(); err != nil {
6386			invalidParams.AddNested("RDSSourceConfig", err.(request.ErrInvalidParams))
6387		}
6388	}
6389	if s.RedshiftSourceConfig != nil {
6390		if err := s.RedshiftSourceConfig.Validate(); err != nil {
6391			invalidParams.AddNested("RedshiftSourceConfig", err.(request.ErrInvalidParams))
6392		}
6393	}
6394	if s.S3SourceConfig != nil {
6395		if err := s.S3SourceConfig.Validate(); err != nil {
6396			invalidParams.AddNested("S3SourceConfig", err.(request.ErrInvalidParams))
6397		}
6398	}
6399
6400	if invalidParams.Len() > 0 {
6401		return invalidParams
6402	}
6403	return nil
6404}
6405
6406// SetAppFlowConfig sets the AppFlowConfig field's value.
6407func (s *MetricSource) SetAppFlowConfig(v *AppFlowConfig) *MetricSource {
6408	s.AppFlowConfig = v
6409	return s
6410}
6411
6412// SetCloudWatchConfig sets the CloudWatchConfig field's value.
6413func (s *MetricSource) SetCloudWatchConfig(v *CloudWatchConfig) *MetricSource {
6414	s.CloudWatchConfig = v
6415	return s
6416}
6417
6418// SetRDSSourceConfig sets the RDSSourceConfig field's value.
6419func (s *MetricSource) SetRDSSourceConfig(v *RDSSourceConfig) *MetricSource {
6420	s.RDSSourceConfig = v
6421	return s
6422}
6423
6424// SetRedshiftSourceConfig sets the RedshiftSourceConfig field's value.
6425func (s *MetricSource) SetRedshiftSourceConfig(v *RedshiftSourceConfig) *MetricSource {
6426	s.RedshiftSourceConfig = v
6427	return s
6428}
6429
6430// SetS3SourceConfig sets the S3SourceConfig field's value.
6431func (s *MetricSource) SetS3SourceConfig(v *S3SourceConfig) *MetricSource {
6432	s.S3SourceConfig = v
6433	return s
6434}
6435
6436type PutFeedbackInput struct {
6437	_ struct{} `type:"structure"`
6438
6439	// The Amazon Resource Name (ARN) of the anomaly detector.
6440	//
6441	// AnomalyDetectorArn is a required field
6442	AnomalyDetectorArn *string `type:"string" required:"true"`
6443
6444	// Feedback for an anomalous metric.
6445	//
6446	// AnomalyGroupTimeSeriesFeedback is a required field
6447	AnomalyGroupTimeSeriesFeedback *AnomalyGroupTimeSeriesFeedback `type:"structure" required:"true"`
6448}
6449
6450// String returns the string representation
6451func (s PutFeedbackInput) String() string {
6452	return awsutil.Prettify(s)
6453}
6454
6455// GoString returns the string representation
6456func (s PutFeedbackInput) GoString() string {
6457	return s.String()
6458}
6459
6460// Validate inspects the fields of the type to determine if they are valid.
6461func (s *PutFeedbackInput) Validate() error {
6462	invalidParams := request.ErrInvalidParams{Context: "PutFeedbackInput"}
6463	if s.AnomalyDetectorArn == nil {
6464		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
6465	}
6466	if s.AnomalyGroupTimeSeriesFeedback == nil {
6467		invalidParams.Add(request.NewErrParamRequired("AnomalyGroupTimeSeriesFeedback"))
6468	}
6469	if s.AnomalyGroupTimeSeriesFeedback != nil {
6470		if err := s.AnomalyGroupTimeSeriesFeedback.Validate(); err != nil {
6471			invalidParams.AddNested("AnomalyGroupTimeSeriesFeedback", err.(request.ErrInvalidParams))
6472		}
6473	}
6474
6475	if invalidParams.Len() > 0 {
6476		return invalidParams
6477	}
6478	return nil
6479}
6480
6481// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
6482func (s *PutFeedbackInput) SetAnomalyDetectorArn(v string) *PutFeedbackInput {
6483	s.AnomalyDetectorArn = &v
6484	return s
6485}
6486
6487// SetAnomalyGroupTimeSeriesFeedback sets the AnomalyGroupTimeSeriesFeedback field's value.
6488func (s *PutFeedbackInput) SetAnomalyGroupTimeSeriesFeedback(v *AnomalyGroupTimeSeriesFeedback) *PutFeedbackInput {
6489	s.AnomalyGroupTimeSeriesFeedback = v
6490	return s
6491}
6492
6493type PutFeedbackOutput struct {
6494	_ struct{} `type:"structure"`
6495}
6496
6497// String returns the string representation
6498func (s PutFeedbackOutput) String() string {
6499	return awsutil.Prettify(s)
6500}
6501
6502// GoString returns the string representation
6503func (s PutFeedbackOutput) GoString() string {
6504	return s.String()
6505}
6506
6507// Contains information about the Amazon Relational Database Service (RDS) configuration.
6508type RDSSourceConfig struct {
6509	_ struct{} `type:"structure"`
6510
6511	// A string identifying the database instance.
6512	//
6513	// DBInstanceIdentifier is a required field
6514	DBInstanceIdentifier *string `min:"1" type:"string" required:"true"`
6515
6516	// The host name of the database.
6517	//
6518	// DatabaseHost is a required field
6519	DatabaseHost *string `min:"1" type:"string" required:"true"`
6520
6521	// The name of the RDS database.
6522	//
6523	// DatabaseName is a required field
6524	DatabaseName *string `min:"1" type:"string" required:"true"`
6525
6526	// The port number where the database can be accessed.
6527	//
6528	// DatabasePort is a required field
6529	DatabasePort *int64 `min:"1" type:"integer" required:"true"`
6530
6531	// The Amazon Resource Name (ARN) of the role.
6532	//
6533	// RoleArn is a required field
6534	RoleArn *string `type:"string" required:"true"`
6535
6536	// The Amazon Resource Name (ARN) of the AWS Secrets Manager role.
6537	//
6538	// SecretManagerArn is a required field
6539	SecretManagerArn *string `type:"string" required:"true"`
6540
6541	// The name of the table in the database.
6542	//
6543	// TableName is a required field
6544	TableName *string `min:"1" type:"string" required:"true"`
6545
6546	// An object containing information about the Amazon Virtual Private Cloud (VPC)
6547	// configuration.
6548	//
6549	// VpcConfiguration is a required field
6550	VpcConfiguration *VpcConfiguration `type:"structure" required:"true"`
6551}
6552
6553// String returns the string representation
6554func (s RDSSourceConfig) String() string {
6555	return awsutil.Prettify(s)
6556}
6557
6558// GoString returns the string representation
6559func (s RDSSourceConfig) GoString() string {
6560	return s.String()
6561}
6562
6563// Validate inspects the fields of the type to determine if they are valid.
6564func (s *RDSSourceConfig) Validate() error {
6565	invalidParams := request.ErrInvalidParams{Context: "RDSSourceConfig"}
6566	if s.DBInstanceIdentifier == nil {
6567		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
6568	}
6569	if s.DBInstanceIdentifier != nil && len(*s.DBInstanceIdentifier) < 1 {
6570		invalidParams.Add(request.NewErrParamMinLen("DBInstanceIdentifier", 1))
6571	}
6572	if s.DatabaseHost == nil {
6573		invalidParams.Add(request.NewErrParamRequired("DatabaseHost"))
6574	}
6575	if s.DatabaseHost != nil && len(*s.DatabaseHost) < 1 {
6576		invalidParams.Add(request.NewErrParamMinLen("DatabaseHost", 1))
6577	}
6578	if s.DatabaseName == nil {
6579		invalidParams.Add(request.NewErrParamRequired("DatabaseName"))
6580	}
6581	if s.DatabaseName != nil && len(*s.DatabaseName) < 1 {
6582		invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1))
6583	}
6584	if s.DatabasePort == nil {
6585		invalidParams.Add(request.NewErrParamRequired("DatabasePort"))
6586	}
6587	if s.DatabasePort != nil && *s.DatabasePort < 1 {
6588		invalidParams.Add(request.NewErrParamMinValue("DatabasePort", 1))
6589	}
6590	if s.RoleArn == nil {
6591		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6592	}
6593	if s.SecretManagerArn == nil {
6594		invalidParams.Add(request.NewErrParamRequired("SecretManagerArn"))
6595	}
6596	if s.TableName == nil {
6597		invalidParams.Add(request.NewErrParamRequired("TableName"))
6598	}
6599	if s.TableName != nil && len(*s.TableName) < 1 {
6600		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
6601	}
6602	if s.VpcConfiguration == nil {
6603		invalidParams.Add(request.NewErrParamRequired("VpcConfiguration"))
6604	}
6605	if s.VpcConfiguration != nil {
6606		if err := s.VpcConfiguration.Validate(); err != nil {
6607			invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams))
6608		}
6609	}
6610
6611	if invalidParams.Len() > 0 {
6612		return invalidParams
6613	}
6614	return nil
6615}
6616
6617// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
6618func (s *RDSSourceConfig) SetDBInstanceIdentifier(v string) *RDSSourceConfig {
6619	s.DBInstanceIdentifier = &v
6620	return s
6621}
6622
6623// SetDatabaseHost sets the DatabaseHost field's value.
6624func (s *RDSSourceConfig) SetDatabaseHost(v string) *RDSSourceConfig {
6625	s.DatabaseHost = &v
6626	return s
6627}
6628
6629// SetDatabaseName sets the DatabaseName field's value.
6630func (s *RDSSourceConfig) SetDatabaseName(v string) *RDSSourceConfig {
6631	s.DatabaseName = &v
6632	return s
6633}
6634
6635// SetDatabasePort sets the DatabasePort field's value.
6636func (s *RDSSourceConfig) SetDatabasePort(v int64) *RDSSourceConfig {
6637	s.DatabasePort = &v
6638	return s
6639}
6640
6641// SetRoleArn sets the RoleArn field's value.
6642func (s *RDSSourceConfig) SetRoleArn(v string) *RDSSourceConfig {
6643	s.RoleArn = &v
6644	return s
6645}
6646
6647// SetSecretManagerArn sets the SecretManagerArn field's value.
6648func (s *RDSSourceConfig) SetSecretManagerArn(v string) *RDSSourceConfig {
6649	s.SecretManagerArn = &v
6650	return s
6651}
6652
6653// SetTableName sets the TableName field's value.
6654func (s *RDSSourceConfig) SetTableName(v string) *RDSSourceConfig {
6655	s.TableName = &v
6656	return s
6657}
6658
6659// SetVpcConfiguration sets the VpcConfiguration field's value.
6660func (s *RDSSourceConfig) SetVpcConfiguration(v *VpcConfiguration) *RDSSourceConfig {
6661	s.VpcConfiguration = v
6662	return s
6663}
6664
6665// Provides information about the Amazon Redshift database configuration.
6666type RedshiftSourceConfig struct {
6667	_ struct{} `type:"structure"`
6668
6669	// A string identifying the Redshift cluster.
6670	//
6671	// ClusterIdentifier is a required field
6672	ClusterIdentifier *string `min:"1" type:"string" required:"true"`
6673
6674	// The name of the database host.
6675	//
6676	// DatabaseHost is a required field
6677	DatabaseHost *string `min:"1" type:"string" required:"true"`
6678
6679	// The Redshift database name.
6680	//
6681	// DatabaseName is a required field
6682	DatabaseName *string `min:"1" type:"string" required:"true"`
6683
6684	// The port number where the database can be accessed.
6685	//
6686	// DatabasePort is a required field
6687	DatabasePort *int64 `min:"1" type:"integer" required:"true"`
6688
6689	// The Amazon Resource Name (ARN) of the role providing access to the database.
6690	//
6691	// RoleArn is a required field
6692	RoleArn *string `type:"string" required:"true"`
6693
6694	// The Amazon Resource Name (ARN) of the AWS Secrets Manager role.
6695	//
6696	// SecretManagerArn is a required field
6697	SecretManagerArn *string `type:"string" required:"true"`
6698
6699	// The table name of the Redshift database.
6700	//
6701	// TableName is a required field
6702	TableName *string `min:"1" type:"string" required:"true"`
6703
6704	// Contains information about the Amazon Virtual Private Cloud (VPC) configuration.
6705	//
6706	// VpcConfiguration is a required field
6707	VpcConfiguration *VpcConfiguration `type:"structure" required:"true"`
6708}
6709
6710// String returns the string representation
6711func (s RedshiftSourceConfig) String() string {
6712	return awsutil.Prettify(s)
6713}
6714
6715// GoString returns the string representation
6716func (s RedshiftSourceConfig) GoString() string {
6717	return s.String()
6718}
6719
6720// Validate inspects the fields of the type to determine if they are valid.
6721func (s *RedshiftSourceConfig) Validate() error {
6722	invalidParams := request.ErrInvalidParams{Context: "RedshiftSourceConfig"}
6723	if s.ClusterIdentifier == nil {
6724		invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier"))
6725	}
6726	if s.ClusterIdentifier != nil && len(*s.ClusterIdentifier) < 1 {
6727		invalidParams.Add(request.NewErrParamMinLen("ClusterIdentifier", 1))
6728	}
6729	if s.DatabaseHost == nil {
6730		invalidParams.Add(request.NewErrParamRequired("DatabaseHost"))
6731	}
6732	if s.DatabaseHost != nil && len(*s.DatabaseHost) < 1 {
6733		invalidParams.Add(request.NewErrParamMinLen("DatabaseHost", 1))
6734	}
6735	if s.DatabaseName == nil {
6736		invalidParams.Add(request.NewErrParamRequired("DatabaseName"))
6737	}
6738	if s.DatabaseName != nil && len(*s.DatabaseName) < 1 {
6739		invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1))
6740	}
6741	if s.DatabasePort == nil {
6742		invalidParams.Add(request.NewErrParamRequired("DatabasePort"))
6743	}
6744	if s.DatabasePort != nil && *s.DatabasePort < 1 {
6745		invalidParams.Add(request.NewErrParamMinValue("DatabasePort", 1))
6746	}
6747	if s.RoleArn == nil {
6748		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6749	}
6750	if s.SecretManagerArn == nil {
6751		invalidParams.Add(request.NewErrParamRequired("SecretManagerArn"))
6752	}
6753	if s.TableName == nil {
6754		invalidParams.Add(request.NewErrParamRequired("TableName"))
6755	}
6756	if s.TableName != nil && len(*s.TableName) < 1 {
6757		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
6758	}
6759	if s.VpcConfiguration == nil {
6760		invalidParams.Add(request.NewErrParamRequired("VpcConfiguration"))
6761	}
6762	if s.VpcConfiguration != nil {
6763		if err := s.VpcConfiguration.Validate(); err != nil {
6764			invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams))
6765		}
6766	}
6767
6768	if invalidParams.Len() > 0 {
6769		return invalidParams
6770	}
6771	return nil
6772}
6773
6774// SetClusterIdentifier sets the ClusterIdentifier field's value.
6775func (s *RedshiftSourceConfig) SetClusterIdentifier(v string) *RedshiftSourceConfig {
6776	s.ClusterIdentifier = &v
6777	return s
6778}
6779
6780// SetDatabaseHost sets the DatabaseHost field's value.
6781func (s *RedshiftSourceConfig) SetDatabaseHost(v string) *RedshiftSourceConfig {
6782	s.DatabaseHost = &v
6783	return s
6784}
6785
6786// SetDatabaseName sets the DatabaseName field's value.
6787func (s *RedshiftSourceConfig) SetDatabaseName(v string) *RedshiftSourceConfig {
6788	s.DatabaseName = &v
6789	return s
6790}
6791
6792// SetDatabasePort sets the DatabasePort field's value.
6793func (s *RedshiftSourceConfig) SetDatabasePort(v int64) *RedshiftSourceConfig {
6794	s.DatabasePort = &v
6795	return s
6796}
6797
6798// SetRoleArn sets the RoleArn field's value.
6799func (s *RedshiftSourceConfig) SetRoleArn(v string) *RedshiftSourceConfig {
6800	s.RoleArn = &v
6801	return s
6802}
6803
6804// SetSecretManagerArn sets the SecretManagerArn field's value.
6805func (s *RedshiftSourceConfig) SetSecretManagerArn(v string) *RedshiftSourceConfig {
6806	s.SecretManagerArn = &v
6807	return s
6808}
6809
6810// SetTableName sets the TableName field's value.
6811func (s *RedshiftSourceConfig) SetTableName(v string) *RedshiftSourceConfig {
6812	s.TableName = &v
6813	return s
6814}
6815
6816// SetVpcConfiguration sets the VpcConfiguration field's value.
6817func (s *RedshiftSourceConfig) SetVpcConfiguration(v *VpcConfiguration) *RedshiftSourceConfig {
6818	s.VpcConfiguration = v
6819	return s
6820}
6821
6822// The specified resource cannot be found. Check the ARN of the resource and
6823// try again.
6824type ResourceNotFoundException struct {
6825	_            struct{}                  `type:"structure"`
6826	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6827
6828	Message_ *string `locationName:"Message" type:"string"`
6829
6830	// The ID of the resource.
6831	ResourceId *string `type:"string"`
6832
6833	// The type of the resource.
6834	ResourceType *string `type:"string"`
6835}
6836
6837// String returns the string representation
6838func (s ResourceNotFoundException) String() string {
6839	return awsutil.Prettify(s)
6840}
6841
6842// GoString returns the string representation
6843func (s ResourceNotFoundException) GoString() string {
6844	return s.String()
6845}
6846
6847func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
6848	return &ResourceNotFoundException{
6849		RespMetadata: v,
6850	}
6851}
6852
6853// Code returns the exception type name.
6854func (s *ResourceNotFoundException) Code() string {
6855	return "ResourceNotFoundException"
6856}
6857
6858// Message returns the exception's message.
6859func (s *ResourceNotFoundException) Message() string {
6860	if s.Message_ != nil {
6861		return *s.Message_
6862	}
6863	return ""
6864}
6865
6866// OrigErr always returns nil, satisfies awserr.Error interface.
6867func (s *ResourceNotFoundException) OrigErr() error {
6868	return nil
6869}
6870
6871func (s *ResourceNotFoundException) Error() string {
6872	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6873}
6874
6875// Status code returns the HTTP status code for the request's response error.
6876func (s *ResourceNotFoundException) StatusCode() int {
6877	return s.RespMetadata.StatusCode
6878}
6879
6880// RequestID returns the service's response RequestID for request.
6881func (s *ResourceNotFoundException) RequestID() string {
6882	return s.RespMetadata.RequestID
6883}
6884
6885// Contains information about the configuration of the S3 bucket that contains
6886// source files.
6887type S3SourceConfig struct {
6888	_ struct{} `type:"structure"`
6889
6890	// Contains information about a source file's formatting.
6891	FileFormatDescriptor *FileFormatDescriptor `type:"structure"`
6892
6893	// A list of paths to the historical data files.
6894	HistoricalDataPathList []*string `min:"1" type:"list"`
6895
6896	// The ARN of an IAM role that has read and write access permissions to the
6897	// source S3 bucket.
6898	//
6899	// RoleArn is a required field
6900	RoleArn *string `type:"string" required:"true"`
6901
6902	// A list of templated paths to the source files.
6903	TemplatedPathList []*string `min:"1" type:"list"`
6904}
6905
6906// String returns the string representation
6907func (s S3SourceConfig) String() string {
6908	return awsutil.Prettify(s)
6909}
6910
6911// GoString returns the string representation
6912func (s S3SourceConfig) GoString() string {
6913	return s.String()
6914}
6915
6916// Validate inspects the fields of the type to determine if they are valid.
6917func (s *S3SourceConfig) Validate() error {
6918	invalidParams := request.ErrInvalidParams{Context: "S3SourceConfig"}
6919	if s.HistoricalDataPathList != nil && len(s.HistoricalDataPathList) < 1 {
6920		invalidParams.Add(request.NewErrParamMinLen("HistoricalDataPathList", 1))
6921	}
6922	if s.RoleArn == nil {
6923		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6924	}
6925	if s.TemplatedPathList != nil && len(s.TemplatedPathList) < 1 {
6926		invalidParams.Add(request.NewErrParamMinLen("TemplatedPathList", 1))
6927	}
6928
6929	if invalidParams.Len() > 0 {
6930		return invalidParams
6931	}
6932	return nil
6933}
6934
6935// SetFileFormatDescriptor sets the FileFormatDescriptor field's value.
6936func (s *S3SourceConfig) SetFileFormatDescriptor(v *FileFormatDescriptor) *S3SourceConfig {
6937	s.FileFormatDescriptor = v
6938	return s
6939}
6940
6941// SetHistoricalDataPathList sets the HistoricalDataPathList field's value.
6942func (s *S3SourceConfig) SetHistoricalDataPathList(v []*string) *S3SourceConfig {
6943	s.HistoricalDataPathList = v
6944	return s
6945}
6946
6947// SetRoleArn sets the RoleArn field's value.
6948func (s *S3SourceConfig) SetRoleArn(v string) *S3SourceConfig {
6949	s.RoleArn = &v
6950	return s
6951}
6952
6953// SetTemplatedPathList sets the TemplatedPathList field's value.
6954func (s *S3SourceConfig) SetTemplatedPathList(v []*string) *S3SourceConfig {
6955	s.TemplatedPathList = v
6956	return s
6957}
6958
6959// Contains information about the SNS topic to which you want to send your alerts
6960// and the IAM role that has access to that topic.
6961type SNSConfiguration struct {
6962	_ struct{} `type:"structure"`
6963
6964	// The ARN of the IAM role that has access to the target SNS topic.
6965	//
6966	// RoleArn is a required field
6967	RoleArn *string `type:"string" required:"true"`
6968
6969	// The ARN of the target SNS topic.
6970	//
6971	// SnsTopicArn is a required field
6972	SnsTopicArn *string `type:"string" required:"true"`
6973}
6974
6975// String returns the string representation
6976func (s SNSConfiguration) String() string {
6977	return awsutil.Prettify(s)
6978}
6979
6980// GoString returns the string representation
6981func (s SNSConfiguration) GoString() string {
6982	return s.String()
6983}
6984
6985// Validate inspects the fields of the type to determine if they are valid.
6986func (s *SNSConfiguration) Validate() error {
6987	invalidParams := request.ErrInvalidParams{Context: "SNSConfiguration"}
6988	if s.RoleArn == nil {
6989		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6990	}
6991	if s.SnsTopicArn == nil {
6992		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
6993	}
6994
6995	if invalidParams.Len() > 0 {
6996		return invalidParams
6997	}
6998	return nil
6999}
7000
7001// SetRoleArn sets the RoleArn field's value.
7002func (s *SNSConfiguration) SetRoleArn(v string) *SNSConfiguration {
7003	s.RoleArn = &v
7004	return s
7005}
7006
7007// SetSnsTopicArn sets the SnsTopicArn field's value.
7008func (s *SNSConfiguration) SetSnsTopicArn(v string) *SNSConfiguration {
7009	s.SnsTopicArn = &v
7010	return s
7011}
7012
7013// Contains information about the source configuration in Amazon S3.
7014type SampleDataS3SourceConfig struct {
7015	_ struct{} `type:"structure"`
7016
7017	// Contains information about a source file's formatting.
7018	//
7019	// FileFormatDescriptor is a required field
7020	FileFormatDescriptor *FileFormatDescriptor `type:"structure" required:"true"`
7021
7022	// An array of strings containing the historical set of data paths.
7023	HistoricalDataPathList []*string `min:"1" type:"list"`
7024
7025	// The Amazon Resource Name (ARN) of the role.
7026	//
7027	// RoleArn is a required field
7028	RoleArn *string `type:"string" required:"true"`
7029
7030	// An array of strings containing the list of templated paths.
7031	TemplatedPathList []*string `min:"1" type:"list"`
7032}
7033
7034// String returns the string representation
7035func (s SampleDataS3SourceConfig) String() string {
7036	return awsutil.Prettify(s)
7037}
7038
7039// GoString returns the string representation
7040func (s SampleDataS3SourceConfig) GoString() string {
7041	return s.String()
7042}
7043
7044// Validate inspects the fields of the type to determine if they are valid.
7045func (s *SampleDataS3SourceConfig) Validate() error {
7046	invalidParams := request.ErrInvalidParams{Context: "SampleDataS3SourceConfig"}
7047	if s.FileFormatDescriptor == nil {
7048		invalidParams.Add(request.NewErrParamRequired("FileFormatDescriptor"))
7049	}
7050	if s.HistoricalDataPathList != nil && len(s.HistoricalDataPathList) < 1 {
7051		invalidParams.Add(request.NewErrParamMinLen("HistoricalDataPathList", 1))
7052	}
7053	if s.RoleArn == nil {
7054		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
7055	}
7056	if s.TemplatedPathList != nil && len(s.TemplatedPathList) < 1 {
7057		invalidParams.Add(request.NewErrParamMinLen("TemplatedPathList", 1))
7058	}
7059
7060	if invalidParams.Len() > 0 {
7061		return invalidParams
7062	}
7063	return nil
7064}
7065
7066// SetFileFormatDescriptor sets the FileFormatDescriptor field's value.
7067func (s *SampleDataS3SourceConfig) SetFileFormatDescriptor(v *FileFormatDescriptor) *SampleDataS3SourceConfig {
7068	s.FileFormatDescriptor = v
7069	return s
7070}
7071
7072// SetHistoricalDataPathList sets the HistoricalDataPathList field's value.
7073func (s *SampleDataS3SourceConfig) SetHistoricalDataPathList(v []*string) *SampleDataS3SourceConfig {
7074	s.HistoricalDataPathList = v
7075	return s
7076}
7077
7078// SetRoleArn sets the RoleArn field's value.
7079func (s *SampleDataS3SourceConfig) SetRoleArn(v string) *SampleDataS3SourceConfig {
7080	s.RoleArn = &v
7081	return s
7082}
7083
7084// SetTemplatedPathList sets the TemplatedPathList field's value.
7085func (s *SampleDataS3SourceConfig) SetTemplatedPathList(v []*string) *SampleDataS3SourceConfig {
7086	s.TemplatedPathList = v
7087	return s
7088}
7089
7090// The request exceeded the service's quotas. Check the service quotas and try
7091// again.
7092type ServiceQuotaExceededException struct {
7093	_            struct{}                  `type:"structure"`
7094	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7095
7096	Message_ *string `locationName:"Message" type:"string"`
7097
7098	// The quota code.
7099	QuotaCode *string `type:"string"`
7100
7101	// The ID of the resource.
7102	ResourceId *string `type:"string"`
7103
7104	// The type of the resource.
7105	ResourceType *string `type:"string"`
7106
7107	// The service code.
7108	ServiceCode *string `type:"string"`
7109}
7110
7111// String returns the string representation
7112func (s ServiceQuotaExceededException) String() string {
7113	return awsutil.Prettify(s)
7114}
7115
7116// GoString returns the string representation
7117func (s ServiceQuotaExceededException) GoString() string {
7118	return s.String()
7119}
7120
7121func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
7122	return &ServiceQuotaExceededException{
7123		RespMetadata: v,
7124	}
7125}
7126
7127// Code returns the exception type name.
7128func (s *ServiceQuotaExceededException) Code() string {
7129	return "ServiceQuotaExceededException"
7130}
7131
7132// Message returns the exception's message.
7133func (s *ServiceQuotaExceededException) Message() string {
7134	if s.Message_ != nil {
7135		return *s.Message_
7136	}
7137	return ""
7138}
7139
7140// OrigErr always returns nil, satisfies awserr.Error interface.
7141func (s *ServiceQuotaExceededException) OrigErr() error {
7142	return nil
7143}
7144
7145func (s *ServiceQuotaExceededException) Error() string {
7146	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7147}
7148
7149// Status code returns the HTTP status code for the request's response error.
7150func (s *ServiceQuotaExceededException) StatusCode() int {
7151	return s.RespMetadata.StatusCode
7152}
7153
7154// RequestID returns the service's response RequestID for request.
7155func (s *ServiceQuotaExceededException) RequestID() string {
7156	return s.RespMetadata.RequestID
7157}
7158
7159type TagResourceInput struct {
7160	_ struct{} `type:"structure"`
7161
7162	// The resource's Amazon Resource Name (ARN).
7163	//
7164	// ResourceArn is a required field
7165	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
7166
7167	// Tags to apply to the resource. Tag keys and values can contain letters, numbers,
7168	// spaces, and the following symbols: _.:/=+@-
7169	//
7170	// Tags is a required field
7171	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
7172}
7173
7174// String returns the string representation
7175func (s TagResourceInput) String() string {
7176	return awsutil.Prettify(s)
7177}
7178
7179// GoString returns the string representation
7180func (s TagResourceInput) GoString() string {
7181	return s.String()
7182}
7183
7184// Validate inspects the fields of the type to determine if they are valid.
7185func (s *TagResourceInput) Validate() error {
7186	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
7187	if s.ResourceArn == nil {
7188		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7189	}
7190	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7191		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7192	}
7193	if s.Tags == nil {
7194		invalidParams.Add(request.NewErrParamRequired("Tags"))
7195	}
7196	if s.Tags != nil && len(s.Tags) < 1 {
7197		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
7198	}
7199
7200	if invalidParams.Len() > 0 {
7201		return invalidParams
7202	}
7203	return nil
7204}
7205
7206// SetResourceArn sets the ResourceArn field's value.
7207func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
7208	s.ResourceArn = &v
7209	return s
7210}
7211
7212// SetTags sets the Tags field's value.
7213func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
7214	s.Tags = v
7215	return s
7216}
7217
7218type TagResourceOutput struct {
7219	_ struct{} `type:"structure"`
7220}
7221
7222// String returns the string representation
7223func (s TagResourceOutput) String() string {
7224	return awsutil.Prettify(s)
7225}
7226
7227// GoString returns the string representation
7228func (s TagResourceOutput) GoString() string {
7229	return s.String()
7230}
7231
7232// Details about a metric. A metric is an aggregation of the values of a measure
7233// for a dimension value, such as availability in the us-east-1 Region.
7234type TimeSeries struct {
7235	_ struct{} `type:"structure"`
7236
7237	// The dimensions of the metric.
7238	//
7239	// DimensionList is a required field
7240	DimensionList []*DimensionNameValue `type:"list" required:"true"`
7241
7242	// The values for the metric.
7243	//
7244	// MetricValueList is a required field
7245	MetricValueList []*float64 `type:"list" required:"true"`
7246
7247	// The ID of the metric.
7248	//
7249	// TimeSeriesId is a required field
7250	TimeSeriesId *string `type:"string" required:"true"`
7251}
7252
7253// String returns the string representation
7254func (s TimeSeries) String() string {
7255	return awsutil.Prettify(s)
7256}
7257
7258// GoString returns the string representation
7259func (s TimeSeries) GoString() string {
7260	return s.String()
7261}
7262
7263// SetDimensionList sets the DimensionList field's value.
7264func (s *TimeSeries) SetDimensionList(v []*DimensionNameValue) *TimeSeries {
7265	s.DimensionList = v
7266	return s
7267}
7268
7269// SetMetricValueList sets the MetricValueList field's value.
7270func (s *TimeSeries) SetMetricValueList(v []*float64) *TimeSeries {
7271	s.MetricValueList = v
7272	return s
7273}
7274
7275// SetTimeSeriesId sets the TimeSeriesId field's value.
7276func (s *TimeSeries) SetTimeSeriesId(v string) *TimeSeries {
7277	s.TimeSeriesId = &v
7278	return s
7279}
7280
7281// Details about feedback submitted for an anomalous metric.
7282type TimeSeriesFeedback struct {
7283	_ struct{} `type:"structure"`
7284
7285	// Feedback on whether the metric is a legitimate anomaly.
7286	IsAnomaly *bool `type:"boolean"`
7287
7288	// The ID of the metric.
7289	TimeSeriesId *string `type:"string"`
7290}
7291
7292// String returns the string representation
7293func (s TimeSeriesFeedback) String() string {
7294	return awsutil.Prettify(s)
7295}
7296
7297// GoString returns the string representation
7298func (s TimeSeriesFeedback) GoString() string {
7299	return s.String()
7300}
7301
7302// SetIsAnomaly sets the IsAnomaly field's value.
7303func (s *TimeSeriesFeedback) SetIsAnomaly(v bool) *TimeSeriesFeedback {
7304	s.IsAnomaly = &v
7305	return s
7306}
7307
7308// SetTimeSeriesId sets the TimeSeriesId field's value.
7309func (s *TimeSeriesFeedback) SetTimeSeriesId(v string) *TimeSeriesFeedback {
7310	s.TimeSeriesId = &v
7311	return s
7312}
7313
7314// Contains information about the column used to track time in a source data
7315// file.
7316type TimestampColumn struct {
7317	_ struct{} `type:"structure"`
7318
7319	// The format of the timestamp column.
7320	ColumnFormat *string `type:"string"`
7321
7322	// The name of the timestamp column.
7323	ColumnName *string `min:"1" type:"string"`
7324}
7325
7326// String returns the string representation
7327func (s TimestampColumn) String() string {
7328	return awsutil.Prettify(s)
7329}
7330
7331// GoString returns the string representation
7332func (s TimestampColumn) GoString() string {
7333	return s.String()
7334}
7335
7336// Validate inspects the fields of the type to determine if they are valid.
7337func (s *TimestampColumn) Validate() error {
7338	invalidParams := request.ErrInvalidParams{Context: "TimestampColumn"}
7339	if s.ColumnName != nil && len(*s.ColumnName) < 1 {
7340		invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1))
7341	}
7342
7343	if invalidParams.Len() > 0 {
7344		return invalidParams
7345	}
7346	return nil
7347}
7348
7349// SetColumnFormat sets the ColumnFormat field's value.
7350func (s *TimestampColumn) SetColumnFormat(v string) *TimestampColumn {
7351	s.ColumnFormat = &v
7352	return s
7353}
7354
7355// SetColumnName sets the ColumnName field's value.
7356func (s *TimestampColumn) SetColumnName(v string) *TimestampColumn {
7357	s.ColumnName = &v
7358	return s
7359}
7360
7361// The request was denied due to too many requests being submitted at the same
7362// time.
7363type TooManyRequestsException struct {
7364	_            struct{}                  `type:"structure"`
7365	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7366
7367	Message_ *string `locationName:"Message" type:"string"`
7368}
7369
7370// String returns the string representation
7371func (s TooManyRequestsException) String() string {
7372	return awsutil.Prettify(s)
7373}
7374
7375// GoString returns the string representation
7376func (s TooManyRequestsException) GoString() string {
7377	return s.String()
7378}
7379
7380func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
7381	return &TooManyRequestsException{
7382		RespMetadata: v,
7383	}
7384}
7385
7386// Code returns the exception type name.
7387func (s *TooManyRequestsException) Code() string {
7388	return "TooManyRequestsException"
7389}
7390
7391// Message returns the exception's message.
7392func (s *TooManyRequestsException) Message() string {
7393	if s.Message_ != nil {
7394		return *s.Message_
7395	}
7396	return ""
7397}
7398
7399// OrigErr always returns nil, satisfies awserr.Error interface.
7400func (s *TooManyRequestsException) OrigErr() error {
7401	return nil
7402}
7403
7404func (s *TooManyRequestsException) Error() string {
7405	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7406}
7407
7408// Status code returns the HTTP status code for the request's response error.
7409func (s *TooManyRequestsException) StatusCode() int {
7410	return s.RespMetadata.StatusCode
7411}
7412
7413// RequestID returns the service's response RequestID for request.
7414func (s *TooManyRequestsException) RequestID() string {
7415	return s.RespMetadata.RequestID
7416}
7417
7418type UntagResourceInput struct {
7419	_ struct{} `type:"structure"`
7420
7421	// The resource's Amazon Resource Name (ARN).
7422	//
7423	// ResourceArn is a required field
7424	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
7425
7426	// Keys to remove from the resource's tags.
7427	//
7428	// TagKeys is a required field
7429	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
7430}
7431
7432// String returns the string representation
7433func (s UntagResourceInput) String() string {
7434	return awsutil.Prettify(s)
7435}
7436
7437// GoString returns the string representation
7438func (s UntagResourceInput) GoString() string {
7439	return s.String()
7440}
7441
7442// Validate inspects the fields of the type to determine if they are valid.
7443func (s *UntagResourceInput) Validate() error {
7444	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
7445	if s.ResourceArn == nil {
7446		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7447	}
7448	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7449		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7450	}
7451	if s.TagKeys == nil {
7452		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
7453	}
7454	if s.TagKeys != nil && len(s.TagKeys) < 1 {
7455		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
7456	}
7457
7458	if invalidParams.Len() > 0 {
7459		return invalidParams
7460	}
7461	return nil
7462}
7463
7464// SetResourceArn sets the ResourceArn field's value.
7465func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
7466	s.ResourceArn = &v
7467	return s
7468}
7469
7470// SetTagKeys sets the TagKeys field's value.
7471func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
7472	s.TagKeys = v
7473	return s
7474}
7475
7476type UntagResourceOutput struct {
7477	_ struct{} `type:"structure"`
7478}
7479
7480// String returns the string representation
7481func (s UntagResourceOutput) String() string {
7482	return awsutil.Prettify(s)
7483}
7484
7485// GoString returns the string representation
7486func (s UntagResourceOutput) GoString() string {
7487	return s.String()
7488}
7489
7490type UpdateAnomalyDetectorInput struct {
7491	_ struct{} `type:"structure"`
7492
7493	// The ARN of the detector to update.
7494	//
7495	// AnomalyDetectorArn is a required field
7496	AnomalyDetectorArn *string `type:"string" required:"true"`
7497
7498	// Contains information about the configuration to which the detector will be
7499	// updated.
7500	AnomalyDetectorConfig *AnomalyDetectorConfig `type:"structure"`
7501
7502	// The updated detector description.
7503	AnomalyDetectorDescription *string `min:"1" type:"string"`
7504
7505	// The Amazon Resource Name (ARN) of an AWS KMS encryption key.
7506	KmsKeyArn *string `min:"20" type:"string"`
7507}
7508
7509// String returns the string representation
7510func (s UpdateAnomalyDetectorInput) String() string {
7511	return awsutil.Prettify(s)
7512}
7513
7514// GoString returns the string representation
7515func (s UpdateAnomalyDetectorInput) GoString() string {
7516	return s.String()
7517}
7518
7519// Validate inspects the fields of the type to determine if they are valid.
7520func (s *UpdateAnomalyDetectorInput) Validate() error {
7521	invalidParams := request.ErrInvalidParams{Context: "UpdateAnomalyDetectorInput"}
7522	if s.AnomalyDetectorArn == nil {
7523		invalidParams.Add(request.NewErrParamRequired("AnomalyDetectorArn"))
7524	}
7525	if s.AnomalyDetectorDescription != nil && len(*s.AnomalyDetectorDescription) < 1 {
7526		invalidParams.Add(request.NewErrParamMinLen("AnomalyDetectorDescription", 1))
7527	}
7528	if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 20 {
7529		invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 20))
7530	}
7531
7532	if invalidParams.Len() > 0 {
7533		return invalidParams
7534	}
7535	return nil
7536}
7537
7538// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
7539func (s *UpdateAnomalyDetectorInput) SetAnomalyDetectorArn(v string) *UpdateAnomalyDetectorInput {
7540	s.AnomalyDetectorArn = &v
7541	return s
7542}
7543
7544// SetAnomalyDetectorConfig sets the AnomalyDetectorConfig field's value.
7545func (s *UpdateAnomalyDetectorInput) SetAnomalyDetectorConfig(v *AnomalyDetectorConfig) *UpdateAnomalyDetectorInput {
7546	s.AnomalyDetectorConfig = v
7547	return s
7548}
7549
7550// SetAnomalyDetectorDescription sets the AnomalyDetectorDescription field's value.
7551func (s *UpdateAnomalyDetectorInput) SetAnomalyDetectorDescription(v string) *UpdateAnomalyDetectorInput {
7552	s.AnomalyDetectorDescription = &v
7553	return s
7554}
7555
7556// SetKmsKeyArn sets the KmsKeyArn field's value.
7557func (s *UpdateAnomalyDetectorInput) SetKmsKeyArn(v string) *UpdateAnomalyDetectorInput {
7558	s.KmsKeyArn = &v
7559	return s
7560}
7561
7562type UpdateAnomalyDetectorOutput struct {
7563	_ struct{} `type:"structure"`
7564
7565	// The ARN of the updated detector.
7566	AnomalyDetectorArn *string `type:"string"`
7567}
7568
7569// String returns the string representation
7570func (s UpdateAnomalyDetectorOutput) String() string {
7571	return awsutil.Prettify(s)
7572}
7573
7574// GoString returns the string representation
7575func (s UpdateAnomalyDetectorOutput) GoString() string {
7576	return s.String()
7577}
7578
7579// SetAnomalyDetectorArn sets the AnomalyDetectorArn field's value.
7580func (s *UpdateAnomalyDetectorOutput) SetAnomalyDetectorArn(v string) *UpdateAnomalyDetectorOutput {
7581	s.AnomalyDetectorArn = &v
7582	return s
7583}
7584
7585type UpdateMetricSetInput struct {
7586	_ struct{} `type:"structure"`
7587
7588	// The dimension list.
7589	DimensionList []*string `min:"1" type:"list"`
7590
7591	// The metric list.
7592	MetricList []*Metric `min:"1" type:"list"`
7593
7594	// The ARN of the dataset to update.
7595	//
7596	// MetricSetArn is a required field
7597	MetricSetArn *string `type:"string" required:"true"`
7598
7599	// The dataset's description.
7600	MetricSetDescription *string `min:"1" type:"string"`
7601
7602	// The dataset's interval.
7603	MetricSetFrequency *string `type:"string" enum:"Frequency"`
7604
7605	// Contains information about source data used to generate a metric.
7606	MetricSource *MetricSource `type:"structure"`
7607
7608	// After an interval ends, the amount of seconds that the detector waits before
7609	// importing data. Offset is only supported for S3 and Redshift datasources.
7610	Offset *int64 `type:"integer"`
7611
7612	// The timestamp column.
7613	TimestampColumn *TimestampColumn `type:"structure"`
7614}
7615
7616// String returns the string representation
7617func (s UpdateMetricSetInput) String() string {
7618	return awsutil.Prettify(s)
7619}
7620
7621// GoString returns the string representation
7622func (s UpdateMetricSetInput) GoString() string {
7623	return s.String()
7624}
7625
7626// Validate inspects the fields of the type to determine if they are valid.
7627func (s *UpdateMetricSetInput) Validate() error {
7628	invalidParams := request.ErrInvalidParams{Context: "UpdateMetricSetInput"}
7629	if s.DimensionList != nil && len(s.DimensionList) < 1 {
7630		invalidParams.Add(request.NewErrParamMinLen("DimensionList", 1))
7631	}
7632	if s.MetricList != nil && len(s.MetricList) < 1 {
7633		invalidParams.Add(request.NewErrParamMinLen("MetricList", 1))
7634	}
7635	if s.MetricSetArn == nil {
7636		invalidParams.Add(request.NewErrParamRequired("MetricSetArn"))
7637	}
7638	if s.MetricSetDescription != nil && len(*s.MetricSetDescription) < 1 {
7639		invalidParams.Add(request.NewErrParamMinLen("MetricSetDescription", 1))
7640	}
7641	if s.MetricList != nil {
7642		for i, v := range s.MetricList {
7643			if v == nil {
7644				continue
7645			}
7646			if err := v.Validate(); err != nil {
7647				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricList", i), err.(request.ErrInvalidParams))
7648			}
7649		}
7650	}
7651	if s.MetricSource != nil {
7652		if err := s.MetricSource.Validate(); err != nil {
7653			invalidParams.AddNested("MetricSource", err.(request.ErrInvalidParams))
7654		}
7655	}
7656	if s.TimestampColumn != nil {
7657		if err := s.TimestampColumn.Validate(); err != nil {
7658			invalidParams.AddNested("TimestampColumn", err.(request.ErrInvalidParams))
7659		}
7660	}
7661
7662	if invalidParams.Len() > 0 {
7663		return invalidParams
7664	}
7665	return nil
7666}
7667
7668// SetDimensionList sets the DimensionList field's value.
7669func (s *UpdateMetricSetInput) SetDimensionList(v []*string) *UpdateMetricSetInput {
7670	s.DimensionList = v
7671	return s
7672}
7673
7674// SetMetricList sets the MetricList field's value.
7675func (s *UpdateMetricSetInput) SetMetricList(v []*Metric) *UpdateMetricSetInput {
7676	s.MetricList = v
7677	return s
7678}
7679
7680// SetMetricSetArn sets the MetricSetArn field's value.
7681func (s *UpdateMetricSetInput) SetMetricSetArn(v string) *UpdateMetricSetInput {
7682	s.MetricSetArn = &v
7683	return s
7684}
7685
7686// SetMetricSetDescription sets the MetricSetDescription field's value.
7687func (s *UpdateMetricSetInput) SetMetricSetDescription(v string) *UpdateMetricSetInput {
7688	s.MetricSetDescription = &v
7689	return s
7690}
7691
7692// SetMetricSetFrequency sets the MetricSetFrequency field's value.
7693func (s *UpdateMetricSetInput) SetMetricSetFrequency(v string) *UpdateMetricSetInput {
7694	s.MetricSetFrequency = &v
7695	return s
7696}
7697
7698// SetMetricSource sets the MetricSource field's value.
7699func (s *UpdateMetricSetInput) SetMetricSource(v *MetricSource) *UpdateMetricSetInput {
7700	s.MetricSource = v
7701	return s
7702}
7703
7704// SetOffset sets the Offset field's value.
7705func (s *UpdateMetricSetInput) SetOffset(v int64) *UpdateMetricSetInput {
7706	s.Offset = &v
7707	return s
7708}
7709
7710// SetTimestampColumn sets the TimestampColumn field's value.
7711func (s *UpdateMetricSetInput) SetTimestampColumn(v *TimestampColumn) *UpdateMetricSetInput {
7712	s.TimestampColumn = v
7713	return s
7714}
7715
7716type UpdateMetricSetOutput struct {
7717	_ struct{} `type:"structure"`
7718
7719	// The ARN of the dataset.
7720	MetricSetArn *string `type:"string"`
7721}
7722
7723// String returns the string representation
7724func (s UpdateMetricSetOutput) String() string {
7725	return awsutil.Prettify(s)
7726}
7727
7728// GoString returns the string representation
7729func (s UpdateMetricSetOutput) GoString() string {
7730	return s.String()
7731}
7732
7733// SetMetricSetArn sets the MetricSetArn field's value.
7734func (s *UpdateMetricSetOutput) SetMetricSetArn(v string) *UpdateMetricSetOutput {
7735	s.MetricSetArn = &v
7736	return s
7737}
7738
7739// The input fails to satisfy the constraints specified by the AWS service.
7740// Check your input values and try again.
7741type ValidationException struct {
7742	_            struct{}                  `type:"structure"`
7743	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7744
7745	// Fields that failed validation.
7746	Fields []*ValidationExceptionField `type:"list"`
7747
7748	Message_ *string `locationName:"Message" type:"string"`
7749
7750	// The reason that validation failed.
7751	Reason *string `type:"string" enum:"ValidationExceptionReason"`
7752}
7753
7754// String returns the string representation
7755func (s ValidationException) String() string {
7756	return awsutil.Prettify(s)
7757}
7758
7759// GoString returns the string representation
7760func (s ValidationException) GoString() string {
7761	return s.String()
7762}
7763
7764func newErrorValidationException(v protocol.ResponseMetadata) error {
7765	return &ValidationException{
7766		RespMetadata: v,
7767	}
7768}
7769
7770// Code returns the exception type name.
7771func (s *ValidationException) Code() string {
7772	return "ValidationException"
7773}
7774
7775// Message returns the exception's message.
7776func (s *ValidationException) Message() string {
7777	if s.Message_ != nil {
7778		return *s.Message_
7779	}
7780	return ""
7781}
7782
7783// OrigErr always returns nil, satisfies awserr.Error interface.
7784func (s *ValidationException) OrigErr() error {
7785	return nil
7786}
7787
7788func (s *ValidationException) Error() string {
7789	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7790}
7791
7792// Status code returns the HTTP status code for the request's response error.
7793func (s *ValidationException) StatusCode() int {
7794	return s.RespMetadata.StatusCode
7795}
7796
7797// RequestID returns the service's response RequestID for request.
7798func (s *ValidationException) RequestID() string {
7799	return s.RespMetadata.RequestID
7800}
7801
7802// Contains information about a a field in a validation exception.
7803type ValidationExceptionField struct {
7804	_ struct{} `type:"structure"`
7805
7806	// The message with more information about the validation exception.
7807	//
7808	// Message is a required field
7809	Message *string `type:"string" required:"true"`
7810
7811	// The name of the field.
7812	//
7813	// Name is a required field
7814	Name *string `type:"string" required:"true"`
7815}
7816
7817// String returns the string representation
7818func (s ValidationExceptionField) String() string {
7819	return awsutil.Prettify(s)
7820}
7821
7822// GoString returns the string representation
7823func (s ValidationExceptionField) GoString() string {
7824	return s.String()
7825}
7826
7827// SetMessage sets the Message field's value.
7828func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
7829	s.Message = &v
7830	return s
7831}
7832
7833// SetName sets the Name field's value.
7834func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
7835	s.Name = &v
7836	return s
7837}
7838
7839// Contains configuration information about the Amazon Virtual Private Cloud
7840// (VPC).
7841type VpcConfiguration struct {
7842	_ struct{} `type:"structure"`
7843
7844	// An array of strings containing the list of security groups.
7845	//
7846	// SecurityGroupIdList is a required field
7847	SecurityGroupIdList []*string `type:"list" required:"true"`
7848
7849	// An array of strings containing the Amazon VPC subnet IDs (e.g., subnet-0bb1c79de3EXAMPLE.
7850	//
7851	// SubnetIdList is a required field
7852	SubnetIdList []*string `type:"list" required:"true"`
7853}
7854
7855// String returns the string representation
7856func (s VpcConfiguration) String() string {
7857	return awsutil.Prettify(s)
7858}
7859
7860// GoString returns the string representation
7861func (s VpcConfiguration) GoString() string {
7862	return s.String()
7863}
7864
7865// Validate inspects the fields of the type to determine if they are valid.
7866func (s *VpcConfiguration) Validate() error {
7867	invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"}
7868	if s.SecurityGroupIdList == nil {
7869		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIdList"))
7870	}
7871	if s.SubnetIdList == nil {
7872		invalidParams.Add(request.NewErrParamRequired("SubnetIdList"))
7873	}
7874
7875	if invalidParams.Len() > 0 {
7876		return invalidParams
7877	}
7878	return nil
7879}
7880
7881// SetSecurityGroupIdList sets the SecurityGroupIdList field's value.
7882func (s *VpcConfiguration) SetSecurityGroupIdList(v []*string) *VpcConfiguration {
7883	s.SecurityGroupIdList = v
7884	return s
7885}
7886
7887// SetSubnetIdList sets the SubnetIdList field's value.
7888func (s *VpcConfiguration) SetSubnetIdList(v []*string) *VpcConfiguration {
7889	s.SubnetIdList = v
7890	return s
7891}
7892
7893const (
7894	// AggregationFunctionAvg is a AggregationFunction enum value
7895	AggregationFunctionAvg = "AVG"
7896
7897	// AggregationFunctionSum is a AggregationFunction enum value
7898	AggregationFunctionSum = "SUM"
7899)
7900
7901// AggregationFunction_Values returns all elements of the AggregationFunction enum
7902func AggregationFunction_Values() []string {
7903	return []string{
7904		AggregationFunctionAvg,
7905		AggregationFunctionSum,
7906	}
7907}
7908
7909const (
7910	// AlertStatusActive is a AlertStatus enum value
7911	AlertStatusActive = "ACTIVE"
7912
7913	// AlertStatusInactive is a AlertStatus enum value
7914	AlertStatusInactive = "INACTIVE"
7915)
7916
7917// AlertStatus_Values returns all elements of the AlertStatus enum
7918func AlertStatus_Values() []string {
7919	return []string{
7920		AlertStatusActive,
7921		AlertStatusInactive,
7922	}
7923}
7924
7925const (
7926	// AlertTypeSns is a AlertType enum value
7927	AlertTypeSns = "SNS"
7928
7929	// AlertTypeLambda is a AlertType enum value
7930	AlertTypeLambda = "LAMBDA"
7931)
7932
7933// AlertType_Values returns all elements of the AlertType enum
7934func AlertType_Values() []string {
7935	return []string{
7936		AlertTypeSns,
7937		AlertTypeLambda,
7938	}
7939}
7940
7941const (
7942	// AnomalyDetectionTaskStatusPending is a AnomalyDetectionTaskStatus enum value
7943	AnomalyDetectionTaskStatusPending = "PENDING"
7944
7945	// AnomalyDetectionTaskStatusInProgress is a AnomalyDetectionTaskStatus enum value
7946	AnomalyDetectionTaskStatusInProgress = "IN_PROGRESS"
7947
7948	// AnomalyDetectionTaskStatusCompleted is a AnomalyDetectionTaskStatus enum value
7949	AnomalyDetectionTaskStatusCompleted = "COMPLETED"
7950
7951	// AnomalyDetectionTaskStatusFailed is a AnomalyDetectionTaskStatus enum value
7952	AnomalyDetectionTaskStatusFailed = "FAILED"
7953
7954	// AnomalyDetectionTaskStatusFailedToSchedule is a AnomalyDetectionTaskStatus enum value
7955	AnomalyDetectionTaskStatusFailedToSchedule = "FAILED_TO_SCHEDULE"
7956)
7957
7958// AnomalyDetectionTaskStatus_Values returns all elements of the AnomalyDetectionTaskStatus enum
7959func AnomalyDetectionTaskStatus_Values() []string {
7960	return []string{
7961		AnomalyDetectionTaskStatusPending,
7962		AnomalyDetectionTaskStatusInProgress,
7963		AnomalyDetectionTaskStatusCompleted,
7964		AnomalyDetectionTaskStatusFailed,
7965		AnomalyDetectionTaskStatusFailedToSchedule,
7966	}
7967}
7968
7969const (
7970	// AnomalyDetectorStatusActive is a AnomalyDetectorStatus enum value
7971	AnomalyDetectorStatusActive = "ACTIVE"
7972
7973	// AnomalyDetectorStatusActivating is a AnomalyDetectorStatus enum value
7974	AnomalyDetectorStatusActivating = "ACTIVATING"
7975
7976	// AnomalyDetectorStatusDeleting is a AnomalyDetectorStatus enum value
7977	AnomalyDetectorStatusDeleting = "DELETING"
7978
7979	// AnomalyDetectorStatusFailed is a AnomalyDetectorStatus enum value
7980	AnomalyDetectorStatusFailed = "FAILED"
7981
7982	// AnomalyDetectorStatusInactive is a AnomalyDetectorStatus enum value
7983	AnomalyDetectorStatusInactive = "INACTIVE"
7984
7985	// AnomalyDetectorStatusLearning is a AnomalyDetectorStatus enum value
7986	AnomalyDetectorStatusLearning = "LEARNING"
7987
7988	// AnomalyDetectorStatusBackTestActivating is a AnomalyDetectorStatus enum value
7989	AnomalyDetectorStatusBackTestActivating = "BACK_TEST_ACTIVATING"
7990
7991	// AnomalyDetectorStatusBackTestActive is a AnomalyDetectorStatus enum value
7992	AnomalyDetectorStatusBackTestActive = "BACK_TEST_ACTIVE"
7993
7994	// AnomalyDetectorStatusBackTestComplete is a AnomalyDetectorStatus enum value
7995	AnomalyDetectorStatusBackTestComplete = "BACK_TEST_COMPLETE"
7996)
7997
7998// AnomalyDetectorStatus_Values returns all elements of the AnomalyDetectorStatus enum
7999func AnomalyDetectorStatus_Values() []string {
8000	return []string{
8001		AnomalyDetectorStatusActive,
8002		AnomalyDetectorStatusActivating,
8003		AnomalyDetectorStatusDeleting,
8004		AnomalyDetectorStatusFailed,
8005		AnomalyDetectorStatusInactive,
8006		AnomalyDetectorStatusLearning,
8007		AnomalyDetectorStatusBackTestActivating,
8008		AnomalyDetectorStatusBackTestActive,
8009		AnomalyDetectorStatusBackTestComplete,
8010	}
8011}
8012
8013const (
8014	// CSVFileCompressionNone is a CSVFileCompression enum value
8015	CSVFileCompressionNone = "NONE"
8016
8017	// CSVFileCompressionGzip is a CSVFileCompression enum value
8018	CSVFileCompressionGzip = "GZIP"
8019)
8020
8021// CSVFileCompression_Values returns all elements of the CSVFileCompression enum
8022func CSVFileCompression_Values() []string {
8023	return []string{
8024		CSVFileCompressionNone,
8025		CSVFileCompressionGzip,
8026	}
8027}
8028
8029const (
8030	// FrequencyP1d is a Frequency enum value
8031	FrequencyP1d = "P1D"
8032
8033	// FrequencyPt1h is a Frequency enum value
8034	FrequencyPt1h = "PT1H"
8035
8036	// FrequencyPt10m is a Frequency enum value
8037	FrequencyPt10m = "PT10M"
8038
8039	// FrequencyPt5m is a Frequency enum value
8040	FrequencyPt5m = "PT5M"
8041)
8042
8043// Frequency_Values returns all elements of the Frequency enum
8044func Frequency_Values() []string {
8045	return []string{
8046		FrequencyP1d,
8047		FrequencyPt1h,
8048		FrequencyPt10m,
8049		FrequencyPt5m,
8050	}
8051}
8052
8053const (
8054	// JsonFileCompressionNone is a JsonFileCompression enum value
8055	JsonFileCompressionNone = "NONE"
8056
8057	// JsonFileCompressionGzip is a JsonFileCompression enum value
8058	JsonFileCompressionGzip = "GZIP"
8059)
8060
8061// JsonFileCompression_Values returns all elements of the JsonFileCompression enum
8062func JsonFileCompression_Values() []string {
8063	return []string{
8064		JsonFileCompressionNone,
8065		JsonFileCompressionGzip,
8066	}
8067}
8068
8069const (
8070	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
8071	ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION"
8072
8073	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
8074	ValidationExceptionReasonCannotParse = "CANNOT_PARSE"
8075
8076	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
8077	ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED"
8078
8079	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
8080	ValidationExceptionReasonOther = "OTHER"
8081)
8082
8083// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
8084func ValidationExceptionReason_Values() []string {
8085	return []string{
8086		ValidationExceptionReasonUnknownOperation,
8087		ValidationExceptionReasonCannotParse,
8088		ValidationExceptionReasonFieldValidationFailed,
8089		ValidationExceptionReasonOther,
8090	}
8091}
8092