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