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