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