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.
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 opGetResourceCollection = "GetResourceCollection"
862
863// GetResourceCollectionRequest generates a "aws/request.Request" representing the
864// client's request for the GetResourceCollection 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 GetResourceCollection for more information on using the GetResourceCollection
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 GetResourceCollectionRequest method.
879//    req, resp := client.GetResourceCollectionRequest(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/GetResourceCollection
887func (c *DevOpsGuru) GetResourceCollectionRequest(input *GetResourceCollectionInput) (req *request.Request, output *GetResourceCollectionOutput) {
888	op := &request.Operation{
889		Name:       opGetResourceCollection,
890		HTTPMethod: "GET",
891		HTTPPath:   "/resource-collections/{ResourceCollectionType}",
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 = &GetResourceCollectionInput{}
902	}
903
904	output = &GetResourceCollectionOutput{}
905	req = c.newRequest(op, input, output)
906	return
907}
908
909// GetResourceCollection API operation for Amazon DevOps Guru.
910//
911// Returns lists AWS resources that are of the specified resource collection
912// type. The one type of AWS resource collection supported is AWS CloudFormation
913// stacks. DevOps Guru can be configured to analyze only the AWS resources that
914// are defined in the stacks.
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 GetResourceCollection 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/GetResourceCollection
945func (c *DevOpsGuru) GetResourceCollection(input *GetResourceCollectionInput) (*GetResourceCollectionOutput, error) {
946	req, out := c.GetResourceCollectionRequest(input)
947	return out, req.Send()
948}
949
950// GetResourceCollectionWithContext is the same as GetResourceCollection with the addition of
951// the ability to pass a context and additional request options.
952//
953// See GetResourceCollection 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) GetResourceCollectionWithContext(ctx aws.Context, input *GetResourceCollectionInput, opts ...request.Option) (*GetResourceCollectionOutput, error) {
960	req, out := c.GetResourceCollectionRequest(input)
961	req.SetContext(ctx)
962	req.ApplyOptions(opts...)
963	return out, req.Send()
964}
965
966// GetResourceCollectionPages iterates over the pages of a GetResourceCollection 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 GetResourceCollection 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 GetResourceCollection operation.
975//    pageNum := 0
976//    err := client.GetResourceCollectionPages(params,
977//        func(page *devopsguru.GetResourceCollectionOutput, lastPage bool) bool {
978//            pageNum++
979//            fmt.Println(page)
980//            return pageNum <= 3
981//        })
982//
983func (c *DevOpsGuru) GetResourceCollectionPages(input *GetResourceCollectionInput, fn func(*GetResourceCollectionOutput, bool) bool) error {
984	return c.GetResourceCollectionPagesWithContext(aws.BackgroundContext(), input, fn)
985}
986
987// GetResourceCollectionPagesWithContext same as GetResourceCollectionPages 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) GetResourceCollectionPagesWithContext(ctx aws.Context, input *GetResourceCollectionInput, fn func(*GetResourceCollectionOutput, bool) bool, opts ...request.Option) error {
995	p := request.Pagination{
996		NewRequest: func() (*request.Request, error) {
997			var inCpy *GetResourceCollectionInput
998			if input != nil {
999				tmp := *input
1000				inCpy = &tmp
1001			}
1002			req, _ := c.GetResourceCollectionRequest(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().(*GetResourceCollectionOutput), !p.HasNextPage()) {
1011			break
1012		}
1013	}
1014
1015	return p.Err()
1016}
1017
1018const opListAnomaliesForInsight = "ListAnomaliesForInsight"
1019
1020// ListAnomaliesForInsightRequest generates a "aws/request.Request" representing the
1021// client's request for the ListAnomaliesForInsight 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 ListAnomaliesForInsight for more information on using the ListAnomaliesForInsight
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 ListAnomaliesForInsightRequest method.
1036//    req, resp := client.ListAnomaliesForInsightRequest(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/ListAnomaliesForInsight
1044func (c *DevOpsGuru) ListAnomaliesForInsightRequest(input *ListAnomaliesForInsightInput) (req *request.Request, output *ListAnomaliesForInsightOutput) {
1045	op := &request.Operation{
1046		Name:       opListAnomaliesForInsight,
1047		HTTPMethod: "POST",
1048		HTTPPath:   "/anomalies/insight/{InsightId}",
1049		Paginator: &request.Paginator{
1050			InputTokens:     []string{"NextToken"},
1051			OutputTokens:    []string{"NextToken"},
1052			LimitToken:      "MaxResults",
1053			TruncationToken: "",
1054		},
1055	}
1056
1057	if input == nil {
1058		input = &ListAnomaliesForInsightInput{}
1059	}
1060
1061	output = &ListAnomaliesForInsightOutput{}
1062	req = c.newRequest(op, input, output)
1063	return
1064}
1065
1066// ListAnomaliesForInsight API operation for Amazon DevOps Guru.
1067//
1068// Returns a list of the anomalies that belong to an insight that you specify
1069// using its ID.
1070//
1071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1072// with awserr.Error's Code and Message methods to get detailed information about
1073// the error.
1074//
1075// See the AWS API reference guide for Amazon DevOps Guru's
1076// API operation ListAnomaliesForInsight for usage and error information.
1077//
1078// Returned Error Types:
1079//   * AccessDeniedException
1080//   You don't have permissions to perform the requested operation. The user or
1081//   role that is making the request must have at least one IAM permissions policy
1082//   attached that grants the required permissions. For more information, see
1083//   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
1084//   in the IAM User Guide.
1085//
1086//   * InternalServerException
1087//   An internal failure in an Amazon service occurred.
1088//
1089//   * ResourceNotFoundException
1090//   A requested resource could not be found
1091//
1092//   * ThrottlingException
1093//   The request was denied due to a request throttling.
1094//
1095//   * ValidationException
1096//   Contains information about data passed in to a field during a request that
1097//   is not valid.
1098//
1099// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListAnomaliesForInsight
1100func (c *DevOpsGuru) ListAnomaliesForInsight(input *ListAnomaliesForInsightInput) (*ListAnomaliesForInsightOutput, error) {
1101	req, out := c.ListAnomaliesForInsightRequest(input)
1102	return out, req.Send()
1103}
1104
1105// ListAnomaliesForInsightWithContext is the same as ListAnomaliesForInsight with the addition of
1106// the ability to pass a context and additional request options.
1107//
1108// See ListAnomaliesForInsight for details on how to use this API operation.
1109//
1110// The context must be non-nil and will be used for request cancellation. If
1111// the context is nil a panic will occur. In the future the SDK may create
1112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1113// for more information on using Contexts.
1114func (c *DevOpsGuru) ListAnomaliesForInsightWithContext(ctx aws.Context, input *ListAnomaliesForInsightInput, opts ...request.Option) (*ListAnomaliesForInsightOutput, error) {
1115	req, out := c.ListAnomaliesForInsightRequest(input)
1116	req.SetContext(ctx)
1117	req.ApplyOptions(opts...)
1118	return out, req.Send()
1119}
1120
1121// ListAnomaliesForInsightPages iterates over the pages of a ListAnomaliesForInsight operation,
1122// calling the "fn" function with the response data for each page. To stop
1123// iterating, return false from the fn function.
1124//
1125// See ListAnomaliesForInsight method for more information on how to use this operation.
1126//
1127// Note: This operation can generate multiple requests to a service.
1128//
1129//    // Example iterating over at most 3 pages of a ListAnomaliesForInsight operation.
1130//    pageNum := 0
1131//    err := client.ListAnomaliesForInsightPages(params,
1132//        func(page *devopsguru.ListAnomaliesForInsightOutput, lastPage bool) bool {
1133//            pageNum++
1134//            fmt.Println(page)
1135//            return pageNum <= 3
1136//        })
1137//
1138func (c *DevOpsGuru) ListAnomaliesForInsightPages(input *ListAnomaliesForInsightInput, fn func(*ListAnomaliesForInsightOutput, bool) bool) error {
1139	return c.ListAnomaliesForInsightPagesWithContext(aws.BackgroundContext(), input, fn)
1140}
1141
1142// ListAnomaliesForInsightPagesWithContext same as ListAnomaliesForInsightPages except
1143// it takes a Context and allows setting request options on the pages.
1144//
1145// The context must be non-nil and will be used for request cancellation. If
1146// the context is nil a panic will occur. In the future the SDK may create
1147// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1148// for more information on using Contexts.
1149func (c *DevOpsGuru) ListAnomaliesForInsightPagesWithContext(ctx aws.Context, input *ListAnomaliesForInsightInput, fn func(*ListAnomaliesForInsightOutput, bool) bool, opts ...request.Option) error {
1150	p := request.Pagination{
1151		NewRequest: func() (*request.Request, error) {
1152			var inCpy *ListAnomaliesForInsightInput
1153			if input != nil {
1154				tmp := *input
1155				inCpy = &tmp
1156			}
1157			req, _ := c.ListAnomaliesForInsightRequest(inCpy)
1158			req.SetContext(ctx)
1159			req.ApplyOptions(opts...)
1160			return req, nil
1161		},
1162	}
1163
1164	for p.Next() {
1165		if !fn(p.Page().(*ListAnomaliesForInsightOutput), !p.HasNextPage()) {
1166			break
1167		}
1168	}
1169
1170	return p.Err()
1171}
1172
1173const opListEvents = "ListEvents"
1174
1175// ListEventsRequest generates a "aws/request.Request" representing the
1176// client's request for the ListEvents operation. The "output" return
1177// value will be populated with the request's response once the request completes
1178// successfully.
1179//
1180// Use "Send" method on the returned Request to send the API call to the service.
1181// the "output" return value is not valid until after Send returns without error.
1182//
1183// See ListEvents for more information on using the ListEvents
1184// API call, and error handling.
1185//
1186// This method is useful when you want to inject custom logic or configuration
1187// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1188//
1189//
1190//    // Example sending a request using the ListEventsRequest method.
1191//    req, resp := client.ListEventsRequest(params)
1192//
1193//    err := req.Send()
1194//    if err == nil { // resp is now filled
1195//        fmt.Println(resp)
1196//    }
1197//
1198// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListEvents
1199func (c *DevOpsGuru) ListEventsRequest(input *ListEventsInput) (req *request.Request, output *ListEventsOutput) {
1200	op := &request.Operation{
1201		Name:       opListEvents,
1202		HTTPMethod: "POST",
1203		HTTPPath:   "/events",
1204		Paginator: &request.Paginator{
1205			InputTokens:     []string{"NextToken"},
1206			OutputTokens:    []string{"NextToken"},
1207			LimitToken:      "MaxResults",
1208			TruncationToken: "",
1209		},
1210	}
1211
1212	if input == nil {
1213		input = &ListEventsInput{}
1214	}
1215
1216	output = &ListEventsOutput{}
1217	req = c.newRequest(op, input, output)
1218	return
1219}
1220
1221// ListEvents API operation for Amazon DevOps Guru.
1222//
1223// Returns a list of the events emitted by the resources that are evaluated
1224// by DevOps Guru. You can use filters to specify which events are returned.
1225//
1226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1227// with awserr.Error's Code and Message methods to get detailed information about
1228// the error.
1229//
1230// See the AWS API reference guide for Amazon DevOps Guru's
1231// API operation ListEvents for usage and error information.
1232//
1233// Returned Error Types:
1234//   * AccessDeniedException
1235//   You don't have permissions to perform the requested operation. The user or
1236//   role that is making the request must have at least one IAM permissions policy
1237//   attached that grants the required permissions. For more information, see
1238//   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
1239//   in the IAM User Guide.
1240//
1241//   * InternalServerException
1242//   An internal failure in an Amazon service occurred.
1243//
1244//   * ResourceNotFoundException
1245//   A requested resource could not be found
1246//
1247//   * ThrottlingException
1248//   The request was denied due to a request throttling.
1249//
1250//   * ValidationException
1251//   Contains information about data passed in to a field during a request that
1252//   is not valid.
1253//
1254// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListEvents
1255func (c *DevOpsGuru) ListEvents(input *ListEventsInput) (*ListEventsOutput, error) {
1256	req, out := c.ListEventsRequest(input)
1257	return out, req.Send()
1258}
1259
1260// ListEventsWithContext is the same as ListEvents with the addition of
1261// the ability to pass a context and additional request options.
1262//
1263// See ListEvents for details on how to use this API operation.
1264//
1265// The context must be non-nil and will be used for request cancellation. If
1266// the context is nil a panic will occur. In the future the SDK may create
1267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1268// for more information on using Contexts.
1269func (c *DevOpsGuru) ListEventsWithContext(ctx aws.Context, input *ListEventsInput, opts ...request.Option) (*ListEventsOutput, error) {
1270	req, out := c.ListEventsRequest(input)
1271	req.SetContext(ctx)
1272	req.ApplyOptions(opts...)
1273	return out, req.Send()
1274}
1275
1276// ListEventsPages iterates over the pages of a ListEvents operation,
1277// calling the "fn" function with the response data for each page. To stop
1278// iterating, return false from the fn function.
1279//
1280// See ListEvents method for more information on how to use this operation.
1281//
1282// Note: This operation can generate multiple requests to a service.
1283//
1284//    // Example iterating over at most 3 pages of a ListEvents operation.
1285//    pageNum := 0
1286//    err := client.ListEventsPages(params,
1287//        func(page *devopsguru.ListEventsOutput, lastPage bool) bool {
1288//            pageNum++
1289//            fmt.Println(page)
1290//            return pageNum <= 3
1291//        })
1292//
1293func (c *DevOpsGuru) ListEventsPages(input *ListEventsInput, fn func(*ListEventsOutput, bool) bool) error {
1294	return c.ListEventsPagesWithContext(aws.BackgroundContext(), input, fn)
1295}
1296
1297// ListEventsPagesWithContext same as ListEventsPages except
1298// it takes a Context and allows setting request options on the pages.
1299//
1300// The context must be non-nil and will be used for request cancellation. If
1301// the context is nil a panic will occur. In the future the SDK may create
1302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1303// for more information on using Contexts.
1304func (c *DevOpsGuru) ListEventsPagesWithContext(ctx aws.Context, input *ListEventsInput, fn func(*ListEventsOutput, bool) bool, opts ...request.Option) error {
1305	p := request.Pagination{
1306		NewRequest: func() (*request.Request, error) {
1307			var inCpy *ListEventsInput
1308			if input != nil {
1309				tmp := *input
1310				inCpy = &tmp
1311			}
1312			req, _ := c.ListEventsRequest(inCpy)
1313			req.SetContext(ctx)
1314			req.ApplyOptions(opts...)
1315			return req, nil
1316		},
1317	}
1318
1319	for p.Next() {
1320		if !fn(p.Page().(*ListEventsOutput), !p.HasNextPage()) {
1321			break
1322		}
1323	}
1324
1325	return p.Err()
1326}
1327
1328const opListInsights = "ListInsights"
1329
1330// ListInsightsRequest generates a "aws/request.Request" representing the
1331// client's request for the ListInsights operation. The "output" return
1332// value will be populated with the request's response once the request completes
1333// successfully.
1334//
1335// Use "Send" method on the returned Request to send the API call to the service.
1336// the "output" return value is not valid until after Send returns without error.
1337//
1338// See ListInsights for more information on using the ListInsights
1339// API call, and error handling.
1340//
1341// This method is useful when you want to inject custom logic or configuration
1342// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1343//
1344//
1345//    // Example sending a request using the ListInsightsRequest method.
1346//    req, resp := client.ListInsightsRequest(params)
1347//
1348//    err := req.Send()
1349//    if err == nil { // resp is now filled
1350//        fmt.Println(resp)
1351//    }
1352//
1353// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListInsights
1354func (c *DevOpsGuru) ListInsightsRequest(input *ListInsightsInput) (req *request.Request, output *ListInsightsOutput) {
1355	op := &request.Operation{
1356		Name:       opListInsights,
1357		HTTPMethod: "POST",
1358		HTTPPath:   "/insights",
1359		Paginator: &request.Paginator{
1360			InputTokens:     []string{"NextToken"},
1361			OutputTokens:    []string{"NextToken"},
1362			LimitToken:      "MaxResults",
1363			TruncationToken: "",
1364		},
1365	}
1366
1367	if input == nil {
1368		input = &ListInsightsInput{}
1369	}
1370
1371	output = &ListInsightsOutput{}
1372	req = c.newRequest(op, input, output)
1373	return
1374}
1375
1376// ListInsights API operation for Amazon DevOps Guru.
1377//
1378// Returns a list of insights in your AWS account. You can specify which insights
1379// are returned by their start time and status (ONGOING, CLOSED, or ANY).
1380//
1381// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1382// with awserr.Error's Code and Message methods to get detailed information about
1383// the error.
1384//
1385// See the AWS API reference guide for Amazon DevOps Guru's
1386// API operation ListInsights for usage and error information.
1387//
1388// Returned Error Types:
1389//   * AccessDeniedException
1390//   You don't have permissions to perform the requested operation. The user or
1391//   role that is making the request must have at least one IAM permissions policy
1392//   attached that grants the required permissions. For more information, see
1393//   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
1394//   in the IAM User Guide.
1395//
1396//   * InternalServerException
1397//   An internal failure in an Amazon service occurred.
1398//
1399//   * ThrottlingException
1400//   The request was denied due to a request throttling.
1401//
1402//   * ValidationException
1403//   Contains information about data passed in to a field during a request that
1404//   is not valid.
1405//
1406// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListInsights
1407func (c *DevOpsGuru) ListInsights(input *ListInsightsInput) (*ListInsightsOutput, error) {
1408	req, out := c.ListInsightsRequest(input)
1409	return out, req.Send()
1410}
1411
1412// ListInsightsWithContext is the same as ListInsights with the addition of
1413// the ability to pass a context and additional request options.
1414//
1415// See ListInsights for details on how to use this API operation.
1416//
1417// The context must be non-nil and will be used for request cancellation. If
1418// the context is nil a panic will occur. In the future the SDK may create
1419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1420// for more information on using Contexts.
1421func (c *DevOpsGuru) ListInsightsWithContext(ctx aws.Context, input *ListInsightsInput, opts ...request.Option) (*ListInsightsOutput, error) {
1422	req, out := c.ListInsightsRequest(input)
1423	req.SetContext(ctx)
1424	req.ApplyOptions(opts...)
1425	return out, req.Send()
1426}
1427
1428// ListInsightsPages iterates over the pages of a ListInsights operation,
1429// calling the "fn" function with the response data for each page. To stop
1430// iterating, return false from the fn function.
1431//
1432// See ListInsights method for more information on how to use this operation.
1433//
1434// Note: This operation can generate multiple requests to a service.
1435//
1436//    // Example iterating over at most 3 pages of a ListInsights operation.
1437//    pageNum := 0
1438//    err := client.ListInsightsPages(params,
1439//        func(page *devopsguru.ListInsightsOutput, lastPage bool) bool {
1440//            pageNum++
1441//            fmt.Println(page)
1442//            return pageNum <= 3
1443//        })
1444//
1445func (c *DevOpsGuru) ListInsightsPages(input *ListInsightsInput, fn func(*ListInsightsOutput, bool) bool) error {
1446	return c.ListInsightsPagesWithContext(aws.BackgroundContext(), input, fn)
1447}
1448
1449// ListInsightsPagesWithContext same as ListInsightsPages except
1450// it takes a Context and allows setting request options on the pages.
1451//
1452// The context must be non-nil and will be used for request cancellation. If
1453// the context is nil a panic will occur. In the future the SDK may create
1454// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1455// for more information on using Contexts.
1456func (c *DevOpsGuru) ListInsightsPagesWithContext(ctx aws.Context, input *ListInsightsInput, fn func(*ListInsightsOutput, bool) bool, opts ...request.Option) error {
1457	p := request.Pagination{
1458		NewRequest: func() (*request.Request, error) {
1459			var inCpy *ListInsightsInput
1460			if input != nil {
1461				tmp := *input
1462				inCpy = &tmp
1463			}
1464			req, _ := c.ListInsightsRequest(inCpy)
1465			req.SetContext(ctx)
1466			req.ApplyOptions(opts...)
1467			return req, nil
1468		},
1469	}
1470
1471	for p.Next() {
1472		if !fn(p.Page().(*ListInsightsOutput), !p.HasNextPage()) {
1473			break
1474		}
1475	}
1476
1477	return p.Err()
1478}
1479
1480const opListNotificationChannels = "ListNotificationChannels"
1481
1482// ListNotificationChannelsRequest generates a "aws/request.Request" representing the
1483// client's request for the ListNotificationChannels operation. The "output" return
1484// value will be populated with the request's response once the request completes
1485// successfully.
1486//
1487// Use "Send" method on the returned Request to send the API call to the service.
1488// the "output" return value is not valid until after Send returns without error.
1489//
1490// See ListNotificationChannels for more information on using the ListNotificationChannels
1491// API call, and error handling.
1492//
1493// This method is useful when you want to inject custom logic or configuration
1494// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1495//
1496//
1497//    // Example sending a request using the ListNotificationChannelsRequest method.
1498//    req, resp := client.ListNotificationChannelsRequest(params)
1499//
1500//    err := req.Send()
1501//    if err == nil { // resp is now filled
1502//        fmt.Println(resp)
1503//    }
1504//
1505// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListNotificationChannels
1506func (c *DevOpsGuru) ListNotificationChannelsRequest(input *ListNotificationChannelsInput) (req *request.Request, output *ListNotificationChannelsOutput) {
1507	op := &request.Operation{
1508		Name:       opListNotificationChannels,
1509		HTTPMethod: "POST",
1510		HTTPPath:   "/channels",
1511		Paginator: &request.Paginator{
1512			InputTokens:     []string{"NextToken"},
1513			OutputTokens:    []string{"NextToken"},
1514			LimitToken:      "",
1515			TruncationToken: "",
1516		},
1517	}
1518
1519	if input == nil {
1520		input = &ListNotificationChannelsInput{}
1521	}
1522
1523	output = &ListNotificationChannelsOutput{}
1524	req = c.newRequest(op, input, output)
1525	return
1526}
1527
1528// ListNotificationChannels API operation for Amazon DevOps Guru.
1529//
1530// Returns a list of notification channels configured for DevOps Guru. Each
1531// notification channel is used to notify you when DevOps Guru generates an
1532// insight that contains information about how to improve your operations. The
1533// one supported notification channel is Amazon Simple Notification Service
1534// (Amazon SNS).
1535//
1536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1537// with awserr.Error's Code and Message methods to get detailed information about
1538// the error.
1539//
1540// See the AWS API reference guide for Amazon DevOps Guru's
1541// API operation ListNotificationChannels for usage and error information.
1542//
1543// Returned Error Types:
1544//   * AccessDeniedException
1545//   You don't have permissions to perform the requested operation. The user or
1546//   role that is making the request must have at least one IAM permissions policy
1547//   attached that grants the required permissions. For more information, see
1548//   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
1549//   in the IAM User Guide.
1550//
1551//   * InternalServerException
1552//   An internal failure in an Amazon service occurred.
1553//
1554//   * ThrottlingException
1555//   The request was denied due to a request throttling.
1556//
1557//   * ValidationException
1558//   Contains information about data passed in to a field during a request that
1559//   is not valid.
1560//
1561// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListNotificationChannels
1562func (c *DevOpsGuru) ListNotificationChannels(input *ListNotificationChannelsInput) (*ListNotificationChannelsOutput, error) {
1563	req, out := c.ListNotificationChannelsRequest(input)
1564	return out, req.Send()
1565}
1566
1567// ListNotificationChannelsWithContext is the same as ListNotificationChannels with the addition of
1568// the ability to pass a context and additional request options.
1569//
1570// See ListNotificationChannels for details on how to use this API operation.
1571//
1572// The context must be non-nil and will be used for request cancellation. If
1573// the context is nil a panic will occur. In the future the SDK may create
1574// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1575// for more information on using Contexts.
1576func (c *DevOpsGuru) ListNotificationChannelsWithContext(ctx aws.Context, input *ListNotificationChannelsInput, opts ...request.Option) (*ListNotificationChannelsOutput, error) {
1577	req, out := c.ListNotificationChannelsRequest(input)
1578	req.SetContext(ctx)
1579	req.ApplyOptions(opts...)
1580	return out, req.Send()
1581}
1582
1583// ListNotificationChannelsPages iterates over the pages of a ListNotificationChannels operation,
1584// calling the "fn" function with the response data for each page. To stop
1585// iterating, return false from the fn function.
1586//
1587// See ListNotificationChannels method for more information on how to use this operation.
1588//
1589// Note: This operation can generate multiple requests to a service.
1590//
1591//    // Example iterating over at most 3 pages of a ListNotificationChannels operation.
1592//    pageNum := 0
1593//    err := client.ListNotificationChannelsPages(params,
1594//        func(page *devopsguru.ListNotificationChannelsOutput, lastPage bool) bool {
1595//            pageNum++
1596//            fmt.Println(page)
1597//            return pageNum <= 3
1598//        })
1599//
1600func (c *DevOpsGuru) ListNotificationChannelsPages(input *ListNotificationChannelsInput, fn func(*ListNotificationChannelsOutput, bool) bool) error {
1601	return c.ListNotificationChannelsPagesWithContext(aws.BackgroundContext(), input, fn)
1602}
1603
1604// ListNotificationChannelsPagesWithContext same as ListNotificationChannelsPages except
1605// it takes a Context and allows setting request options on the pages.
1606//
1607// The context must be non-nil and will be used for request cancellation. If
1608// the context is nil a panic will occur. In the future the SDK may create
1609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1610// for more information on using Contexts.
1611func (c *DevOpsGuru) ListNotificationChannelsPagesWithContext(ctx aws.Context, input *ListNotificationChannelsInput, fn func(*ListNotificationChannelsOutput, bool) bool, opts ...request.Option) error {
1612	p := request.Pagination{
1613		NewRequest: func() (*request.Request, error) {
1614			var inCpy *ListNotificationChannelsInput
1615			if input != nil {
1616				tmp := *input
1617				inCpy = &tmp
1618			}
1619			req, _ := c.ListNotificationChannelsRequest(inCpy)
1620			req.SetContext(ctx)
1621			req.ApplyOptions(opts...)
1622			return req, nil
1623		},
1624	}
1625
1626	for p.Next() {
1627		if !fn(p.Page().(*ListNotificationChannelsOutput), !p.HasNextPage()) {
1628			break
1629		}
1630	}
1631
1632	return p.Err()
1633}
1634
1635const opListRecommendations = "ListRecommendations"
1636
1637// ListRecommendationsRequest generates a "aws/request.Request" representing the
1638// client's request for the ListRecommendations operation. The "output" return
1639// value will be populated with the request's response once the request completes
1640// successfully.
1641//
1642// Use "Send" method on the returned Request to send the API call to the service.
1643// the "output" return value is not valid until after Send returns without error.
1644//
1645// See ListRecommendations for more information on using the ListRecommendations
1646// API call, and error handling.
1647//
1648// This method is useful when you want to inject custom logic or configuration
1649// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1650//
1651//
1652//    // Example sending a request using the ListRecommendationsRequest method.
1653//    req, resp := client.ListRecommendationsRequest(params)
1654//
1655//    err := req.Send()
1656//    if err == nil { // resp is now filled
1657//        fmt.Println(resp)
1658//    }
1659//
1660// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListRecommendations
1661func (c *DevOpsGuru) ListRecommendationsRequest(input *ListRecommendationsInput) (req *request.Request, output *ListRecommendationsOutput) {
1662	op := &request.Operation{
1663		Name:       opListRecommendations,
1664		HTTPMethod: "POST",
1665		HTTPPath:   "/recommendations",
1666		Paginator: &request.Paginator{
1667			InputTokens:     []string{"NextToken"},
1668			OutputTokens:    []string{"NextToken"},
1669			LimitToken:      "",
1670			TruncationToken: "",
1671		},
1672	}
1673
1674	if input == nil {
1675		input = &ListRecommendationsInput{}
1676	}
1677
1678	output = &ListRecommendationsOutput{}
1679	req = c.newRequest(op, input, output)
1680	return
1681}
1682
1683// ListRecommendations API operation for Amazon DevOps Guru.
1684//
1685// Returns a list of a specified insight's recommendations. Each recommendation
1686// includes a list of related metrics and a list of related events.
1687//
1688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1689// with awserr.Error's Code and Message methods to get detailed information about
1690// the error.
1691//
1692// See the AWS API reference guide for Amazon DevOps Guru's
1693// API operation ListRecommendations for usage and error information.
1694//
1695// Returned Error Types:
1696//   * AccessDeniedException
1697//   You don't have permissions to perform the requested operation. The user or
1698//   role that is making the request must have at least one IAM permissions policy
1699//   attached that grants the required permissions. For more information, see
1700//   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
1701//   in the IAM User Guide.
1702//
1703//   * InternalServerException
1704//   An internal failure in an Amazon service occurred.
1705//
1706//   * ResourceNotFoundException
1707//   A requested resource could not be found
1708//
1709//   * ThrottlingException
1710//   The request was denied due to a request throttling.
1711//
1712//   * ValidationException
1713//   Contains information about data passed in to a field during a request that
1714//   is not valid.
1715//
1716// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListRecommendations
1717func (c *DevOpsGuru) ListRecommendations(input *ListRecommendationsInput) (*ListRecommendationsOutput, error) {
1718	req, out := c.ListRecommendationsRequest(input)
1719	return out, req.Send()
1720}
1721
1722// ListRecommendationsWithContext is the same as ListRecommendations with the addition of
1723// the ability to pass a context and additional request options.
1724//
1725// See ListRecommendations for details on how to use this API operation.
1726//
1727// The context must be non-nil and will be used for request cancellation. If
1728// the context is nil a panic will occur. In the future the SDK may create
1729// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1730// for more information on using Contexts.
1731func (c *DevOpsGuru) ListRecommendationsWithContext(ctx aws.Context, input *ListRecommendationsInput, opts ...request.Option) (*ListRecommendationsOutput, error) {
1732	req, out := c.ListRecommendationsRequest(input)
1733	req.SetContext(ctx)
1734	req.ApplyOptions(opts...)
1735	return out, req.Send()
1736}
1737
1738// ListRecommendationsPages iterates over the pages of a ListRecommendations operation,
1739// calling the "fn" function with the response data for each page. To stop
1740// iterating, return false from the fn function.
1741//
1742// See ListRecommendations method for more information on how to use this operation.
1743//
1744// Note: This operation can generate multiple requests to a service.
1745//
1746//    // Example iterating over at most 3 pages of a ListRecommendations operation.
1747//    pageNum := 0
1748//    err := client.ListRecommendationsPages(params,
1749//        func(page *devopsguru.ListRecommendationsOutput, lastPage bool) bool {
1750//            pageNum++
1751//            fmt.Println(page)
1752//            return pageNum <= 3
1753//        })
1754//
1755func (c *DevOpsGuru) ListRecommendationsPages(input *ListRecommendationsInput, fn func(*ListRecommendationsOutput, bool) bool) error {
1756	return c.ListRecommendationsPagesWithContext(aws.BackgroundContext(), input, fn)
1757}
1758
1759// ListRecommendationsPagesWithContext same as ListRecommendationsPages except
1760// it takes a Context and allows setting request options on the pages.
1761//
1762// The context must be non-nil and will be used for request cancellation. If
1763// the context is nil a panic will occur. In the future the SDK may create
1764// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1765// for more information on using Contexts.
1766func (c *DevOpsGuru) ListRecommendationsPagesWithContext(ctx aws.Context, input *ListRecommendationsInput, fn func(*ListRecommendationsOutput, bool) bool, opts ...request.Option) error {
1767	p := request.Pagination{
1768		NewRequest: func() (*request.Request, error) {
1769			var inCpy *ListRecommendationsInput
1770			if input != nil {
1771				tmp := *input
1772				inCpy = &tmp
1773			}
1774			req, _ := c.ListRecommendationsRequest(inCpy)
1775			req.SetContext(ctx)
1776			req.ApplyOptions(opts...)
1777			return req, nil
1778		},
1779	}
1780
1781	for p.Next() {
1782		if !fn(p.Page().(*ListRecommendationsOutput), !p.HasNextPage()) {
1783			break
1784		}
1785	}
1786
1787	return p.Err()
1788}
1789
1790const opPutFeedback = "PutFeedback"
1791
1792// PutFeedbackRequest generates a "aws/request.Request" representing the
1793// client's request for the PutFeedback operation. The "output" return
1794// value will be populated with the request's response once the request completes
1795// successfully.
1796//
1797// Use "Send" method on the returned Request to send the API call to the service.
1798// the "output" return value is not valid until after Send returns without error.
1799//
1800// See PutFeedback for more information on using the PutFeedback
1801// API call, and error handling.
1802//
1803// This method is useful when you want to inject custom logic or configuration
1804// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1805//
1806//
1807//    // Example sending a request using the PutFeedbackRequest method.
1808//    req, resp := client.PutFeedbackRequest(params)
1809//
1810//    err := req.Send()
1811//    if err == nil { // resp is now filled
1812//        fmt.Println(resp)
1813//    }
1814//
1815// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/PutFeedback
1816func (c *DevOpsGuru) PutFeedbackRequest(input *PutFeedbackInput) (req *request.Request, output *PutFeedbackOutput) {
1817	op := &request.Operation{
1818		Name:       opPutFeedback,
1819		HTTPMethod: "PUT",
1820		HTTPPath:   "/feedback",
1821	}
1822
1823	if input == nil {
1824		input = &PutFeedbackInput{}
1825	}
1826
1827	output = &PutFeedbackOutput{}
1828	req = c.newRequest(op, input, output)
1829	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1830	return
1831}
1832
1833// PutFeedback API operation for Amazon DevOps Guru.
1834//
1835// Collects customer feedback about the specified insight.
1836//
1837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1838// with awserr.Error's Code and Message methods to get detailed information about
1839// the error.
1840//
1841// See the AWS API reference guide for Amazon DevOps Guru's
1842// API operation PutFeedback for usage and error information.
1843//
1844// Returned Error Types:
1845//   * AccessDeniedException
1846//   You don't have permissions to perform the requested operation. The user or
1847//   role that is making the request must have at least one IAM permissions policy
1848//   attached that grants the required permissions. For more information, see
1849//   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
1850//   in the IAM User Guide.
1851//
1852//   * ConflictException
1853//   An exception that is thrown when a conflict occurs.
1854//
1855//   * InternalServerException
1856//   An internal failure in an Amazon service occurred.
1857//
1858//   * ResourceNotFoundException
1859//   A requested resource could not be found
1860//
1861//   * ThrottlingException
1862//   The request was denied due to a request throttling.
1863//
1864//   * ValidationException
1865//   Contains information about data passed in to a field during a request that
1866//   is not valid.
1867//
1868// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/PutFeedback
1869func (c *DevOpsGuru) PutFeedback(input *PutFeedbackInput) (*PutFeedbackOutput, error) {
1870	req, out := c.PutFeedbackRequest(input)
1871	return out, req.Send()
1872}
1873
1874// PutFeedbackWithContext is the same as PutFeedback with the addition of
1875// the ability to pass a context and additional request options.
1876//
1877// See PutFeedback for details on how to use this API operation.
1878//
1879// The context must be non-nil and will be used for request cancellation. If
1880// the context is nil a panic will occur. In the future the SDK may create
1881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1882// for more information on using Contexts.
1883func (c *DevOpsGuru) PutFeedbackWithContext(ctx aws.Context, input *PutFeedbackInput, opts ...request.Option) (*PutFeedbackOutput, error) {
1884	req, out := c.PutFeedbackRequest(input)
1885	req.SetContext(ctx)
1886	req.ApplyOptions(opts...)
1887	return out, req.Send()
1888}
1889
1890const opRemoveNotificationChannel = "RemoveNotificationChannel"
1891
1892// RemoveNotificationChannelRequest generates a "aws/request.Request" representing the
1893// client's request for the RemoveNotificationChannel operation. The "output" return
1894// value will be populated with the request's response once the request completes
1895// successfully.
1896//
1897// Use "Send" method on the returned Request to send the API call to the service.
1898// the "output" return value is not valid until after Send returns without error.
1899//
1900// See RemoveNotificationChannel for more information on using the RemoveNotificationChannel
1901// API call, and error handling.
1902//
1903// This method is useful when you want to inject custom logic or configuration
1904// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1905//
1906//
1907//    // Example sending a request using the RemoveNotificationChannelRequest method.
1908//    req, resp := client.RemoveNotificationChannelRequest(params)
1909//
1910//    err := req.Send()
1911//    if err == nil { // resp is now filled
1912//        fmt.Println(resp)
1913//    }
1914//
1915// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/RemoveNotificationChannel
1916func (c *DevOpsGuru) RemoveNotificationChannelRequest(input *RemoveNotificationChannelInput) (req *request.Request, output *RemoveNotificationChannelOutput) {
1917	op := &request.Operation{
1918		Name:       opRemoveNotificationChannel,
1919		HTTPMethod: "DELETE",
1920		HTTPPath:   "/channels/{Id}",
1921	}
1922
1923	if input == nil {
1924		input = &RemoveNotificationChannelInput{}
1925	}
1926
1927	output = &RemoveNotificationChannelOutput{}
1928	req = c.newRequest(op, input, output)
1929	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1930	return
1931}
1932
1933// RemoveNotificationChannel API operation for Amazon DevOps Guru.
1934//
1935// Removes a notification channel from DevOps Guru. A notification channel is
1936// used to notify you when DevOps Guru generates an insight that contains information
1937// about how to improve your operations.
1938//
1939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1940// with awserr.Error's Code and Message methods to get detailed information about
1941// the error.
1942//
1943// See the AWS API reference guide for Amazon DevOps Guru's
1944// API operation RemoveNotificationChannel for usage and error information.
1945//
1946// Returned Error Types:
1947//   * AccessDeniedException
1948//   You don't have permissions to perform the requested operation. The user or
1949//   role that is making the request must have at least one IAM permissions policy
1950//   attached that grants the required permissions. For more information, see
1951//   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
1952//   in the IAM User Guide.
1953//
1954//   * ConflictException
1955//   An exception that is thrown when a conflict occurs.
1956//
1957//   * InternalServerException
1958//   An internal failure in an Amazon service occurred.
1959//
1960//   * ResourceNotFoundException
1961//   A requested resource could not be found
1962//
1963//   * ThrottlingException
1964//   The request was denied due to a request throttling.
1965//
1966//   * ValidationException
1967//   Contains information about data passed in to a field during a request that
1968//   is not valid.
1969//
1970// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/RemoveNotificationChannel
1971func (c *DevOpsGuru) RemoveNotificationChannel(input *RemoveNotificationChannelInput) (*RemoveNotificationChannelOutput, error) {
1972	req, out := c.RemoveNotificationChannelRequest(input)
1973	return out, req.Send()
1974}
1975
1976// RemoveNotificationChannelWithContext is the same as RemoveNotificationChannel with the addition of
1977// the ability to pass a context and additional request options.
1978//
1979// See RemoveNotificationChannel for details on how to use this API operation.
1980//
1981// The context must be non-nil and will be used for request cancellation. If
1982// the context is nil a panic will occur. In the future the SDK may create
1983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1984// for more information on using Contexts.
1985func (c *DevOpsGuru) RemoveNotificationChannelWithContext(ctx aws.Context, input *RemoveNotificationChannelInput, opts ...request.Option) (*RemoveNotificationChannelOutput, error) {
1986	req, out := c.RemoveNotificationChannelRequest(input)
1987	req.SetContext(ctx)
1988	req.ApplyOptions(opts...)
1989	return out, req.Send()
1990}
1991
1992const opSearchInsights = "SearchInsights"
1993
1994// SearchInsightsRequest generates a "aws/request.Request" representing the
1995// client's request for the SearchInsights operation. The "output" return
1996// value will be populated with the request's response once the request completes
1997// successfully.
1998//
1999// Use "Send" method on the returned Request to send the API call to the service.
2000// the "output" return value is not valid until after Send returns without error.
2001//
2002// See SearchInsights for more information on using the SearchInsights
2003// API call, and error handling.
2004//
2005// This method is useful when you want to inject custom logic or configuration
2006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2007//
2008//
2009//    // Example sending a request using the SearchInsightsRequest method.
2010//    req, resp := client.SearchInsightsRequest(params)
2011//
2012//    err := req.Send()
2013//    if err == nil { // resp is now filled
2014//        fmt.Println(resp)
2015//    }
2016//
2017// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/SearchInsights
2018func (c *DevOpsGuru) SearchInsightsRequest(input *SearchInsightsInput) (req *request.Request, output *SearchInsightsOutput) {
2019	op := &request.Operation{
2020		Name:       opSearchInsights,
2021		HTTPMethod: "POST",
2022		HTTPPath:   "/insights/search",
2023		Paginator: &request.Paginator{
2024			InputTokens:     []string{"NextToken"},
2025			OutputTokens:    []string{"NextToken"},
2026			LimitToken:      "MaxResults",
2027			TruncationToken: "",
2028		},
2029	}
2030
2031	if input == nil {
2032		input = &SearchInsightsInput{}
2033	}
2034
2035	output = &SearchInsightsOutput{}
2036	req = c.newRequest(op, input, output)
2037	return
2038}
2039
2040// SearchInsights API operation for Amazon DevOps Guru.
2041//
2042// Returns a list of insights in your AWS account. You can specify which insights
2043// are returned by their start time, one or more statuses (ONGOING, CLOSED,
2044// and CLOSED), one or more severities (LOW, MEDIUM, and HIGH), and type (REACTIVE
2045// or PROACTIVE).
2046//
2047// Use the Filters parameter to specify status and severity search parameters.
2048// Use the Type parameter to specify REACTIVE or PROACTIVE in your search.
2049//
2050// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2051// with awserr.Error's Code and Message methods to get detailed information about
2052// the error.
2053//
2054// See the AWS API reference guide for Amazon DevOps Guru's
2055// API operation SearchInsights for usage and error information.
2056//
2057// Returned Error Types:
2058//   * AccessDeniedException
2059//   You don't have permissions to perform the requested operation. The user or
2060//   role that is making the request must have at least one IAM permissions policy
2061//   attached that grants the required permissions. For more information, see
2062//   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
2063//   in the IAM User Guide.
2064//
2065//   * InternalServerException
2066//   An internal failure in an Amazon service occurred.
2067//
2068//   * ThrottlingException
2069//   The request was denied due to a request throttling.
2070//
2071//   * ValidationException
2072//   Contains information about data passed in to a field during a request that
2073//   is not valid.
2074//
2075// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/SearchInsights
2076func (c *DevOpsGuru) SearchInsights(input *SearchInsightsInput) (*SearchInsightsOutput, error) {
2077	req, out := c.SearchInsightsRequest(input)
2078	return out, req.Send()
2079}
2080
2081// SearchInsightsWithContext is the same as SearchInsights with the addition of
2082// the ability to pass a context and additional request options.
2083//
2084// See SearchInsights for details on how to use this API operation.
2085//
2086// The context must be non-nil and will be used for request cancellation. If
2087// the context is nil a panic will occur. In the future the SDK may create
2088// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2089// for more information on using Contexts.
2090func (c *DevOpsGuru) SearchInsightsWithContext(ctx aws.Context, input *SearchInsightsInput, opts ...request.Option) (*SearchInsightsOutput, error) {
2091	req, out := c.SearchInsightsRequest(input)
2092	req.SetContext(ctx)
2093	req.ApplyOptions(opts...)
2094	return out, req.Send()
2095}
2096
2097// SearchInsightsPages iterates over the pages of a SearchInsights operation,
2098// calling the "fn" function with the response data for each page. To stop
2099// iterating, return false from the fn function.
2100//
2101// See SearchInsights method for more information on how to use this operation.
2102//
2103// Note: This operation can generate multiple requests to a service.
2104//
2105//    // Example iterating over at most 3 pages of a SearchInsights operation.
2106//    pageNum := 0
2107//    err := client.SearchInsightsPages(params,
2108//        func(page *devopsguru.SearchInsightsOutput, lastPage bool) bool {
2109//            pageNum++
2110//            fmt.Println(page)
2111//            return pageNum <= 3
2112//        })
2113//
2114func (c *DevOpsGuru) SearchInsightsPages(input *SearchInsightsInput, fn func(*SearchInsightsOutput, bool) bool) error {
2115	return c.SearchInsightsPagesWithContext(aws.BackgroundContext(), input, fn)
2116}
2117
2118// SearchInsightsPagesWithContext same as SearchInsightsPages except
2119// it takes a Context and allows setting request options on the pages.
2120//
2121// The context must be non-nil and will be used for request cancellation. If
2122// the context is nil a panic will occur. In the future the SDK may create
2123// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2124// for more information on using Contexts.
2125func (c *DevOpsGuru) SearchInsightsPagesWithContext(ctx aws.Context, input *SearchInsightsInput, fn func(*SearchInsightsOutput, bool) bool, opts ...request.Option) error {
2126	p := request.Pagination{
2127		NewRequest: func() (*request.Request, error) {
2128			var inCpy *SearchInsightsInput
2129			if input != nil {
2130				tmp := *input
2131				inCpy = &tmp
2132			}
2133			req, _ := c.SearchInsightsRequest(inCpy)
2134			req.SetContext(ctx)
2135			req.ApplyOptions(opts...)
2136			return req, nil
2137		},
2138	}
2139
2140	for p.Next() {
2141		if !fn(p.Page().(*SearchInsightsOutput), !p.HasNextPage()) {
2142			break
2143		}
2144	}
2145
2146	return p.Err()
2147}
2148
2149const opUpdateResourceCollection = "UpdateResourceCollection"
2150
2151// UpdateResourceCollectionRequest generates a "aws/request.Request" representing the
2152// client's request for the UpdateResourceCollection 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 UpdateResourceCollection for more information on using the UpdateResourceCollection
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 UpdateResourceCollectionRequest method.
2167//    req, resp := client.UpdateResourceCollectionRequest(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/UpdateResourceCollection
2175func (c *DevOpsGuru) UpdateResourceCollectionRequest(input *UpdateResourceCollectionInput) (req *request.Request, output *UpdateResourceCollectionOutput) {
2176	op := &request.Operation{
2177		Name:       opUpdateResourceCollection,
2178		HTTPMethod: "PUT",
2179		HTTPPath:   "/resource-collections",
2180	}
2181
2182	if input == nil {
2183		input = &UpdateResourceCollectionInput{}
2184	}
2185
2186	output = &UpdateResourceCollectionOutput{}
2187	req = c.newRequest(op, input, output)
2188	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2189	return
2190}
2191
2192// UpdateResourceCollection API operation for Amazon DevOps Guru.
2193//
2194// Updates the collection of resources that DevOps Guru analyzes. The one type
2195// of AWS resource collection supported is AWS CloudFormation stacks. DevOps
2196// Guru can be configured to analyze only the AWS resources that are defined
2197// in the stacks. This method also creates the IAM role required for you to
2198// use DevOps Guru.
2199//
2200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2201// with awserr.Error's Code and Message methods to get detailed information about
2202// the error.
2203//
2204// See the AWS API reference guide for Amazon DevOps Guru's
2205// API operation UpdateResourceCollection for usage and error information.
2206//
2207// Returned Error Types:
2208//   * AccessDeniedException
2209//   You don't have permissions to perform the requested operation. The user or
2210//   role that is making the request must have at least one IAM permissions policy
2211//   attached that grants the required permissions. For more information, see
2212//   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
2213//   in the IAM User Guide.
2214//
2215//   * ConflictException
2216//   An exception that is thrown when a conflict occurs.
2217//
2218//   * InternalServerException
2219//   An internal failure in an Amazon service occurred.
2220//
2221//   * ThrottlingException
2222//   The request was denied due to a request throttling.
2223//
2224//   * ValidationException
2225//   Contains information about data passed in to a field during a request that
2226//   is not valid.
2227//
2228// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/UpdateResourceCollection
2229func (c *DevOpsGuru) UpdateResourceCollection(input *UpdateResourceCollectionInput) (*UpdateResourceCollectionOutput, error) {
2230	req, out := c.UpdateResourceCollectionRequest(input)
2231	return out, req.Send()
2232}
2233
2234// UpdateResourceCollectionWithContext is the same as UpdateResourceCollection with the addition of
2235// the ability to pass a context and additional request options.
2236//
2237// See UpdateResourceCollection for details on how to use this API operation.
2238//
2239// The context must be non-nil and will be used for request cancellation. If
2240// the context is nil a panic will occur. In the future the SDK may create
2241// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2242// for more information on using Contexts.
2243func (c *DevOpsGuru) UpdateResourceCollectionWithContext(ctx aws.Context, input *UpdateResourceCollectionInput, opts ...request.Option) (*UpdateResourceCollectionOutput, error) {
2244	req, out := c.UpdateResourceCollectionRequest(input)
2245	req.SetContext(ctx)
2246	req.ApplyOptions(opts...)
2247	return out, req.Send()
2248}
2249
2250const opUpdateServiceIntegration = "UpdateServiceIntegration"
2251
2252// UpdateServiceIntegrationRequest generates a "aws/request.Request" representing the
2253// client's request for the UpdateServiceIntegration operation. The "output" return
2254// value will be populated with the request's response once the request completes
2255// successfully.
2256//
2257// Use "Send" method on the returned Request to send the API call to the service.
2258// the "output" return value is not valid until after Send returns without error.
2259//
2260// See UpdateServiceIntegration for more information on using the UpdateServiceIntegration
2261// API call, and error handling.
2262//
2263// This method is useful when you want to inject custom logic or configuration
2264// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2265//
2266//
2267//    // Example sending a request using the UpdateServiceIntegrationRequest method.
2268//    req, resp := client.UpdateServiceIntegrationRequest(params)
2269//
2270//    err := req.Send()
2271//    if err == nil { // resp is now filled
2272//        fmt.Println(resp)
2273//    }
2274//
2275// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/UpdateServiceIntegration
2276func (c *DevOpsGuru) UpdateServiceIntegrationRequest(input *UpdateServiceIntegrationInput) (req *request.Request, output *UpdateServiceIntegrationOutput) {
2277	op := &request.Operation{
2278		Name:       opUpdateServiceIntegration,
2279		HTTPMethod: "PUT",
2280		HTTPPath:   "/service-integrations",
2281	}
2282
2283	if input == nil {
2284		input = &UpdateServiceIntegrationInput{}
2285	}
2286
2287	output = &UpdateServiceIntegrationOutput{}
2288	req = c.newRequest(op, input, output)
2289	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2290	return
2291}
2292
2293// UpdateServiceIntegration API operation for Amazon DevOps Guru.
2294//
2295// Enables or disables integration with a service that can be integrated with
2296// DevOps Guru. The one service that can be integrated with DevOps Guru is AWS
2297// Systems Manager, which can be used to create an OpsItem for each generated
2298// insight.
2299//
2300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2301// with awserr.Error's Code and Message methods to get detailed information about
2302// the error.
2303//
2304// See the AWS API reference guide for Amazon DevOps Guru's
2305// API operation UpdateServiceIntegration for usage and error information.
2306//
2307// Returned Error Types:
2308//   * AccessDeniedException
2309//   You don't have permissions to perform the requested operation. The user or
2310//   role that is making the request must have at least one IAM permissions policy
2311//   attached that grants the required permissions. For more information, see
2312//   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
2313//   in the IAM User Guide.
2314//
2315//   * ConflictException
2316//   An exception that is thrown when a conflict occurs.
2317//
2318//   * InternalServerException
2319//   An internal failure in an Amazon service occurred.
2320//
2321//   * ThrottlingException
2322//   The request was denied due to a request throttling.
2323//
2324//   * ValidationException
2325//   Contains information about data passed in to a field during a request that
2326//   is not valid.
2327//
2328// See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/UpdateServiceIntegration
2329func (c *DevOpsGuru) UpdateServiceIntegration(input *UpdateServiceIntegrationInput) (*UpdateServiceIntegrationOutput, error) {
2330	req, out := c.UpdateServiceIntegrationRequest(input)
2331	return out, req.Send()
2332}
2333
2334// UpdateServiceIntegrationWithContext is the same as UpdateServiceIntegration with the addition of
2335// the ability to pass a context and additional request options.
2336//
2337// See UpdateServiceIntegration for details on how to use this API operation.
2338//
2339// The context must be non-nil and will be used for request cancellation. If
2340// the context is nil a panic will occur. In the future the SDK may create
2341// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2342// for more information on using Contexts.
2343func (c *DevOpsGuru) UpdateServiceIntegrationWithContext(ctx aws.Context, input *UpdateServiceIntegrationInput, opts ...request.Option) (*UpdateServiceIntegrationOutput, error) {
2344	req, out := c.UpdateServiceIntegrationRequest(input)
2345	req.SetContext(ctx)
2346	req.ApplyOptions(opts...)
2347	return out, req.Send()
2348}
2349
2350// You don't have permissions to perform the requested operation. The user or
2351// role that is making the request must have at least one IAM permissions policy
2352// attached that grants the required permissions. For more information, see
2353// Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
2354// in the IAM User Guide.
2355type AccessDeniedException struct {
2356	_            struct{}                  `type:"structure"`
2357	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2358
2359	Message_ *string `locationName:"Message" type:"string"`
2360}
2361
2362// String returns the string representation
2363func (s AccessDeniedException) String() string {
2364	return awsutil.Prettify(s)
2365}
2366
2367// GoString returns the string representation
2368func (s AccessDeniedException) GoString() string {
2369	return s.String()
2370}
2371
2372func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
2373	return &AccessDeniedException{
2374		RespMetadata: v,
2375	}
2376}
2377
2378// Code returns the exception type name.
2379func (s *AccessDeniedException) Code() string {
2380	return "AccessDeniedException"
2381}
2382
2383// Message returns the exception's message.
2384func (s *AccessDeniedException) Message() string {
2385	if s.Message_ != nil {
2386		return *s.Message_
2387	}
2388	return ""
2389}
2390
2391// OrigErr always returns nil, satisfies awserr.Error interface.
2392func (s *AccessDeniedException) OrigErr() error {
2393	return nil
2394}
2395
2396func (s *AccessDeniedException) Error() string {
2397	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2398}
2399
2400// Status code returns the HTTP status code for the request's response error.
2401func (s *AccessDeniedException) StatusCode() int {
2402	return s.RespMetadata.StatusCode
2403}
2404
2405// RequestID returns the service's response RequestID for request.
2406func (s *AccessDeniedException) RequestID() string {
2407	return s.RespMetadata.RequestID
2408}
2409
2410type AddNotificationChannelInput struct {
2411	_ struct{} `type:"structure"`
2412
2413	// A NotificationChannelConfig object that specifies what type of notification
2414	// channel to add. The one supported notification channel is Amazon Simple Notification
2415	// Service (Amazon SNS).
2416	//
2417	// Config is a required field
2418	Config *NotificationChannelConfig `type:"structure" required:"true"`
2419}
2420
2421// String returns the string representation
2422func (s AddNotificationChannelInput) String() string {
2423	return awsutil.Prettify(s)
2424}
2425
2426// GoString returns the string representation
2427func (s AddNotificationChannelInput) GoString() string {
2428	return s.String()
2429}
2430
2431// Validate inspects the fields of the type to determine if they are valid.
2432func (s *AddNotificationChannelInput) Validate() error {
2433	invalidParams := request.ErrInvalidParams{Context: "AddNotificationChannelInput"}
2434	if s.Config == nil {
2435		invalidParams.Add(request.NewErrParamRequired("Config"))
2436	}
2437	if s.Config != nil {
2438		if err := s.Config.Validate(); err != nil {
2439			invalidParams.AddNested("Config", err.(request.ErrInvalidParams))
2440		}
2441	}
2442
2443	if invalidParams.Len() > 0 {
2444		return invalidParams
2445	}
2446	return nil
2447}
2448
2449// SetConfig sets the Config field's value.
2450func (s *AddNotificationChannelInput) SetConfig(v *NotificationChannelConfig) *AddNotificationChannelInput {
2451	s.Config = v
2452	return s
2453}
2454
2455type AddNotificationChannelOutput struct {
2456	_ struct{} `type:"structure"`
2457
2458	// The ID of the added notification channel.
2459	//
2460	// Id is a required field
2461	Id *string `min:"36" type:"string" required:"true"`
2462}
2463
2464// String returns the string representation
2465func (s AddNotificationChannelOutput) String() string {
2466	return awsutil.Prettify(s)
2467}
2468
2469// GoString returns the string representation
2470func (s AddNotificationChannelOutput) GoString() string {
2471	return s.String()
2472}
2473
2474// SetId sets the Id field's value.
2475func (s *AddNotificationChannelOutput) SetId(v string) *AddNotificationChannelOutput {
2476	s.Id = &v
2477	return s
2478}
2479
2480// Details about the source of the anomalous operational data that triggered
2481// the anomaly. The one supported source is Amazon CloudWatch metrics.
2482type AnomalySourceDetails struct {
2483	_ struct{} `type:"structure"`
2484
2485	// An array of CloudWatchMetricsDetail object that contains information about
2486	// the analyzed metrics that displayed anomalous behavior.
2487	CloudWatchMetrics []*CloudWatchMetricsDetail `type:"list"`
2488}
2489
2490// String returns the string representation
2491func (s AnomalySourceDetails) String() string {
2492	return awsutil.Prettify(s)
2493}
2494
2495// GoString returns the string representation
2496func (s AnomalySourceDetails) GoString() string {
2497	return s.String()
2498}
2499
2500// SetCloudWatchMetrics sets the CloudWatchMetrics field's value.
2501func (s *AnomalySourceDetails) SetCloudWatchMetrics(v []*CloudWatchMetricsDetail) *AnomalySourceDetails {
2502	s.CloudWatchMetrics = v
2503	return s
2504}
2505
2506// A time range that specifies when the observed unusual behavior in an anomaly
2507// started and ended.
2508type AnomalyTimeRange struct {
2509	_ struct{} `type:"structure"`
2510
2511	// The time when the anomalous behavior ended.
2512	EndTime *time.Time `type:"timestamp"`
2513
2514	// The time when the anomalous behavior started.
2515	//
2516	// StartTime is a required field
2517	StartTime *time.Time `type:"timestamp" required:"true"`
2518}
2519
2520// String returns the string representation
2521func (s AnomalyTimeRange) String() string {
2522	return awsutil.Prettify(s)
2523}
2524
2525// GoString returns the string representation
2526func (s AnomalyTimeRange) GoString() string {
2527	return s.String()
2528}
2529
2530// SetEndTime sets the EndTime field's value.
2531func (s *AnomalyTimeRange) SetEndTime(v time.Time) *AnomalyTimeRange {
2532	s.EndTime = &v
2533	return s
2534}
2535
2536// SetStartTime sets the StartTime field's value.
2537func (s *AnomalyTimeRange) SetStartTime(v time.Time) *AnomalyTimeRange {
2538	s.StartTime = &v
2539	return s
2540}
2541
2542// Information about AWS CloudFormation stacks. You can use stacks to specify
2543// which AWS resources in your account to analyze. For more information, see
2544// Stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)
2545// in the AWS CloudFormation User Guide.
2546type CloudFormationCollection struct {
2547	_ struct{} `type:"structure"`
2548
2549	// An array of CloudFormation stack names.
2550	StackNames []*string `type:"list"`
2551}
2552
2553// String returns the string representation
2554func (s CloudFormationCollection) String() string {
2555	return awsutil.Prettify(s)
2556}
2557
2558// GoString returns the string representation
2559func (s CloudFormationCollection) GoString() string {
2560	return s.String()
2561}
2562
2563// SetStackNames sets the StackNames field's value.
2564func (s *CloudFormationCollection) SetStackNames(v []*string) *CloudFormationCollection {
2565	s.StackNames = v
2566	return s
2567}
2568
2569// Information about AWS CloudFormation stacks. You can use stacks to specify
2570// which AWS resources in your account to analyze. For more information, see
2571// Stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)
2572// in the AWS CloudFormation User Guide.
2573type CloudFormationCollectionFilter struct {
2574	_ struct{} `type:"structure"`
2575
2576	// An array of CloudFormation stack names.
2577	StackNames []*string `type:"list"`
2578}
2579
2580// String returns the string representation
2581func (s CloudFormationCollectionFilter) String() string {
2582	return awsutil.Prettify(s)
2583}
2584
2585// GoString returns the string representation
2586func (s CloudFormationCollectionFilter) GoString() string {
2587	return s.String()
2588}
2589
2590// SetStackNames sets the StackNames field's value.
2591func (s *CloudFormationCollectionFilter) SetStackNames(v []*string) *CloudFormationCollectionFilter {
2592	s.StackNames = v
2593	return s
2594}
2595
2596// Information about the health of AWS resources in your account that are specified
2597// by an AWS CloudFormation stack.
2598type CloudFormationHealth struct {
2599	_ struct{} `type:"structure"`
2600
2601	// Information about the health of the AWS resources in your account that are
2602	// specified by an AWS CloudFormation stack, including the number of open proactive,
2603	// open reactive insights, and the Mean Time to Recover (MTTR) of closed insights.
2604	Insight *InsightHealth `type:"structure"`
2605
2606	// The name of the CloudFormation stack.
2607	StackName *string `min:"1" type:"string"`
2608}
2609
2610// String returns the string representation
2611func (s CloudFormationHealth) String() string {
2612	return awsutil.Prettify(s)
2613}
2614
2615// GoString returns the string representation
2616func (s CloudFormationHealth) GoString() string {
2617	return s.String()
2618}
2619
2620// SetInsight sets the Insight field's value.
2621func (s *CloudFormationHealth) SetInsight(v *InsightHealth) *CloudFormationHealth {
2622	s.Insight = v
2623	return s
2624}
2625
2626// SetStackName sets the StackName field's value.
2627func (s *CloudFormationHealth) SetStackName(v string) *CloudFormationHealth {
2628	s.StackName = &v
2629	return s
2630}
2631
2632// Information about an Amazon CloudWatch metric.
2633type CloudWatchMetricsDetail struct {
2634	_ struct{} `type:"structure"`
2635
2636	// An array of CloudWatch dimensions associated with
2637	Dimensions []*CloudWatchMetricsDimension `type:"list"`
2638
2639	// The name of the CloudWatch metric.
2640	MetricName *string `type:"string"`
2641
2642	// The namespace of the CloudWatch metric. A namespace is a container for CloudWatch
2643	// metrics.
2644	Namespace *string `type:"string"`
2645
2646	// The length of time associated with the CloudWatch metric in number of seconds.
2647	Period *int64 `type:"integer"`
2648
2649	// The type of statistic associated with the CloudWatch metric. For more information,
2650	// see Statistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic)
2651	// in the Amazon CloudWatch User Guide.
2652	Stat *string `type:"string" enum:"CloudWatchMetricsStat"`
2653
2654	// The unit of measure used for the CloudWatch metric. For example, Bytes, Seconds,
2655	// Count, and Percent.
2656	Unit *string `type:"string"`
2657}
2658
2659// String returns the string representation
2660func (s CloudWatchMetricsDetail) String() string {
2661	return awsutil.Prettify(s)
2662}
2663
2664// GoString returns the string representation
2665func (s CloudWatchMetricsDetail) GoString() string {
2666	return s.String()
2667}
2668
2669// SetDimensions sets the Dimensions field's value.
2670func (s *CloudWatchMetricsDetail) SetDimensions(v []*CloudWatchMetricsDimension) *CloudWatchMetricsDetail {
2671	s.Dimensions = v
2672	return s
2673}
2674
2675// SetMetricName sets the MetricName field's value.
2676func (s *CloudWatchMetricsDetail) SetMetricName(v string) *CloudWatchMetricsDetail {
2677	s.MetricName = &v
2678	return s
2679}
2680
2681// SetNamespace sets the Namespace field's value.
2682func (s *CloudWatchMetricsDetail) SetNamespace(v string) *CloudWatchMetricsDetail {
2683	s.Namespace = &v
2684	return s
2685}
2686
2687// SetPeriod sets the Period field's value.
2688func (s *CloudWatchMetricsDetail) SetPeriod(v int64) *CloudWatchMetricsDetail {
2689	s.Period = &v
2690	return s
2691}
2692
2693// SetStat sets the Stat field's value.
2694func (s *CloudWatchMetricsDetail) SetStat(v string) *CloudWatchMetricsDetail {
2695	s.Stat = &v
2696	return s
2697}
2698
2699// SetUnit sets the Unit field's value.
2700func (s *CloudWatchMetricsDetail) SetUnit(v string) *CloudWatchMetricsDetail {
2701	s.Unit = &v
2702	return s
2703}
2704
2705// The dimension of a Amazon CloudWatch metric that is used when DevOps Guru
2706// analyzes the resources in your account for operational problems and anomalous
2707// behavior. A dimension is a name/value pair that is part of the identity of
2708// a metric. A metric can have up to 10 dimensions. For more information, see
2709// Dimensions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension)
2710// in the Amazon CloudWatch User Guide.
2711type CloudWatchMetricsDimension struct {
2712	_ struct{} `type:"structure"`
2713
2714	// The name of the CloudWatch dimension.
2715	Name *string `type:"string"`
2716
2717	// The value of the CloudWatch dimension.
2718	Value *string `type:"string"`
2719}
2720
2721// String returns the string representation
2722func (s CloudWatchMetricsDimension) String() string {
2723	return awsutil.Prettify(s)
2724}
2725
2726// GoString returns the string representation
2727func (s CloudWatchMetricsDimension) GoString() string {
2728	return s.String()
2729}
2730
2731// SetName sets the Name field's value.
2732func (s *CloudWatchMetricsDimension) SetName(v string) *CloudWatchMetricsDimension {
2733	s.Name = &v
2734	return s
2735}
2736
2737// SetValue sets the Value field's value.
2738func (s *CloudWatchMetricsDimension) SetValue(v string) *CloudWatchMetricsDimension {
2739	s.Value = &v
2740	return s
2741}
2742
2743// An exception that is thrown when a conflict occurs.
2744type ConflictException struct {
2745	_            struct{}                  `type:"structure"`
2746	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2747
2748	Message_ *string `locationName:"Message" type:"string"`
2749
2750	// The ID of the AWS resource in which a conflict occurred.
2751	//
2752	// ResourceId is a required field
2753	ResourceId *string `type:"string" required:"true"`
2754
2755	// The type of the AWS resource in which a conflict occurred.
2756	//
2757	// ResourceType is a required field
2758	ResourceType *string `type:"string" required:"true"`
2759}
2760
2761// String returns the string representation
2762func (s ConflictException) String() string {
2763	return awsutil.Prettify(s)
2764}
2765
2766// GoString returns the string representation
2767func (s ConflictException) GoString() string {
2768	return s.String()
2769}
2770
2771func newErrorConflictException(v protocol.ResponseMetadata) error {
2772	return &ConflictException{
2773		RespMetadata: v,
2774	}
2775}
2776
2777// Code returns the exception type name.
2778func (s *ConflictException) Code() string {
2779	return "ConflictException"
2780}
2781
2782// Message returns the exception's message.
2783func (s *ConflictException) Message() string {
2784	if s.Message_ != nil {
2785		return *s.Message_
2786	}
2787	return ""
2788}
2789
2790// OrigErr always returns nil, satisfies awserr.Error interface.
2791func (s *ConflictException) OrigErr() error {
2792	return nil
2793}
2794
2795func (s *ConflictException) Error() string {
2796	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
2797}
2798
2799// Status code returns the HTTP status code for the request's response error.
2800func (s *ConflictException) StatusCode() int {
2801	return s.RespMetadata.StatusCode
2802}
2803
2804// RequestID returns the service's response RequestID for request.
2805func (s *ConflictException) RequestID() string {
2806	return s.RespMetadata.RequestID
2807}
2808
2809type DescribeAccountHealthInput struct {
2810	_ struct{} `type:"structure"`
2811}
2812
2813// String returns the string representation
2814func (s DescribeAccountHealthInput) String() string {
2815	return awsutil.Prettify(s)
2816}
2817
2818// GoString returns the string representation
2819func (s DescribeAccountHealthInput) GoString() string {
2820	return s.String()
2821}
2822
2823type DescribeAccountHealthOutput struct {
2824	_ struct{} `type:"structure"`
2825
2826	// An integer that specifies the number of metrics that have been analyzed in
2827	// your AWS account.
2828	//
2829	// MetricsAnalyzed is a required field
2830	MetricsAnalyzed *int64 `type:"integer" required:"true"`
2831
2832	// An integer that specifies the number of open proactive insights in your AWS
2833	// account.
2834	//
2835	// OpenProactiveInsights is a required field
2836	OpenProactiveInsights *int64 `type:"integer" required:"true"`
2837
2838	// An integer that specifies the number of open reactive insights in your AWS
2839	// account.
2840	//
2841	// OpenReactiveInsights is a required field
2842	OpenReactiveInsights *int64 `type:"integer" required:"true"`
2843
2844	// The number of Amazon DevOps Guru resource analysis hours billed to the current
2845	// AWS account in the last hour.
2846	//
2847	// ResourceHours is a required field
2848	ResourceHours *int64 `type:"long" required:"true"`
2849}
2850
2851// String returns the string representation
2852func (s DescribeAccountHealthOutput) String() string {
2853	return awsutil.Prettify(s)
2854}
2855
2856// GoString returns the string representation
2857func (s DescribeAccountHealthOutput) GoString() string {
2858	return s.String()
2859}
2860
2861// SetMetricsAnalyzed sets the MetricsAnalyzed field's value.
2862func (s *DescribeAccountHealthOutput) SetMetricsAnalyzed(v int64) *DescribeAccountHealthOutput {
2863	s.MetricsAnalyzed = &v
2864	return s
2865}
2866
2867// SetOpenProactiveInsights sets the OpenProactiveInsights field's value.
2868func (s *DescribeAccountHealthOutput) SetOpenProactiveInsights(v int64) *DescribeAccountHealthOutput {
2869	s.OpenProactiveInsights = &v
2870	return s
2871}
2872
2873// SetOpenReactiveInsights sets the OpenReactiveInsights field's value.
2874func (s *DescribeAccountHealthOutput) SetOpenReactiveInsights(v int64) *DescribeAccountHealthOutput {
2875	s.OpenReactiveInsights = &v
2876	return s
2877}
2878
2879// SetResourceHours sets the ResourceHours field's value.
2880func (s *DescribeAccountHealthOutput) SetResourceHours(v int64) *DescribeAccountHealthOutput {
2881	s.ResourceHours = &v
2882	return s
2883}
2884
2885type DescribeAccountOverviewInput struct {
2886	_ struct{} `type:"structure"`
2887
2888	// The start of the time range passed in. The start time granularity is at the
2889	// day level. The floor of the start time is used. Returned information occurred
2890	// after this day.
2891	//
2892	// FromTime is a required field
2893	FromTime *time.Time `type:"timestamp" required:"true"`
2894
2895	// The end of the time range passed in. The start time granularity is at the
2896	// day level. The floor of the start time is used. Returned information occurred
2897	// before this day. If this is not specified, then the current day is used.
2898	ToTime *time.Time `type:"timestamp"`
2899}
2900
2901// String returns the string representation
2902func (s DescribeAccountOverviewInput) String() string {
2903	return awsutil.Prettify(s)
2904}
2905
2906// GoString returns the string representation
2907func (s DescribeAccountOverviewInput) GoString() string {
2908	return s.String()
2909}
2910
2911// Validate inspects the fields of the type to determine if they are valid.
2912func (s *DescribeAccountOverviewInput) Validate() error {
2913	invalidParams := request.ErrInvalidParams{Context: "DescribeAccountOverviewInput"}
2914	if s.FromTime == nil {
2915		invalidParams.Add(request.NewErrParamRequired("FromTime"))
2916	}
2917
2918	if invalidParams.Len() > 0 {
2919		return invalidParams
2920	}
2921	return nil
2922}
2923
2924// SetFromTime sets the FromTime field's value.
2925func (s *DescribeAccountOverviewInput) SetFromTime(v time.Time) *DescribeAccountOverviewInput {
2926	s.FromTime = &v
2927	return s
2928}
2929
2930// SetToTime sets the ToTime field's value.
2931func (s *DescribeAccountOverviewInput) SetToTime(v time.Time) *DescribeAccountOverviewInput {
2932	s.ToTime = &v
2933	return s
2934}
2935
2936type DescribeAccountOverviewOutput struct {
2937	_ struct{} `type:"structure"`
2938
2939	// The Mean Time to Recover (MTTR) for all closed insights that were created
2940	// during the time range passed in.
2941	//
2942	// MeanTimeToRecoverInMilliseconds is a required field
2943	MeanTimeToRecoverInMilliseconds *int64 `type:"long" required:"true"`
2944
2945	// An integer that specifies the number of open proactive insights in your AWS
2946	// account that were created during the time range passed in.
2947	//
2948	// ProactiveInsights is a required field
2949	ProactiveInsights *int64 `type:"integer" required:"true"`
2950
2951	// An integer that specifies the number of open reactive insights in your AWS
2952	// account that were created during the time range passed in.
2953	//
2954	// ReactiveInsights is a required field
2955	ReactiveInsights *int64 `type:"integer" required:"true"`
2956}
2957
2958// String returns the string representation
2959func (s DescribeAccountOverviewOutput) String() string {
2960	return awsutil.Prettify(s)
2961}
2962
2963// GoString returns the string representation
2964func (s DescribeAccountOverviewOutput) GoString() string {
2965	return s.String()
2966}
2967
2968// SetMeanTimeToRecoverInMilliseconds sets the MeanTimeToRecoverInMilliseconds field's value.
2969func (s *DescribeAccountOverviewOutput) SetMeanTimeToRecoverInMilliseconds(v int64) *DescribeAccountOverviewOutput {
2970	s.MeanTimeToRecoverInMilliseconds = &v
2971	return s
2972}
2973
2974// SetProactiveInsights sets the ProactiveInsights field's value.
2975func (s *DescribeAccountOverviewOutput) SetProactiveInsights(v int64) *DescribeAccountOverviewOutput {
2976	s.ProactiveInsights = &v
2977	return s
2978}
2979
2980// SetReactiveInsights sets the ReactiveInsights field's value.
2981func (s *DescribeAccountOverviewOutput) SetReactiveInsights(v int64) *DescribeAccountOverviewOutput {
2982	s.ReactiveInsights = &v
2983	return s
2984}
2985
2986type DescribeAnomalyInput struct {
2987	_ struct{} `type:"structure"`
2988
2989	// The ID of the anomaly.
2990	//
2991	// Id is a required field
2992	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
2993}
2994
2995// String returns the string representation
2996func (s DescribeAnomalyInput) String() string {
2997	return awsutil.Prettify(s)
2998}
2999
3000// GoString returns the string representation
3001func (s DescribeAnomalyInput) GoString() string {
3002	return s.String()
3003}
3004
3005// Validate inspects the fields of the type to determine if they are valid.
3006func (s *DescribeAnomalyInput) Validate() error {
3007	invalidParams := request.ErrInvalidParams{Context: "DescribeAnomalyInput"}
3008	if s.Id == nil {
3009		invalidParams.Add(request.NewErrParamRequired("Id"))
3010	}
3011	if s.Id != nil && len(*s.Id) < 1 {
3012		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
3013	}
3014
3015	if invalidParams.Len() > 0 {
3016		return invalidParams
3017	}
3018	return nil
3019}
3020
3021// SetId sets the Id field's value.
3022func (s *DescribeAnomalyInput) SetId(v string) *DescribeAnomalyInput {
3023	s.Id = &v
3024	return s
3025}
3026
3027type DescribeAnomalyOutput struct {
3028	_ struct{} `type:"structure"`
3029
3030	// An ReactiveAnomaly object that represents the requested anomaly.
3031	ProactiveAnomaly *ProactiveAnomaly `type:"structure"`
3032
3033	// An ProactiveAnomaly object that represents the requested anomaly.
3034	ReactiveAnomaly *ReactiveAnomaly `type:"structure"`
3035}
3036
3037// String returns the string representation
3038func (s DescribeAnomalyOutput) String() string {
3039	return awsutil.Prettify(s)
3040}
3041
3042// GoString returns the string representation
3043func (s DescribeAnomalyOutput) GoString() string {
3044	return s.String()
3045}
3046
3047// SetProactiveAnomaly sets the ProactiveAnomaly field's value.
3048func (s *DescribeAnomalyOutput) SetProactiveAnomaly(v *ProactiveAnomaly) *DescribeAnomalyOutput {
3049	s.ProactiveAnomaly = v
3050	return s
3051}
3052
3053// SetReactiveAnomaly sets the ReactiveAnomaly field's value.
3054func (s *DescribeAnomalyOutput) SetReactiveAnomaly(v *ReactiveAnomaly) *DescribeAnomalyOutput {
3055	s.ReactiveAnomaly = v
3056	return s
3057}
3058
3059type DescribeFeedbackInput struct {
3060	_ struct{} `type:"structure"`
3061
3062	// The ID of the insight for which the feedback was provided.
3063	InsightId *string `min:"1" type:"string"`
3064}
3065
3066// String returns the string representation
3067func (s DescribeFeedbackInput) String() string {
3068	return awsutil.Prettify(s)
3069}
3070
3071// GoString returns the string representation
3072func (s DescribeFeedbackInput) GoString() string {
3073	return s.String()
3074}
3075
3076// Validate inspects the fields of the type to determine if they are valid.
3077func (s *DescribeFeedbackInput) Validate() error {
3078	invalidParams := request.ErrInvalidParams{Context: "DescribeFeedbackInput"}
3079	if s.InsightId != nil && len(*s.InsightId) < 1 {
3080		invalidParams.Add(request.NewErrParamMinLen("InsightId", 1))
3081	}
3082
3083	if invalidParams.Len() > 0 {
3084		return invalidParams
3085	}
3086	return nil
3087}
3088
3089// SetInsightId sets the InsightId field's value.
3090func (s *DescribeFeedbackInput) SetInsightId(v string) *DescribeFeedbackInput {
3091	s.InsightId = &v
3092	return s
3093}
3094
3095type DescribeFeedbackOutput struct {
3096	_ struct{} `type:"structure"`
3097
3098	// Information about insight feedback received from a customer.
3099	InsightFeedback *InsightFeedback `type:"structure"`
3100}
3101
3102// String returns the string representation
3103func (s DescribeFeedbackOutput) String() string {
3104	return awsutil.Prettify(s)
3105}
3106
3107// GoString returns the string representation
3108func (s DescribeFeedbackOutput) GoString() string {
3109	return s.String()
3110}
3111
3112// SetInsightFeedback sets the InsightFeedback field's value.
3113func (s *DescribeFeedbackOutput) SetInsightFeedback(v *InsightFeedback) *DescribeFeedbackOutput {
3114	s.InsightFeedback = v
3115	return s
3116}
3117
3118type DescribeInsightInput struct {
3119	_ struct{} `type:"structure"`
3120
3121	// The ID of the insight.
3122	//
3123	// Id is a required field
3124	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
3125}
3126
3127// String returns the string representation
3128func (s DescribeInsightInput) String() string {
3129	return awsutil.Prettify(s)
3130}
3131
3132// GoString returns the string representation
3133func (s DescribeInsightInput) GoString() string {
3134	return s.String()
3135}
3136
3137// Validate inspects the fields of the type to determine if they are valid.
3138func (s *DescribeInsightInput) Validate() error {
3139	invalidParams := request.ErrInvalidParams{Context: "DescribeInsightInput"}
3140	if s.Id == nil {
3141		invalidParams.Add(request.NewErrParamRequired("Id"))
3142	}
3143	if s.Id != nil && len(*s.Id) < 1 {
3144		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
3145	}
3146
3147	if invalidParams.Len() > 0 {
3148		return invalidParams
3149	}
3150	return nil
3151}
3152
3153// SetId sets the Id field's value.
3154func (s *DescribeInsightInput) SetId(v string) *DescribeInsightInput {
3155	s.Id = &v
3156	return s
3157}
3158
3159type DescribeInsightOutput struct {
3160	_ struct{} `type:"structure"`
3161
3162	// An ProactiveInsight object that represents the requested insight.
3163	ProactiveInsight *ProactiveInsight `type:"structure"`
3164
3165	// An ReactiveInsight object that represents the requested insight.
3166	ReactiveInsight *ReactiveInsight `type:"structure"`
3167}
3168
3169// String returns the string representation
3170func (s DescribeInsightOutput) String() string {
3171	return awsutil.Prettify(s)
3172}
3173
3174// GoString returns the string representation
3175func (s DescribeInsightOutput) GoString() string {
3176	return s.String()
3177}
3178
3179// SetProactiveInsight sets the ProactiveInsight field's value.
3180func (s *DescribeInsightOutput) SetProactiveInsight(v *ProactiveInsight) *DescribeInsightOutput {
3181	s.ProactiveInsight = v
3182	return s
3183}
3184
3185// SetReactiveInsight sets the ReactiveInsight field's value.
3186func (s *DescribeInsightOutput) SetReactiveInsight(v *ReactiveInsight) *DescribeInsightOutput {
3187	s.ReactiveInsight = v
3188	return s
3189}
3190
3191type DescribeResourceCollectionHealthInput struct {
3192	_ struct{} `type:"structure"`
3193
3194	// The pagination token to use to retrieve the next page of results for this
3195	// operation. If this value is null, it retrieves the first page.
3196	NextToken *string `location:"querystring" locationName:"NextToken" min:"36" type:"string"`
3197
3198	// An AWS resource collection type. This type specifies how analyzed AWS resources
3199	// are defined. The one type of AWS resource collection supported is AWS CloudFormation
3200	// stacks. DevOps Guru can be configured to analyze only the AWS resources that
3201	// are defined in the stacks.
3202	//
3203	// ResourceCollectionType is a required field
3204	ResourceCollectionType *string `location:"uri" locationName:"ResourceCollectionType" type:"string" required:"true" enum:"ResourceCollectionType"`
3205}
3206
3207// String returns the string representation
3208func (s DescribeResourceCollectionHealthInput) String() string {
3209	return awsutil.Prettify(s)
3210}
3211
3212// GoString returns the string representation
3213func (s DescribeResourceCollectionHealthInput) GoString() string {
3214	return s.String()
3215}
3216
3217// Validate inspects the fields of the type to determine if they are valid.
3218func (s *DescribeResourceCollectionHealthInput) Validate() error {
3219	invalidParams := request.ErrInvalidParams{Context: "DescribeResourceCollectionHealthInput"}
3220	if s.NextToken != nil && len(*s.NextToken) < 36 {
3221		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
3222	}
3223	if s.ResourceCollectionType == nil {
3224		invalidParams.Add(request.NewErrParamRequired("ResourceCollectionType"))
3225	}
3226	if s.ResourceCollectionType != nil && len(*s.ResourceCollectionType) < 1 {
3227		invalidParams.Add(request.NewErrParamMinLen("ResourceCollectionType", 1))
3228	}
3229
3230	if invalidParams.Len() > 0 {
3231		return invalidParams
3232	}
3233	return nil
3234}
3235
3236// SetNextToken sets the NextToken field's value.
3237func (s *DescribeResourceCollectionHealthInput) SetNextToken(v string) *DescribeResourceCollectionHealthInput {
3238	s.NextToken = &v
3239	return s
3240}
3241
3242// SetResourceCollectionType sets the ResourceCollectionType field's value.
3243func (s *DescribeResourceCollectionHealthInput) SetResourceCollectionType(v string) *DescribeResourceCollectionHealthInput {
3244	s.ResourceCollectionType = &v
3245	return s
3246}
3247
3248type DescribeResourceCollectionHealthOutput struct {
3249	_ struct{} `type:"structure"`
3250
3251	// The returned CloudFormationHealthOverview object that contains an InsightHealthOverview
3252	// object with the requested system health information.
3253	//
3254	// CloudFormation is a required field
3255	CloudFormation []*CloudFormationHealth `type:"list" required:"true"`
3256
3257	// The pagination token to use to retrieve the next page of results for this
3258	// operation. If there are no more pages, this value is null.
3259	NextToken *string `min:"36" type:"string"`
3260}
3261
3262// String returns the string representation
3263func (s DescribeResourceCollectionHealthOutput) String() string {
3264	return awsutil.Prettify(s)
3265}
3266
3267// GoString returns the string representation
3268func (s DescribeResourceCollectionHealthOutput) GoString() string {
3269	return s.String()
3270}
3271
3272// SetCloudFormation sets the CloudFormation field's value.
3273func (s *DescribeResourceCollectionHealthOutput) SetCloudFormation(v []*CloudFormationHealth) *DescribeResourceCollectionHealthOutput {
3274	s.CloudFormation = v
3275	return s
3276}
3277
3278// SetNextToken sets the NextToken field's value.
3279func (s *DescribeResourceCollectionHealthOutput) SetNextToken(v string) *DescribeResourceCollectionHealthOutput {
3280	s.NextToken = &v
3281	return s
3282}
3283
3284type DescribeServiceIntegrationInput struct {
3285	_ struct{} `type:"structure"`
3286}
3287
3288// String returns the string representation
3289func (s DescribeServiceIntegrationInput) String() string {
3290	return awsutil.Prettify(s)
3291}
3292
3293// GoString returns the string representation
3294func (s DescribeServiceIntegrationInput) GoString() string {
3295	return s.String()
3296}
3297
3298type DescribeServiceIntegrationOutput struct {
3299	_ struct{} `type:"structure"`
3300
3301	// Information about the integration of DevOps Guru with another AWS service,
3302	// such as AWS Systems Manager.
3303	ServiceIntegration *ServiceIntegrationConfig `type:"structure"`
3304}
3305
3306// String returns the string representation
3307func (s DescribeServiceIntegrationOutput) String() string {
3308	return awsutil.Prettify(s)
3309}
3310
3311// GoString returns the string representation
3312func (s DescribeServiceIntegrationOutput) GoString() string {
3313	return s.String()
3314}
3315
3316// SetServiceIntegration sets the ServiceIntegration field's value.
3317func (s *DescribeServiceIntegrationOutput) SetServiceIntegration(v *ServiceIntegrationConfig) *DescribeServiceIntegrationOutput {
3318	s.ServiceIntegration = v
3319	return s
3320}
3321
3322// A range of time that specifies when anomalous behavior in an anomaly or insight
3323// ended.
3324type EndTimeRange struct {
3325	_ struct{} `type:"structure"`
3326
3327	// The earliest end time in the time range.
3328	FromTime *time.Time `type:"timestamp"`
3329
3330	// The latest end time in the time range.
3331	ToTime *time.Time `type:"timestamp"`
3332}
3333
3334// String returns the string representation
3335func (s EndTimeRange) String() string {
3336	return awsutil.Prettify(s)
3337}
3338
3339// GoString returns the string representation
3340func (s EndTimeRange) GoString() string {
3341	return s.String()
3342}
3343
3344// SetFromTime sets the FromTime field's value.
3345func (s *EndTimeRange) SetFromTime(v time.Time) *EndTimeRange {
3346	s.FromTime = &v
3347	return s
3348}
3349
3350// SetToTime sets the ToTime field's value.
3351func (s *EndTimeRange) SetToTime(v time.Time) *EndTimeRange {
3352	s.ToTime = &v
3353	return s
3354}
3355
3356// An AWS resource event. AWS resource events and metrics are analyzed by DevOps
3357// Guru to find anomalous behavior and provide recommendations to improve your
3358// operational solutions.
3359type Event struct {
3360	_ struct{} `type:"structure"`
3361
3362	// The source, AWS_CLOUD_TRAIL or AWS_CODE_DEPLOY, where DevOps Guru analysis
3363	// found the event.
3364	DataSource *string `type:"string" enum:"EventDataSource"`
3365
3366	// The class of the event. The class specifies what the event is related to,
3367	// such as an infrastructure change, a deployment, or a schema change.
3368	EventClass *string `type:"string" enum:"EventClass"`
3369
3370	// The AWS source that emitted the event.
3371	EventSource *string `min:"10" type:"string"`
3372
3373	// The ID of the event.
3374	Id *string `type:"string"`
3375
3376	// The name of the event.
3377	Name *string `type:"string"`
3378
3379	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
3380	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
3381	// be configured to analyze only the AWS resources that are defined in the stacks.
3382	ResourceCollection *ResourceCollection `type:"structure"`
3383
3384	// An EventResource object that contains information about the resource that
3385	// emitted the event.
3386	Resources []*EventResource `type:"list"`
3387
3388	// A Timestamp that specifies the time the event occurred.
3389	Time *time.Time `type:"timestamp"`
3390}
3391
3392// String returns the string representation
3393func (s Event) String() string {
3394	return awsutil.Prettify(s)
3395}
3396
3397// GoString returns the string representation
3398func (s Event) GoString() string {
3399	return s.String()
3400}
3401
3402// SetDataSource sets the DataSource field's value.
3403func (s *Event) SetDataSource(v string) *Event {
3404	s.DataSource = &v
3405	return s
3406}
3407
3408// SetEventClass sets the EventClass field's value.
3409func (s *Event) SetEventClass(v string) *Event {
3410	s.EventClass = &v
3411	return s
3412}
3413
3414// SetEventSource sets the EventSource field's value.
3415func (s *Event) SetEventSource(v string) *Event {
3416	s.EventSource = &v
3417	return s
3418}
3419
3420// SetId sets the Id field's value.
3421func (s *Event) SetId(v string) *Event {
3422	s.Id = &v
3423	return s
3424}
3425
3426// SetName sets the Name field's value.
3427func (s *Event) SetName(v string) *Event {
3428	s.Name = &v
3429	return s
3430}
3431
3432// SetResourceCollection sets the ResourceCollection field's value.
3433func (s *Event) SetResourceCollection(v *ResourceCollection) *Event {
3434	s.ResourceCollection = v
3435	return s
3436}
3437
3438// SetResources sets the Resources field's value.
3439func (s *Event) SetResources(v []*EventResource) *Event {
3440	s.Resources = v
3441	return s
3442}
3443
3444// SetTime sets the Time field's value.
3445func (s *Event) SetTime(v time.Time) *Event {
3446	s.Time = &v
3447	return s
3448}
3449
3450// The AWS resource that emitted an event. AWS resource events and metrics are
3451// analyzed by DevOps Guru to find anomalous behavior and provide recommendations
3452// to improve your operational solutions.
3453type EventResource struct {
3454	_ struct{} `type:"structure"`
3455
3456	// The Amazon Resource Name (ARN) of the resource that emitted an event.
3457	Arn *string `min:"36" type:"string"`
3458
3459	// The name of the resource that emitted an event.
3460	Name *string `type:"string"`
3461
3462	// The type of resource that emitted an event.
3463	Type *string `type:"string"`
3464}
3465
3466// String returns the string representation
3467func (s EventResource) String() string {
3468	return awsutil.Prettify(s)
3469}
3470
3471// GoString returns the string representation
3472func (s EventResource) GoString() string {
3473	return s.String()
3474}
3475
3476// SetArn sets the Arn field's value.
3477func (s *EventResource) SetArn(v string) *EventResource {
3478	s.Arn = &v
3479	return s
3480}
3481
3482// SetName sets the Name field's value.
3483func (s *EventResource) SetName(v string) *EventResource {
3484	s.Name = &v
3485	return s
3486}
3487
3488// SetType sets the Type field's value.
3489func (s *EventResource) SetType(v string) *EventResource {
3490	s.Type = &v
3491	return s
3492}
3493
3494// The time range during which an AWS event occurred. AWS resource events and
3495// metrics are analyzed by DevOps Guru to find anomalous behavior and provide
3496// recommendations to improve your operational solutions.
3497type EventTimeRange struct {
3498	_ struct{} `type:"structure"`
3499
3500	// The time when the event started.
3501	//
3502	// FromTime is a required field
3503	FromTime *time.Time `type:"timestamp" required:"true"`
3504
3505	// The time when the event ended.
3506	//
3507	// ToTime is a required field
3508	ToTime *time.Time `type:"timestamp" required:"true"`
3509}
3510
3511// String returns the string representation
3512func (s EventTimeRange) String() string {
3513	return awsutil.Prettify(s)
3514}
3515
3516// GoString returns the string representation
3517func (s EventTimeRange) GoString() string {
3518	return s.String()
3519}
3520
3521// Validate inspects the fields of the type to determine if they are valid.
3522func (s *EventTimeRange) Validate() error {
3523	invalidParams := request.ErrInvalidParams{Context: "EventTimeRange"}
3524	if s.FromTime == nil {
3525		invalidParams.Add(request.NewErrParamRequired("FromTime"))
3526	}
3527	if s.ToTime == nil {
3528		invalidParams.Add(request.NewErrParamRequired("ToTime"))
3529	}
3530
3531	if invalidParams.Len() > 0 {
3532		return invalidParams
3533	}
3534	return nil
3535}
3536
3537// SetFromTime sets the FromTime field's value.
3538func (s *EventTimeRange) SetFromTime(v time.Time) *EventTimeRange {
3539	s.FromTime = &v
3540	return s
3541}
3542
3543// SetToTime sets the ToTime field's value.
3544func (s *EventTimeRange) SetToTime(v time.Time) *EventTimeRange {
3545	s.ToTime = &v
3546	return s
3547}
3548
3549type GetResourceCollectionInput struct {
3550	_ struct{} `type:"structure"`
3551
3552	// The pagination token to use to retrieve the next page of results for this
3553	// operation. If this value is null, it retrieves the first page.
3554	NextToken *string `location:"querystring" locationName:"NextToken" min:"36" type:"string"`
3555
3556	// The type of AWS resource collections to return. The one valid value is CLOUD_FORMATION
3557	// for AWS CloudFormation stacks.
3558	//
3559	// ResourceCollectionType is a required field
3560	ResourceCollectionType *string `location:"uri" locationName:"ResourceCollectionType" type:"string" required:"true" enum:"ResourceCollectionType"`
3561}
3562
3563// String returns the string representation
3564func (s GetResourceCollectionInput) String() string {
3565	return awsutil.Prettify(s)
3566}
3567
3568// GoString returns the string representation
3569func (s GetResourceCollectionInput) GoString() string {
3570	return s.String()
3571}
3572
3573// Validate inspects the fields of the type to determine if they are valid.
3574func (s *GetResourceCollectionInput) Validate() error {
3575	invalidParams := request.ErrInvalidParams{Context: "GetResourceCollectionInput"}
3576	if s.NextToken != nil && len(*s.NextToken) < 36 {
3577		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
3578	}
3579	if s.ResourceCollectionType == nil {
3580		invalidParams.Add(request.NewErrParamRequired("ResourceCollectionType"))
3581	}
3582	if s.ResourceCollectionType != nil && len(*s.ResourceCollectionType) < 1 {
3583		invalidParams.Add(request.NewErrParamMinLen("ResourceCollectionType", 1))
3584	}
3585
3586	if invalidParams.Len() > 0 {
3587		return invalidParams
3588	}
3589	return nil
3590}
3591
3592// SetNextToken sets the NextToken field's value.
3593func (s *GetResourceCollectionInput) SetNextToken(v string) *GetResourceCollectionInput {
3594	s.NextToken = &v
3595	return s
3596}
3597
3598// SetResourceCollectionType sets the ResourceCollectionType field's value.
3599func (s *GetResourceCollectionInput) SetResourceCollectionType(v string) *GetResourceCollectionInput {
3600	s.ResourceCollectionType = &v
3601	return s
3602}
3603
3604type GetResourceCollectionOutput struct {
3605	_ struct{} `type:"structure"`
3606
3607	// The pagination token to use to retrieve the next page of results for this
3608	// operation. If there are no more pages, this value is null.
3609	NextToken *string `min:"36" type:"string"`
3610
3611	// The requested list of AWS resource collections. The one type of AWS resource
3612	// collection supported is AWS CloudFormation stacks. DevOps Guru can be configured
3613	// to analyze only the AWS resources that are defined in the stacks.
3614	ResourceCollection *ResourceCollectionFilter `type:"structure"`
3615}
3616
3617// String returns the string representation
3618func (s GetResourceCollectionOutput) String() string {
3619	return awsutil.Prettify(s)
3620}
3621
3622// GoString returns the string representation
3623func (s GetResourceCollectionOutput) GoString() string {
3624	return s.String()
3625}
3626
3627// SetNextToken sets the NextToken field's value.
3628func (s *GetResourceCollectionOutput) SetNextToken(v string) *GetResourceCollectionOutput {
3629	s.NextToken = &v
3630	return s
3631}
3632
3633// SetResourceCollection sets the ResourceCollection field's value.
3634func (s *GetResourceCollectionOutput) SetResourceCollection(v *ResourceCollectionFilter) *GetResourceCollectionOutput {
3635	s.ResourceCollection = v
3636	return s
3637}
3638
3639// Information about insight feedback received from a customer.
3640type InsightFeedback struct {
3641	_ struct{} `type:"structure"`
3642
3643	// The feedback provided by the customer.
3644	Feedback *string `type:"string" enum:"InsightFeedbackOption"`
3645
3646	// The insight feedback ID.
3647	Id *string `min:"1" type:"string"`
3648}
3649
3650// String returns the string representation
3651func (s InsightFeedback) String() string {
3652	return awsutil.Prettify(s)
3653}
3654
3655// GoString returns the string representation
3656func (s InsightFeedback) GoString() string {
3657	return s.String()
3658}
3659
3660// Validate inspects the fields of the type to determine if they are valid.
3661func (s *InsightFeedback) Validate() error {
3662	invalidParams := request.ErrInvalidParams{Context: "InsightFeedback"}
3663	if s.Id != nil && len(*s.Id) < 1 {
3664		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
3665	}
3666
3667	if invalidParams.Len() > 0 {
3668		return invalidParams
3669	}
3670	return nil
3671}
3672
3673// SetFeedback sets the Feedback field's value.
3674func (s *InsightFeedback) SetFeedback(v string) *InsightFeedback {
3675	s.Feedback = &v
3676	return s
3677}
3678
3679// SetId sets the Id field's value.
3680func (s *InsightFeedback) SetId(v string) *InsightFeedback {
3681	s.Id = &v
3682	return s
3683}
3684
3685// Information about the number of open reactive and proactive insights that
3686// can be used to gauge the health of your system.
3687type InsightHealth struct {
3688	_ struct{} `type:"structure"`
3689
3690	// The Meant Time to Recover (MTTR) for the insight.
3691	MeanTimeToRecoverInMilliseconds *int64 `type:"long"`
3692
3693	// The number of open proactive insights.
3694	OpenProactiveInsights *int64 `type:"integer"`
3695
3696	// The number of open reactive insights.
3697	OpenReactiveInsights *int64 `type:"integer"`
3698}
3699
3700// String returns the string representation
3701func (s InsightHealth) String() string {
3702	return awsutil.Prettify(s)
3703}
3704
3705// GoString returns the string representation
3706func (s InsightHealth) GoString() string {
3707	return s.String()
3708}
3709
3710// SetMeanTimeToRecoverInMilliseconds sets the MeanTimeToRecoverInMilliseconds field's value.
3711func (s *InsightHealth) SetMeanTimeToRecoverInMilliseconds(v int64) *InsightHealth {
3712	s.MeanTimeToRecoverInMilliseconds = &v
3713	return s
3714}
3715
3716// SetOpenProactiveInsights sets the OpenProactiveInsights field's value.
3717func (s *InsightHealth) SetOpenProactiveInsights(v int64) *InsightHealth {
3718	s.OpenProactiveInsights = &v
3719	return s
3720}
3721
3722// SetOpenReactiveInsights sets the OpenReactiveInsights field's value.
3723func (s *InsightHealth) SetOpenReactiveInsights(v int64) *InsightHealth {
3724	s.OpenReactiveInsights = &v
3725	return s
3726}
3727
3728// A time ranged that specifies when the observed behavior in an insight started
3729// and ended.
3730type InsightTimeRange struct {
3731	_ struct{} `type:"structure"`
3732
3733	// The time when the behavior described in an insight ended.
3734	EndTime *time.Time `type:"timestamp"`
3735
3736	// The time when the behavior described in an insight started.
3737	//
3738	// StartTime is a required field
3739	StartTime *time.Time `type:"timestamp" required:"true"`
3740}
3741
3742// String returns the string representation
3743func (s InsightTimeRange) String() string {
3744	return awsutil.Prettify(s)
3745}
3746
3747// GoString returns the string representation
3748func (s InsightTimeRange) GoString() string {
3749	return s.String()
3750}
3751
3752// SetEndTime sets the EndTime field's value.
3753func (s *InsightTimeRange) SetEndTime(v time.Time) *InsightTimeRange {
3754	s.EndTime = &v
3755	return s
3756}
3757
3758// SetStartTime sets the StartTime field's value.
3759func (s *InsightTimeRange) SetStartTime(v time.Time) *InsightTimeRange {
3760	s.StartTime = &v
3761	return s
3762}
3763
3764// An internal failure in an Amazon service occurred.
3765type InternalServerException struct {
3766	_            struct{}                  `type:"structure"`
3767	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3768
3769	Message_ *string `locationName:"Message" type:"string"`
3770
3771	// The number of seconds after which the action that caused the internal server
3772	// exception can be retried.
3773	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
3774}
3775
3776// String returns the string representation
3777func (s InternalServerException) String() string {
3778	return awsutil.Prettify(s)
3779}
3780
3781// GoString returns the string representation
3782func (s InternalServerException) GoString() string {
3783	return s.String()
3784}
3785
3786func newErrorInternalServerException(v protocol.ResponseMetadata) error {
3787	return &InternalServerException{
3788		RespMetadata: v,
3789	}
3790}
3791
3792// Code returns the exception type name.
3793func (s *InternalServerException) Code() string {
3794	return "InternalServerException"
3795}
3796
3797// Message returns the exception's message.
3798func (s *InternalServerException) Message() string {
3799	if s.Message_ != nil {
3800		return *s.Message_
3801	}
3802	return ""
3803}
3804
3805// OrigErr always returns nil, satisfies awserr.Error interface.
3806func (s *InternalServerException) OrigErr() error {
3807	return nil
3808}
3809
3810func (s *InternalServerException) Error() string {
3811	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3812}
3813
3814// Status code returns the HTTP status code for the request's response error.
3815func (s *InternalServerException) StatusCode() int {
3816	return s.RespMetadata.StatusCode
3817}
3818
3819// RequestID returns the service's response RequestID for request.
3820func (s *InternalServerException) RequestID() string {
3821	return s.RespMetadata.RequestID
3822}
3823
3824type ListAnomaliesForInsightInput struct {
3825	_ struct{} `type:"structure"`
3826
3827	// The ID of the insight. The returned anomalies belong to this insight.
3828	//
3829	// InsightId is a required field
3830	InsightId *string `location:"uri" locationName:"InsightId" min:"1" type:"string" required:"true"`
3831
3832	// The maximum number of results to return with a single call. To retrieve the
3833	// remaining results, make another call with the returned nextToken value.
3834	MaxResults *int64 `min:"1" type:"integer"`
3835
3836	// The pagination token to use to retrieve the next page of results for this
3837	// operation. If this value is null, it retrieves the first page.
3838	NextToken *string `min:"36" type:"string"`
3839
3840	// A time range used to specify when the requested anomalies started. All returned
3841	// anomalies started during this time range.
3842	StartTimeRange *StartTimeRange `type:"structure"`
3843}
3844
3845// String returns the string representation
3846func (s ListAnomaliesForInsightInput) String() string {
3847	return awsutil.Prettify(s)
3848}
3849
3850// GoString returns the string representation
3851func (s ListAnomaliesForInsightInput) GoString() string {
3852	return s.String()
3853}
3854
3855// Validate inspects the fields of the type to determine if they are valid.
3856func (s *ListAnomaliesForInsightInput) Validate() error {
3857	invalidParams := request.ErrInvalidParams{Context: "ListAnomaliesForInsightInput"}
3858	if s.InsightId == nil {
3859		invalidParams.Add(request.NewErrParamRequired("InsightId"))
3860	}
3861	if s.InsightId != nil && len(*s.InsightId) < 1 {
3862		invalidParams.Add(request.NewErrParamMinLen("InsightId", 1))
3863	}
3864	if s.MaxResults != nil && *s.MaxResults < 1 {
3865		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3866	}
3867	if s.NextToken != nil && len(*s.NextToken) < 36 {
3868		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
3869	}
3870
3871	if invalidParams.Len() > 0 {
3872		return invalidParams
3873	}
3874	return nil
3875}
3876
3877// SetInsightId sets the InsightId field's value.
3878func (s *ListAnomaliesForInsightInput) SetInsightId(v string) *ListAnomaliesForInsightInput {
3879	s.InsightId = &v
3880	return s
3881}
3882
3883// SetMaxResults sets the MaxResults field's value.
3884func (s *ListAnomaliesForInsightInput) SetMaxResults(v int64) *ListAnomaliesForInsightInput {
3885	s.MaxResults = &v
3886	return s
3887}
3888
3889// SetNextToken sets the NextToken field's value.
3890func (s *ListAnomaliesForInsightInput) SetNextToken(v string) *ListAnomaliesForInsightInput {
3891	s.NextToken = &v
3892	return s
3893}
3894
3895// SetStartTimeRange sets the StartTimeRange field's value.
3896func (s *ListAnomaliesForInsightInput) SetStartTimeRange(v *StartTimeRange) *ListAnomaliesForInsightInput {
3897	s.StartTimeRange = v
3898	return s
3899}
3900
3901type ListAnomaliesForInsightOutput struct {
3902	_ struct{} `type:"structure"`
3903
3904	// The pagination token to use to retrieve the next page of results for this
3905	// operation. If there are no more pages, this value is null.
3906	NextToken *string `min:"36" type:"string"`
3907
3908	// An array of ProactiveAnomalySummary objects that represent the requested
3909	// anomalies
3910	ProactiveAnomalies []*ProactiveAnomalySummary `type:"list"`
3911
3912	// An array of ReactiveAnomalySummary objects that represent the requested anomalies
3913	ReactiveAnomalies []*ReactiveAnomalySummary `type:"list"`
3914}
3915
3916// String returns the string representation
3917func (s ListAnomaliesForInsightOutput) String() string {
3918	return awsutil.Prettify(s)
3919}
3920
3921// GoString returns the string representation
3922func (s ListAnomaliesForInsightOutput) GoString() string {
3923	return s.String()
3924}
3925
3926// SetNextToken sets the NextToken field's value.
3927func (s *ListAnomaliesForInsightOutput) SetNextToken(v string) *ListAnomaliesForInsightOutput {
3928	s.NextToken = &v
3929	return s
3930}
3931
3932// SetProactiveAnomalies sets the ProactiveAnomalies field's value.
3933func (s *ListAnomaliesForInsightOutput) SetProactiveAnomalies(v []*ProactiveAnomalySummary) *ListAnomaliesForInsightOutput {
3934	s.ProactiveAnomalies = v
3935	return s
3936}
3937
3938// SetReactiveAnomalies sets the ReactiveAnomalies field's value.
3939func (s *ListAnomaliesForInsightOutput) SetReactiveAnomalies(v []*ReactiveAnomalySummary) *ListAnomaliesForInsightOutput {
3940	s.ReactiveAnomalies = v
3941	return s
3942}
3943
3944// Filters you can use to specify which events are returned when ListEvents
3945// is called.
3946type ListEventsFilters struct {
3947	_ struct{} `type:"structure"`
3948
3949	// The source, AWS_CLOUD_TRAIL or AWS_CODE_DEPLOY, of the events you want returned.
3950	DataSource *string `type:"string" enum:"EventDataSource"`
3951
3952	// The class of the events you want to filter for, such as an infrastructure
3953	// change, a deployment, or a schema change.
3954	EventClass *string `type:"string" enum:"EventClass"`
3955
3956	// The AWS source that emitted the events you want to filter for.
3957	EventSource *string `min:"10" type:"string"`
3958
3959	// A time range during which you want the filtered events to have occurred.
3960	EventTimeRange *EventTimeRange `type:"structure"`
3961
3962	// An ID of an insight that is related to the events you want to filter for.
3963	InsightId *string `min:"1" type:"string"`
3964
3965	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
3966	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
3967	// be configured to analyze only the AWS resources that are defined in the stacks.
3968	ResourceCollection *ResourceCollection `type:"structure"`
3969}
3970
3971// String returns the string representation
3972func (s ListEventsFilters) String() string {
3973	return awsutil.Prettify(s)
3974}
3975
3976// GoString returns the string representation
3977func (s ListEventsFilters) GoString() string {
3978	return s.String()
3979}
3980
3981// Validate inspects the fields of the type to determine if they are valid.
3982func (s *ListEventsFilters) Validate() error {
3983	invalidParams := request.ErrInvalidParams{Context: "ListEventsFilters"}
3984	if s.EventSource != nil && len(*s.EventSource) < 10 {
3985		invalidParams.Add(request.NewErrParamMinLen("EventSource", 10))
3986	}
3987	if s.InsightId != nil && len(*s.InsightId) < 1 {
3988		invalidParams.Add(request.NewErrParamMinLen("InsightId", 1))
3989	}
3990	if s.EventTimeRange != nil {
3991		if err := s.EventTimeRange.Validate(); err != nil {
3992			invalidParams.AddNested("EventTimeRange", err.(request.ErrInvalidParams))
3993		}
3994	}
3995
3996	if invalidParams.Len() > 0 {
3997		return invalidParams
3998	}
3999	return nil
4000}
4001
4002// SetDataSource sets the DataSource field's value.
4003func (s *ListEventsFilters) SetDataSource(v string) *ListEventsFilters {
4004	s.DataSource = &v
4005	return s
4006}
4007
4008// SetEventClass sets the EventClass field's value.
4009func (s *ListEventsFilters) SetEventClass(v string) *ListEventsFilters {
4010	s.EventClass = &v
4011	return s
4012}
4013
4014// SetEventSource sets the EventSource field's value.
4015func (s *ListEventsFilters) SetEventSource(v string) *ListEventsFilters {
4016	s.EventSource = &v
4017	return s
4018}
4019
4020// SetEventTimeRange sets the EventTimeRange field's value.
4021func (s *ListEventsFilters) SetEventTimeRange(v *EventTimeRange) *ListEventsFilters {
4022	s.EventTimeRange = v
4023	return s
4024}
4025
4026// SetInsightId sets the InsightId field's value.
4027func (s *ListEventsFilters) SetInsightId(v string) *ListEventsFilters {
4028	s.InsightId = &v
4029	return s
4030}
4031
4032// SetResourceCollection sets the ResourceCollection field's value.
4033func (s *ListEventsFilters) SetResourceCollection(v *ResourceCollection) *ListEventsFilters {
4034	s.ResourceCollection = v
4035	return s
4036}
4037
4038type ListEventsInput struct {
4039	_ struct{} `type:"structure"`
4040
4041	// A ListEventsFilters object used to specify which events to return.
4042	//
4043	// Filters is a required field
4044	Filters *ListEventsFilters `type:"structure" required:"true"`
4045
4046	// The maximum number of results to return with a single call. To retrieve the
4047	// remaining results, make another call with the returned nextToken value.
4048	MaxResults *int64 `min:"1" type:"integer"`
4049
4050	// The pagination token to use to retrieve the next page of results for this
4051	// operation. If this value is null, it retrieves the first page.
4052	NextToken *string `min:"36" type:"string"`
4053}
4054
4055// String returns the string representation
4056func (s ListEventsInput) String() string {
4057	return awsutil.Prettify(s)
4058}
4059
4060// GoString returns the string representation
4061func (s ListEventsInput) GoString() string {
4062	return s.String()
4063}
4064
4065// Validate inspects the fields of the type to determine if they are valid.
4066func (s *ListEventsInput) Validate() error {
4067	invalidParams := request.ErrInvalidParams{Context: "ListEventsInput"}
4068	if s.Filters == nil {
4069		invalidParams.Add(request.NewErrParamRequired("Filters"))
4070	}
4071	if s.MaxResults != nil && *s.MaxResults < 1 {
4072		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4073	}
4074	if s.NextToken != nil && len(*s.NextToken) < 36 {
4075		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
4076	}
4077	if s.Filters != nil {
4078		if err := s.Filters.Validate(); err != nil {
4079			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
4080		}
4081	}
4082
4083	if invalidParams.Len() > 0 {
4084		return invalidParams
4085	}
4086	return nil
4087}
4088
4089// SetFilters sets the Filters field's value.
4090func (s *ListEventsInput) SetFilters(v *ListEventsFilters) *ListEventsInput {
4091	s.Filters = v
4092	return s
4093}
4094
4095// SetMaxResults sets the MaxResults field's value.
4096func (s *ListEventsInput) SetMaxResults(v int64) *ListEventsInput {
4097	s.MaxResults = &v
4098	return s
4099}
4100
4101// SetNextToken sets the NextToken field's value.
4102func (s *ListEventsInput) SetNextToken(v string) *ListEventsInput {
4103	s.NextToken = &v
4104	return s
4105}
4106
4107type ListEventsOutput struct {
4108	_ struct{} `type:"structure"`
4109
4110	// A list of the requested events.
4111	//
4112	// Events is a required field
4113	Events []*Event `type:"list" required:"true"`
4114
4115	// The pagination token to use to retrieve the next page of results for this
4116	// operation. If there are no more pages, this value is null.
4117	NextToken *string `min:"36" type:"string"`
4118}
4119
4120// String returns the string representation
4121func (s ListEventsOutput) String() string {
4122	return awsutil.Prettify(s)
4123}
4124
4125// GoString returns the string representation
4126func (s ListEventsOutput) GoString() string {
4127	return s.String()
4128}
4129
4130// SetEvents sets the Events field's value.
4131func (s *ListEventsOutput) SetEvents(v []*Event) *ListEventsOutput {
4132	s.Events = v
4133	return s
4134}
4135
4136// SetNextToken sets the NextToken field's value.
4137func (s *ListEventsOutput) SetNextToken(v string) *ListEventsOutput {
4138	s.NextToken = &v
4139	return s
4140}
4141
4142// Used to filter for insights that have any status.
4143type ListInsightsAnyStatusFilter struct {
4144	_ struct{} `type:"structure"`
4145
4146	// A time range used to specify when the behavior of the filtered insights started.
4147	//
4148	// StartTimeRange is a required field
4149	StartTimeRange *StartTimeRange `type:"structure" required:"true"`
4150
4151	// Use to filter for either REACTIVE or PROACTIVE insights.
4152	//
4153	// Type is a required field
4154	Type *string `type:"string" required:"true" enum:"InsightType"`
4155}
4156
4157// String returns the string representation
4158func (s ListInsightsAnyStatusFilter) String() string {
4159	return awsutil.Prettify(s)
4160}
4161
4162// GoString returns the string representation
4163func (s ListInsightsAnyStatusFilter) GoString() string {
4164	return s.String()
4165}
4166
4167// Validate inspects the fields of the type to determine if they are valid.
4168func (s *ListInsightsAnyStatusFilter) Validate() error {
4169	invalidParams := request.ErrInvalidParams{Context: "ListInsightsAnyStatusFilter"}
4170	if s.StartTimeRange == nil {
4171		invalidParams.Add(request.NewErrParamRequired("StartTimeRange"))
4172	}
4173	if s.Type == nil {
4174		invalidParams.Add(request.NewErrParamRequired("Type"))
4175	}
4176
4177	if invalidParams.Len() > 0 {
4178		return invalidParams
4179	}
4180	return nil
4181}
4182
4183// SetStartTimeRange sets the StartTimeRange field's value.
4184func (s *ListInsightsAnyStatusFilter) SetStartTimeRange(v *StartTimeRange) *ListInsightsAnyStatusFilter {
4185	s.StartTimeRange = v
4186	return s
4187}
4188
4189// SetType sets the Type field's value.
4190func (s *ListInsightsAnyStatusFilter) SetType(v string) *ListInsightsAnyStatusFilter {
4191	s.Type = &v
4192	return s
4193}
4194
4195// Used to filter for insights that have the status CLOSED.
4196type ListInsightsClosedStatusFilter struct {
4197	_ struct{} `type:"structure"`
4198
4199	// A time range used to specify when the behavior of the filtered insights ended.
4200	//
4201	// EndTimeRange is a required field
4202	EndTimeRange *EndTimeRange `type:"structure" required:"true"`
4203
4204	// Use to filter for either REACTIVE or PROACTIVE insights.
4205	//
4206	// Type is a required field
4207	Type *string `type:"string" required:"true" enum:"InsightType"`
4208}
4209
4210// String returns the string representation
4211func (s ListInsightsClosedStatusFilter) String() string {
4212	return awsutil.Prettify(s)
4213}
4214
4215// GoString returns the string representation
4216func (s ListInsightsClosedStatusFilter) GoString() string {
4217	return s.String()
4218}
4219
4220// Validate inspects the fields of the type to determine if they are valid.
4221func (s *ListInsightsClosedStatusFilter) Validate() error {
4222	invalidParams := request.ErrInvalidParams{Context: "ListInsightsClosedStatusFilter"}
4223	if s.EndTimeRange == nil {
4224		invalidParams.Add(request.NewErrParamRequired("EndTimeRange"))
4225	}
4226	if s.Type == nil {
4227		invalidParams.Add(request.NewErrParamRequired("Type"))
4228	}
4229
4230	if invalidParams.Len() > 0 {
4231		return invalidParams
4232	}
4233	return nil
4234}
4235
4236// SetEndTimeRange sets the EndTimeRange field's value.
4237func (s *ListInsightsClosedStatusFilter) SetEndTimeRange(v *EndTimeRange) *ListInsightsClosedStatusFilter {
4238	s.EndTimeRange = v
4239	return s
4240}
4241
4242// SetType sets the Type field's value.
4243func (s *ListInsightsClosedStatusFilter) SetType(v string) *ListInsightsClosedStatusFilter {
4244	s.Type = &v
4245	return s
4246}
4247
4248type ListInsightsInput struct {
4249	_ struct{} `type:"structure"`
4250
4251	// The maximum number of results to return with a single call. To retrieve the
4252	// remaining results, make another call with the returned nextToken value.
4253	MaxResults *int64 `min:"1" type:"integer"`
4254
4255	// The pagination token to use to retrieve the next page of results for this
4256	// operation. If this value is null, it retrieves the first page.
4257	NextToken *string `min:"36" type:"string"`
4258
4259	// A filter used to filter the returned insights by their status. You can specify
4260	// one status filter.
4261	//
4262	// StatusFilter is a required field
4263	StatusFilter *ListInsightsStatusFilter `type:"structure" required:"true"`
4264}
4265
4266// String returns the string representation
4267func (s ListInsightsInput) String() string {
4268	return awsutil.Prettify(s)
4269}
4270
4271// GoString returns the string representation
4272func (s ListInsightsInput) GoString() string {
4273	return s.String()
4274}
4275
4276// Validate inspects the fields of the type to determine if they are valid.
4277func (s *ListInsightsInput) Validate() error {
4278	invalidParams := request.ErrInvalidParams{Context: "ListInsightsInput"}
4279	if s.MaxResults != nil && *s.MaxResults < 1 {
4280		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4281	}
4282	if s.NextToken != nil && len(*s.NextToken) < 36 {
4283		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
4284	}
4285	if s.StatusFilter == nil {
4286		invalidParams.Add(request.NewErrParamRequired("StatusFilter"))
4287	}
4288	if s.StatusFilter != nil {
4289		if err := s.StatusFilter.Validate(); err != nil {
4290			invalidParams.AddNested("StatusFilter", err.(request.ErrInvalidParams))
4291		}
4292	}
4293
4294	if invalidParams.Len() > 0 {
4295		return invalidParams
4296	}
4297	return nil
4298}
4299
4300// SetMaxResults sets the MaxResults field's value.
4301func (s *ListInsightsInput) SetMaxResults(v int64) *ListInsightsInput {
4302	s.MaxResults = &v
4303	return s
4304}
4305
4306// SetNextToken sets the NextToken field's value.
4307func (s *ListInsightsInput) SetNextToken(v string) *ListInsightsInput {
4308	s.NextToken = &v
4309	return s
4310}
4311
4312// SetStatusFilter sets the StatusFilter field's value.
4313func (s *ListInsightsInput) SetStatusFilter(v *ListInsightsStatusFilter) *ListInsightsInput {
4314	s.StatusFilter = v
4315	return s
4316}
4317
4318// Used to filter for insights that have the status ONGOING.
4319type ListInsightsOngoingStatusFilter struct {
4320	_ struct{} `type:"structure"`
4321
4322	// Use to filter for either REACTIVE or PROACTIVE insights.
4323	//
4324	// Type is a required field
4325	Type *string `type:"string" required:"true" enum:"InsightType"`
4326}
4327
4328// String returns the string representation
4329func (s ListInsightsOngoingStatusFilter) String() string {
4330	return awsutil.Prettify(s)
4331}
4332
4333// GoString returns the string representation
4334func (s ListInsightsOngoingStatusFilter) GoString() string {
4335	return s.String()
4336}
4337
4338// Validate inspects the fields of the type to determine if they are valid.
4339func (s *ListInsightsOngoingStatusFilter) Validate() error {
4340	invalidParams := request.ErrInvalidParams{Context: "ListInsightsOngoingStatusFilter"}
4341	if s.Type == nil {
4342		invalidParams.Add(request.NewErrParamRequired("Type"))
4343	}
4344
4345	if invalidParams.Len() > 0 {
4346		return invalidParams
4347	}
4348	return nil
4349}
4350
4351// SetType sets the Type field's value.
4352func (s *ListInsightsOngoingStatusFilter) SetType(v string) *ListInsightsOngoingStatusFilter {
4353	s.Type = &v
4354	return s
4355}
4356
4357type ListInsightsOutput struct {
4358	_ struct{} `type:"structure"`
4359
4360	// The pagination token to use to retrieve the next page of results for this
4361	// operation. If there are no more pages, this value is null.
4362	NextToken *string `min:"36" type:"string"`
4363
4364	// The returned list of proactive insights.
4365	ProactiveInsights []*ProactiveInsightSummary `type:"list"`
4366
4367	// The returned list of reactive insights.
4368	ReactiveInsights []*ReactiveInsightSummary `type:"list"`
4369}
4370
4371// String returns the string representation
4372func (s ListInsightsOutput) String() string {
4373	return awsutil.Prettify(s)
4374}
4375
4376// GoString returns the string representation
4377func (s ListInsightsOutput) GoString() string {
4378	return s.String()
4379}
4380
4381// SetNextToken sets the NextToken field's value.
4382func (s *ListInsightsOutput) SetNextToken(v string) *ListInsightsOutput {
4383	s.NextToken = &v
4384	return s
4385}
4386
4387// SetProactiveInsights sets the ProactiveInsights field's value.
4388func (s *ListInsightsOutput) SetProactiveInsights(v []*ProactiveInsightSummary) *ListInsightsOutput {
4389	s.ProactiveInsights = v
4390	return s
4391}
4392
4393// SetReactiveInsights sets the ReactiveInsights field's value.
4394func (s *ListInsightsOutput) SetReactiveInsights(v []*ReactiveInsightSummary) *ListInsightsOutput {
4395	s.ReactiveInsights = v
4396	return s
4397}
4398
4399// A filter used by ListInsights to specify which insights to return.
4400type ListInsightsStatusFilter struct {
4401	_ struct{} `type:"structure"`
4402
4403	// A ListInsightsAnyStatusFilter that specifies insights of any status that
4404	// are either REACTIVE or PROACTIVE.
4405	Any *ListInsightsAnyStatusFilter `type:"structure"`
4406
4407	// A ListInsightsClosedStatusFilter that specifies closed insights that are
4408	// either REACTIVE or PROACTIVE.
4409	Closed *ListInsightsClosedStatusFilter `type:"structure"`
4410
4411	// A ListInsightsAnyStatusFilter that specifies ongoing insights that are either
4412	// REACTIVE or PROACTIVE.
4413	Ongoing *ListInsightsOngoingStatusFilter `type:"structure"`
4414}
4415
4416// String returns the string representation
4417func (s ListInsightsStatusFilter) String() string {
4418	return awsutil.Prettify(s)
4419}
4420
4421// GoString returns the string representation
4422func (s ListInsightsStatusFilter) GoString() string {
4423	return s.String()
4424}
4425
4426// Validate inspects the fields of the type to determine if they are valid.
4427func (s *ListInsightsStatusFilter) Validate() error {
4428	invalidParams := request.ErrInvalidParams{Context: "ListInsightsStatusFilter"}
4429	if s.Any != nil {
4430		if err := s.Any.Validate(); err != nil {
4431			invalidParams.AddNested("Any", err.(request.ErrInvalidParams))
4432		}
4433	}
4434	if s.Closed != nil {
4435		if err := s.Closed.Validate(); err != nil {
4436			invalidParams.AddNested("Closed", err.(request.ErrInvalidParams))
4437		}
4438	}
4439	if s.Ongoing != nil {
4440		if err := s.Ongoing.Validate(); err != nil {
4441			invalidParams.AddNested("Ongoing", err.(request.ErrInvalidParams))
4442		}
4443	}
4444
4445	if invalidParams.Len() > 0 {
4446		return invalidParams
4447	}
4448	return nil
4449}
4450
4451// SetAny sets the Any field's value.
4452func (s *ListInsightsStatusFilter) SetAny(v *ListInsightsAnyStatusFilter) *ListInsightsStatusFilter {
4453	s.Any = v
4454	return s
4455}
4456
4457// SetClosed sets the Closed field's value.
4458func (s *ListInsightsStatusFilter) SetClosed(v *ListInsightsClosedStatusFilter) *ListInsightsStatusFilter {
4459	s.Closed = v
4460	return s
4461}
4462
4463// SetOngoing sets the Ongoing field's value.
4464func (s *ListInsightsStatusFilter) SetOngoing(v *ListInsightsOngoingStatusFilter) *ListInsightsStatusFilter {
4465	s.Ongoing = v
4466	return s
4467}
4468
4469type ListNotificationChannelsInput struct {
4470	_ struct{} `type:"structure"`
4471
4472	// The pagination token to use to retrieve the next page of results for this
4473	// operation. If this value is null, it retrieves the first page.
4474	NextToken *string `min:"36" type:"string"`
4475}
4476
4477// String returns the string representation
4478func (s ListNotificationChannelsInput) String() string {
4479	return awsutil.Prettify(s)
4480}
4481
4482// GoString returns the string representation
4483func (s ListNotificationChannelsInput) GoString() string {
4484	return s.String()
4485}
4486
4487// Validate inspects the fields of the type to determine if they are valid.
4488func (s *ListNotificationChannelsInput) Validate() error {
4489	invalidParams := request.ErrInvalidParams{Context: "ListNotificationChannelsInput"}
4490	if s.NextToken != nil && len(*s.NextToken) < 36 {
4491		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
4492	}
4493
4494	if invalidParams.Len() > 0 {
4495		return invalidParams
4496	}
4497	return nil
4498}
4499
4500// SetNextToken sets the NextToken field's value.
4501func (s *ListNotificationChannelsInput) SetNextToken(v string) *ListNotificationChannelsInput {
4502	s.NextToken = &v
4503	return s
4504}
4505
4506type ListNotificationChannelsOutput struct {
4507	_ struct{} `type:"structure"`
4508
4509	// An array that contains the requested notification channels.
4510	Channels []*NotificationChannel `type:"list"`
4511
4512	// The pagination token to use to retrieve the next page of results for this
4513	// operation. If there are no more pages, this value is null.
4514	NextToken *string `min:"36" type:"string"`
4515}
4516
4517// String returns the string representation
4518func (s ListNotificationChannelsOutput) String() string {
4519	return awsutil.Prettify(s)
4520}
4521
4522// GoString returns the string representation
4523func (s ListNotificationChannelsOutput) GoString() string {
4524	return s.String()
4525}
4526
4527// SetChannels sets the Channels field's value.
4528func (s *ListNotificationChannelsOutput) SetChannels(v []*NotificationChannel) *ListNotificationChannelsOutput {
4529	s.Channels = v
4530	return s
4531}
4532
4533// SetNextToken sets the NextToken field's value.
4534func (s *ListNotificationChannelsOutput) SetNextToken(v string) *ListNotificationChannelsOutput {
4535	s.NextToken = &v
4536	return s
4537}
4538
4539type ListRecommendationsInput struct {
4540	_ struct{} `type:"structure"`
4541
4542	// The ID of the requested insight.
4543	//
4544	// InsightId is a required field
4545	InsightId *string `min:"1" type:"string" required:"true"`
4546
4547	// The pagination token to use to retrieve the next page of results for this
4548	// operation. If this value is null, it retrieves the first page.
4549	NextToken *string `min:"36" type:"string"`
4550}
4551
4552// String returns the string representation
4553func (s ListRecommendationsInput) String() string {
4554	return awsutil.Prettify(s)
4555}
4556
4557// GoString returns the string representation
4558func (s ListRecommendationsInput) GoString() string {
4559	return s.String()
4560}
4561
4562// Validate inspects the fields of the type to determine if they are valid.
4563func (s *ListRecommendationsInput) Validate() error {
4564	invalidParams := request.ErrInvalidParams{Context: "ListRecommendationsInput"}
4565	if s.InsightId == nil {
4566		invalidParams.Add(request.NewErrParamRequired("InsightId"))
4567	}
4568	if s.InsightId != nil && len(*s.InsightId) < 1 {
4569		invalidParams.Add(request.NewErrParamMinLen("InsightId", 1))
4570	}
4571	if s.NextToken != nil && len(*s.NextToken) < 36 {
4572		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
4573	}
4574
4575	if invalidParams.Len() > 0 {
4576		return invalidParams
4577	}
4578	return nil
4579}
4580
4581// SetInsightId sets the InsightId field's value.
4582func (s *ListRecommendationsInput) SetInsightId(v string) *ListRecommendationsInput {
4583	s.InsightId = &v
4584	return s
4585}
4586
4587// SetNextToken sets the NextToken field's value.
4588func (s *ListRecommendationsInput) SetNextToken(v string) *ListRecommendationsInput {
4589	s.NextToken = &v
4590	return s
4591}
4592
4593type ListRecommendationsOutput struct {
4594	_ struct{} `type:"structure"`
4595
4596	// The pagination token to use to retrieve the next page of results for this
4597	// operation. If there are no more pages, this value is null.
4598	NextToken *string `min:"36" type:"string"`
4599
4600	// An array of the requested recommendations.
4601	Recommendations []*Recommendation `type:"list"`
4602}
4603
4604// String returns the string representation
4605func (s ListRecommendationsOutput) String() string {
4606	return awsutil.Prettify(s)
4607}
4608
4609// GoString returns the string representation
4610func (s ListRecommendationsOutput) GoString() string {
4611	return s.String()
4612}
4613
4614// SetNextToken sets the NextToken field's value.
4615func (s *ListRecommendationsOutput) SetNextToken(v string) *ListRecommendationsOutput {
4616	s.NextToken = &v
4617	return s
4618}
4619
4620// SetRecommendations sets the Recommendations field's value.
4621func (s *ListRecommendationsOutput) SetRecommendations(v []*Recommendation) *ListRecommendationsOutput {
4622	s.Recommendations = v
4623	return s
4624}
4625
4626// Information about a notification channel. A notification channel is used
4627// to notify you when DevOps Guru creates an insight. The one supported notification
4628// channel is Amazon Simple Notification Service (Amazon SNS).
4629//
4630// If you use an Amazon SNS topic in another account, you must attach a policy
4631// to it that grants DevOps Guru permission to it notifications. DevOps Guru
4632// adds the required policy on your behalf to send notifications using Amazon
4633// SNS in your account. For more information, see Permissions for cross account
4634// Amazon SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html).
4635//
4636// If you use an Amazon SNS topic that is encrypted by an AWS Key Management
4637// Service customer-managed key (CMK), then you must add permissions to the
4638// CMK. For more information, see Permissions for AWS KMS–encrypted Amazon
4639// SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html).
4640type NotificationChannel struct {
4641	_ struct{} `type:"structure"`
4642
4643	// A NotificationChannelConfig object that contains information about configured
4644	// notification channels.
4645	Config *NotificationChannelConfig `type:"structure"`
4646
4647	// The ID of a notification channel.
4648	Id *string `min:"36" type:"string"`
4649}
4650
4651// String returns the string representation
4652func (s NotificationChannel) String() string {
4653	return awsutil.Prettify(s)
4654}
4655
4656// GoString returns the string representation
4657func (s NotificationChannel) GoString() string {
4658	return s.String()
4659}
4660
4661// SetConfig sets the Config field's value.
4662func (s *NotificationChannel) SetConfig(v *NotificationChannelConfig) *NotificationChannel {
4663	s.Config = v
4664	return s
4665}
4666
4667// SetId sets the Id field's value.
4668func (s *NotificationChannel) SetId(v string) *NotificationChannel {
4669	s.Id = &v
4670	return s
4671}
4672
4673// Information about notification channels you have configured with DevOps Guru.
4674// The one supported notification channel is Amazon Simple Notification Service
4675// (Amazon SNS).
4676type NotificationChannelConfig struct {
4677	_ struct{} `type:"structure"`
4678
4679	// Information about a notification channel configured in DevOps Guru to send
4680	// notifications when insights are created.
4681	//
4682	// If you use an Amazon SNS topic in another account, you must attach a policy
4683	// to it that grants DevOps Guru permission to it notifications. DevOps Guru
4684	// adds the required policy on your behalf to send notifications using Amazon
4685	// SNS in your account. For more information, see Permissions for cross account
4686	// Amazon SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html).
4687	//
4688	// If you use an Amazon SNS topic that is encrypted by an AWS Key Management
4689	// Service customer-managed key (CMK), then you must add permissions to the
4690	// CMK. For more information, see Permissions for AWS KMS–encrypted Amazon
4691	// SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html).
4692	//
4693	// Sns is a required field
4694	Sns *SnsChannelConfig `type:"structure" required:"true"`
4695}
4696
4697// String returns the string representation
4698func (s NotificationChannelConfig) String() string {
4699	return awsutil.Prettify(s)
4700}
4701
4702// GoString returns the string representation
4703func (s NotificationChannelConfig) GoString() string {
4704	return s.String()
4705}
4706
4707// Validate inspects the fields of the type to determine if they are valid.
4708func (s *NotificationChannelConfig) Validate() error {
4709	invalidParams := request.ErrInvalidParams{Context: "NotificationChannelConfig"}
4710	if s.Sns == nil {
4711		invalidParams.Add(request.NewErrParamRequired("Sns"))
4712	}
4713	if s.Sns != nil {
4714		if err := s.Sns.Validate(); err != nil {
4715			invalidParams.AddNested("Sns", err.(request.ErrInvalidParams))
4716		}
4717	}
4718
4719	if invalidParams.Len() > 0 {
4720		return invalidParams
4721	}
4722	return nil
4723}
4724
4725// SetSns sets the Sns field's value.
4726func (s *NotificationChannelConfig) SetSns(v *SnsChannelConfig) *NotificationChannelConfig {
4727	s.Sns = v
4728	return s
4729}
4730
4731// Information about whether DevOps Guru is configured to create an OpsItem
4732// in AWS Systems Manager OpsCenter for each created insight.
4733type OpsCenterIntegration struct {
4734	_ struct{} `type:"structure"`
4735
4736	// Specifies if DevOps Guru is enabled to create an AWS Systems Manager OpsItem
4737	// for each created insight.
4738	OptInStatus *string `type:"string" enum:"OptInStatus"`
4739}
4740
4741// String returns the string representation
4742func (s OpsCenterIntegration) String() string {
4743	return awsutil.Prettify(s)
4744}
4745
4746// GoString returns the string representation
4747func (s OpsCenterIntegration) GoString() string {
4748	return s.String()
4749}
4750
4751// SetOptInStatus sets the OptInStatus field's value.
4752func (s *OpsCenterIntegration) SetOptInStatus(v string) *OpsCenterIntegration {
4753	s.OptInStatus = &v
4754	return s
4755}
4756
4757// Information about whether DevOps Guru is configured to create an OpsItem
4758// in AWS Systems Manager OpsCenter for each created insight.
4759type OpsCenterIntegrationConfig struct {
4760	_ struct{} `type:"structure"`
4761
4762	// Specifies if DevOps Guru is enabled to create an AWS Systems Manager OpsItem
4763	// for each created insight.
4764	OptInStatus *string `type:"string" enum:"OptInStatus"`
4765}
4766
4767// String returns the string representation
4768func (s OpsCenterIntegrationConfig) String() string {
4769	return awsutil.Prettify(s)
4770}
4771
4772// GoString returns the string representation
4773func (s OpsCenterIntegrationConfig) GoString() string {
4774	return s.String()
4775}
4776
4777// SetOptInStatus sets the OptInStatus field's value.
4778func (s *OpsCenterIntegrationConfig) SetOptInStatus(v string) *OpsCenterIntegrationConfig {
4779	s.OptInStatus = &v
4780	return s
4781}
4782
4783// The time range during which anomalous behavior in a proactive anomaly or
4784// an insight is expected to occur.
4785type PredictionTimeRange struct {
4786	_ struct{} `type:"structure"`
4787
4788	// The time when the behavior in a proactive insight is expected to end.
4789	EndTime *time.Time `type:"timestamp"`
4790
4791	// The time range during which a metric limit is expected to be exceeded. This
4792	// applies to proactive insights only.
4793	//
4794	// StartTime is a required field
4795	StartTime *time.Time `type:"timestamp" required:"true"`
4796}
4797
4798// String returns the string representation
4799func (s PredictionTimeRange) String() string {
4800	return awsutil.Prettify(s)
4801}
4802
4803// GoString returns the string representation
4804func (s PredictionTimeRange) GoString() string {
4805	return s.String()
4806}
4807
4808// SetEndTime sets the EndTime field's value.
4809func (s *PredictionTimeRange) SetEndTime(v time.Time) *PredictionTimeRange {
4810	s.EndTime = &v
4811	return s
4812}
4813
4814// SetStartTime sets the StartTime field's value.
4815func (s *PredictionTimeRange) SetStartTime(v time.Time) *PredictionTimeRange {
4816	s.StartTime = &v
4817	return s
4818}
4819
4820// Information about an anomaly. This object is returned by ListAnomalies.
4821type ProactiveAnomaly struct {
4822	_ struct{} `type:"structure"`
4823
4824	// A time range that specifies when the observed unusual behavior in an anomaly
4825	// started and ended.
4826	AnomalyTimeRange *AnomalyTimeRange `type:"structure"`
4827
4828	// The ID of the insight that contains this anomaly. An insight is composed
4829	// of related anomalies.
4830	AssociatedInsightId *string `min:"1" type:"string"`
4831
4832	// The ID of a proactive anomaly.
4833	Id *string `min:"1" type:"string"`
4834
4835	// A threshold that was exceeded by behavior in analyzed resources. Exceeding
4836	// this threshold is related to the anomalous behavior that generated this anomaly.
4837	Limit *float64 `type:"double"`
4838
4839	// The time range during which anomalous behavior in a proactive anomaly or
4840	// an insight is expected to occur.
4841	PredictionTimeRange *PredictionTimeRange `type:"structure"`
4842
4843	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
4844	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
4845	// be configured to analyze only the AWS resources that are defined in the stacks.
4846	ResourceCollection *ResourceCollection `type:"structure"`
4847
4848	// The severity of a proactive anomaly.
4849	Severity *string `type:"string" enum:"AnomalySeverity"`
4850
4851	// Details about the source of the analyzed operational data that triggered
4852	// the anomaly. The one supported source is Amazon CloudWatch metrics.
4853	SourceDetails *AnomalySourceDetails `type:"structure"`
4854
4855	// The status of a proactive anomaly.
4856	Status *string `type:"string" enum:"AnomalyStatus"`
4857
4858	// The time of the anomaly's most recent update.
4859	UpdateTime *time.Time `type:"timestamp"`
4860}
4861
4862// String returns the string representation
4863func (s ProactiveAnomaly) String() string {
4864	return awsutil.Prettify(s)
4865}
4866
4867// GoString returns the string representation
4868func (s ProactiveAnomaly) GoString() string {
4869	return s.String()
4870}
4871
4872// SetAnomalyTimeRange sets the AnomalyTimeRange field's value.
4873func (s *ProactiveAnomaly) SetAnomalyTimeRange(v *AnomalyTimeRange) *ProactiveAnomaly {
4874	s.AnomalyTimeRange = v
4875	return s
4876}
4877
4878// SetAssociatedInsightId sets the AssociatedInsightId field's value.
4879func (s *ProactiveAnomaly) SetAssociatedInsightId(v string) *ProactiveAnomaly {
4880	s.AssociatedInsightId = &v
4881	return s
4882}
4883
4884// SetId sets the Id field's value.
4885func (s *ProactiveAnomaly) SetId(v string) *ProactiveAnomaly {
4886	s.Id = &v
4887	return s
4888}
4889
4890// SetLimit sets the Limit field's value.
4891func (s *ProactiveAnomaly) SetLimit(v float64) *ProactiveAnomaly {
4892	s.Limit = &v
4893	return s
4894}
4895
4896// SetPredictionTimeRange sets the PredictionTimeRange field's value.
4897func (s *ProactiveAnomaly) SetPredictionTimeRange(v *PredictionTimeRange) *ProactiveAnomaly {
4898	s.PredictionTimeRange = v
4899	return s
4900}
4901
4902// SetResourceCollection sets the ResourceCollection field's value.
4903func (s *ProactiveAnomaly) SetResourceCollection(v *ResourceCollection) *ProactiveAnomaly {
4904	s.ResourceCollection = v
4905	return s
4906}
4907
4908// SetSeverity sets the Severity field's value.
4909func (s *ProactiveAnomaly) SetSeverity(v string) *ProactiveAnomaly {
4910	s.Severity = &v
4911	return s
4912}
4913
4914// SetSourceDetails sets the SourceDetails field's value.
4915func (s *ProactiveAnomaly) SetSourceDetails(v *AnomalySourceDetails) *ProactiveAnomaly {
4916	s.SourceDetails = v
4917	return s
4918}
4919
4920// SetStatus sets the Status field's value.
4921func (s *ProactiveAnomaly) SetStatus(v string) *ProactiveAnomaly {
4922	s.Status = &v
4923	return s
4924}
4925
4926// SetUpdateTime sets the UpdateTime field's value.
4927func (s *ProactiveAnomaly) SetUpdateTime(v time.Time) *ProactiveAnomaly {
4928	s.UpdateTime = &v
4929	return s
4930}
4931
4932// Details about a proactive anomaly. This object is returned by DescribeAnomaly.
4933type ProactiveAnomalySummary struct {
4934	_ struct{} `type:"structure"`
4935
4936	// A time range that specifies when the observed unusual behavior in an anomaly
4937	// started and ended.
4938	AnomalyTimeRange *AnomalyTimeRange `type:"structure"`
4939
4940	// The ID of the insight that contains this anomaly. An insight is composed
4941	// of related anomalies.
4942	AssociatedInsightId *string `min:"1" type:"string"`
4943
4944	// The ID of the anomaly.
4945	Id *string `min:"1" type:"string"`
4946
4947	// A threshold that was exceeded by behavior in analyzed resources. Exceeding
4948	// this threshold is related to the anomalous behavior that generated this anomaly.
4949	Limit *float64 `type:"double"`
4950
4951	// The time range during which anomalous behavior in a proactive anomaly or
4952	// an insight is expected to occur.
4953	PredictionTimeRange *PredictionTimeRange `type:"structure"`
4954
4955	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
4956	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
4957	// be configured to analyze only the AWS resources that are defined in the stacks.
4958	ResourceCollection *ResourceCollection `type:"structure"`
4959
4960	// The severity of the anomaly.
4961	Severity *string `type:"string" enum:"AnomalySeverity"`
4962
4963	// Details about the source of the analyzed operational data that triggered
4964	// the anomaly. The one supported source is Amazon CloudWatch metrics.
4965	SourceDetails *AnomalySourceDetails `type:"structure"`
4966
4967	// The status of the anomaly.
4968	Status *string `type:"string" enum:"AnomalyStatus"`
4969
4970	// The time of the anomaly's most recent update.
4971	UpdateTime *time.Time `type:"timestamp"`
4972}
4973
4974// String returns the string representation
4975func (s ProactiveAnomalySummary) String() string {
4976	return awsutil.Prettify(s)
4977}
4978
4979// GoString returns the string representation
4980func (s ProactiveAnomalySummary) GoString() string {
4981	return s.String()
4982}
4983
4984// SetAnomalyTimeRange sets the AnomalyTimeRange field's value.
4985func (s *ProactiveAnomalySummary) SetAnomalyTimeRange(v *AnomalyTimeRange) *ProactiveAnomalySummary {
4986	s.AnomalyTimeRange = v
4987	return s
4988}
4989
4990// SetAssociatedInsightId sets the AssociatedInsightId field's value.
4991func (s *ProactiveAnomalySummary) SetAssociatedInsightId(v string) *ProactiveAnomalySummary {
4992	s.AssociatedInsightId = &v
4993	return s
4994}
4995
4996// SetId sets the Id field's value.
4997func (s *ProactiveAnomalySummary) SetId(v string) *ProactiveAnomalySummary {
4998	s.Id = &v
4999	return s
5000}
5001
5002// SetLimit sets the Limit field's value.
5003func (s *ProactiveAnomalySummary) SetLimit(v float64) *ProactiveAnomalySummary {
5004	s.Limit = &v
5005	return s
5006}
5007
5008// SetPredictionTimeRange sets the PredictionTimeRange field's value.
5009func (s *ProactiveAnomalySummary) SetPredictionTimeRange(v *PredictionTimeRange) *ProactiveAnomalySummary {
5010	s.PredictionTimeRange = v
5011	return s
5012}
5013
5014// SetResourceCollection sets the ResourceCollection field's value.
5015func (s *ProactiveAnomalySummary) SetResourceCollection(v *ResourceCollection) *ProactiveAnomalySummary {
5016	s.ResourceCollection = v
5017	return s
5018}
5019
5020// SetSeverity sets the Severity field's value.
5021func (s *ProactiveAnomalySummary) SetSeverity(v string) *ProactiveAnomalySummary {
5022	s.Severity = &v
5023	return s
5024}
5025
5026// SetSourceDetails sets the SourceDetails field's value.
5027func (s *ProactiveAnomalySummary) SetSourceDetails(v *AnomalySourceDetails) *ProactiveAnomalySummary {
5028	s.SourceDetails = v
5029	return s
5030}
5031
5032// SetStatus sets the Status field's value.
5033func (s *ProactiveAnomalySummary) SetStatus(v string) *ProactiveAnomalySummary {
5034	s.Status = &v
5035	return s
5036}
5037
5038// SetUpdateTime sets the UpdateTime field's value.
5039func (s *ProactiveAnomalySummary) SetUpdateTime(v time.Time) *ProactiveAnomalySummary {
5040	s.UpdateTime = &v
5041	return s
5042}
5043
5044// Details about a proactive insight. This object is returned by ListInsights.
5045type ProactiveInsight struct {
5046	_ struct{} `type:"structure"`
5047
5048	// The ID of the proactive insight.
5049	Id *string `min:"1" type:"string"`
5050
5051	// A time ranged that specifies when the observed behavior in an insight started
5052	// and ended.
5053	InsightTimeRange *InsightTimeRange `type:"structure"`
5054
5055	// The name of the proactive insight.
5056	Name *string `min:"1" type:"string"`
5057
5058	// The time range during which anomalous behavior in a proactive anomaly or
5059	// an insight is expected to occur.
5060	PredictionTimeRange *PredictionTimeRange `type:"structure"`
5061
5062	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
5063	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
5064	// be configured to analyze only the AWS resources that are defined in the stacks.
5065	ResourceCollection *ResourceCollection `type:"structure"`
5066
5067	// The severity of the proactive insight.
5068	Severity *string `type:"string" enum:"InsightSeverity"`
5069
5070	// The ID of the AWS System Manager OpsItem created for this insight. You must
5071	// enable the creation of OpstItems insights before they are created for each
5072	// insight.
5073	SsmOpsItemId *string `min:"1" type:"string"`
5074
5075	// The status of the proactive insight.
5076	Status *string `type:"string" enum:"InsightStatus"`
5077}
5078
5079// String returns the string representation
5080func (s ProactiveInsight) String() string {
5081	return awsutil.Prettify(s)
5082}
5083
5084// GoString returns the string representation
5085func (s ProactiveInsight) GoString() string {
5086	return s.String()
5087}
5088
5089// SetId sets the Id field's value.
5090func (s *ProactiveInsight) SetId(v string) *ProactiveInsight {
5091	s.Id = &v
5092	return s
5093}
5094
5095// SetInsightTimeRange sets the InsightTimeRange field's value.
5096func (s *ProactiveInsight) SetInsightTimeRange(v *InsightTimeRange) *ProactiveInsight {
5097	s.InsightTimeRange = v
5098	return s
5099}
5100
5101// SetName sets the Name field's value.
5102func (s *ProactiveInsight) SetName(v string) *ProactiveInsight {
5103	s.Name = &v
5104	return s
5105}
5106
5107// SetPredictionTimeRange sets the PredictionTimeRange field's value.
5108func (s *ProactiveInsight) SetPredictionTimeRange(v *PredictionTimeRange) *ProactiveInsight {
5109	s.PredictionTimeRange = v
5110	return s
5111}
5112
5113// SetResourceCollection sets the ResourceCollection field's value.
5114func (s *ProactiveInsight) SetResourceCollection(v *ResourceCollection) *ProactiveInsight {
5115	s.ResourceCollection = v
5116	return s
5117}
5118
5119// SetSeverity sets the Severity field's value.
5120func (s *ProactiveInsight) SetSeverity(v string) *ProactiveInsight {
5121	s.Severity = &v
5122	return s
5123}
5124
5125// SetSsmOpsItemId sets the SsmOpsItemId field's value.
5126func (s *ProactiveInsight) SetSsmOpsItemId(v string) *ProactiveInsight {
5127	s.SsmOpsItemId = &v
5128	return s
5129}
5130
5131// SetStatus sets the Status field's value.
5132func (s *ProactiveInsight) SetStatus(v string) *ProactiveInsight {
5133	s.Status = &v
5134	return s
5135}
5136
5137// Details about a proactive insight. This object is returned by DescribeInsight.
5138type ProactiveInsightSummary struct {
5139	_ struct{} `type:"structure"`
5140
5141	// The ID of the proactive insight.
5142	Id *string `min:"1" type:"string"`
5143
5144	// A time ranged that specifies when the observed behavior in an insight started
5145	// and ended.
5146	InsightTimeRange *InsightTimeRange `type:"structure"`
5147
5148	// The name of the proactive insight.
5149	Name *string `min:"1" type:"string"`
5150
5151	// The time range during which anomalous behavior in a proactive anomaly or
5152	// an insight is expected to occur.
5153	PredictionTimeRange *PredictionTimeRange `type:"structure"`
5154
5155	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
5156	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
5157	// be configured to analyze only the AWS resources that are defined in the stacks.
5158	ResourceCollection *ResourceCollection `type:"structure"`
5159
5160	// The severity of the proactive insight.
5161	Severity *string `type:"string" enum:"InsightSeverity"`
5162
5163	// The status of the proactive insight.
5164	Status *string `type:"string" enum:"InsightStatus"`
5165}
5166
5167// String returns the string representation
5168func (s ProactiveInsightSummary) String() string {
5169	return awsutil.Prettify(s)
5170}
5171
5172// GoString returns the string representation
5173func (s ProactiveInsightSummary) GoString() string {
5174	return s.String()
5175}
5176
5177// SetId sets the Id field's value.
5178func (s *ProactiveInsightSummary) SetId(v string) *ProactiveInsightSummary {
5179	s.Id = &v
5180	return s
5181}
5182
5183// SetInsightTimeRange sets the InsightTimeRange field's value.
5184func (s *ProactiveInsightSummary) SetInsightTimeRange(v *InsightTimeRange) *ProactiveInsightSummary {
5185	s.InsightTimeRange = v
5186	return s
5187}
5188
5189// SetName sets the Name field's value.
5190func (s *ProactiveInsightSummary) SetName(v string) *ProactiveInsightSummary {
5191	s.Name = &v
5192	return s
5193}
5194
5195// SetPredictionTimeRange sets the PredictionTimeRange field's value.
5196func (s *ProactiveInsightSummary) SetPredictionTimeRange(v *PredictionTimeRange) *ProactiveInsightSummary {
5197	s.PredictionTimeRange = v
5198	return s
5199}
5200
5201// SetResourceCollection sets the ResourceCollection field's value.
5202func (s *ProactiveInsightSummary) SetResourceCollection(v *ResourceCollection) *ProactiveInsightSummary {
5203	s.ResourceCollection = v
5204	return s
5205}
5206
5207// SetSeverity sets the Severity field's value.
5208func (s *ProactiveInsightSummary) SetSeverity(v string) *ProactiveInsightSummary {
5209	s.Severity = &v
5210	return s
5211}
5212
5213// SetStatus sets the Status field's value.
5214func (s *ProactiveInsightSummary) SetStatus(v string) *ProactiveInsightSummary {
5215	s.Status = &v
5216	return s
5217}
5218
5219type PutFeedbackInput struct {
5220	_ struct{} `type:"structure"`
5221
5222	// The feedback from customers is about the recommendations in this insight.
5223	InsightFeedback *InsightFeedback `type:"structure"`
5224}
5225
5226// String returns the string representation
5227func (s PutFeedbackInput) String() string {
5228	return awsutil.Prettify(s)
5229}
5230
5231// GoString returns the string representation
5232func (s PutFeedbackInput) GoString() string {
5233	return s.String()
5234}
5235
5236// Validate inspects the fields of the type to determine if they are valid.
5237func (s *PutFeedbackInput) Validate() error {
5238	invalidParams := request.ErrInvalidParams{Context: "PutFeedbackInput"}
5239	if s.InsightFeedback != nil {
5240		if err := s.InsightFeedback.Validate(); err != nil {
5241			invalidParams.AddNested("InsightFeedback", err.(request.ErrInvalidParams))
5242		}
5243	}
5244
5245	if invalidParams.Len() > 0 {
5246		return invalidParams
5247	}
5248	return nil
5249}
5250
5251// SetInsightFeedback sets the InsightFeedback field's value.
5252func (s *PutFeedbackInput) SetInsightFeedback(v *InsightFeedback) *PutFeedbackInput {
5253	s.InsightFeedback = v
5254	return s
5255}
5256
5257type PutFeedbackOutput struct {
5258	_ struct{} `type:"structure"`
5259}
5260
5261// String returns the string representation
5262func (s PutFeedbackOutput) String() string {
5263	return awsutil.Prettify(s)
5264}
5265
5266// GoString returns the string representation
5267func (s PutFeedbackOutput) GoString() string {
5268	return s.String()
5269}
5270
5271// Details about a reactive anomaly. This object is returned by ListAnomalies.
5272type ReactiveAnomaly struct {
5273	_ struct{} `type:"structure"`
5274
5275	// A time range that specifies when the observed unusual behavior in an anomaly
5276	// started and ended.
5277	AnomalyTimeRange *AnomalyTimeRange `type:"structure"`
5278
5279	// The ID of the insight that contains this anomaly. An insight is composed
5280	// of related anomalies.
5281	AssociatedInsightId *string `min:"1" type:"string"`
5282
5283	// The ID of the reactive anomaly.
5284	Id *string `min:"1" type:"string"`
5285
5286	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
5287	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
5288	// be configured to analyze only the AWS resources that are defined in the stacks.
5289	ResourceCollection *ResourceCollection `type:"structure"`
5290
5291	// The severity of the anomaly.
5292	Severity *string `type:"string" enum:"AnomalySeverity"`
5293
5294	// Details about the source of the analyzed operational data that triggered
5295	// the anomaly. The one supported source is Amazon CloudWatch metrics.
5296	SourceDetails *AnomalySourceDetails `type:"structure"`
5297
5298	// The status of the anomaly.
5299	Status *string `type:"string" enum:"AnomalyStatus"`
5300}
5301
5302// String returns the string representation
5303func (s ReactiveAnomaly) String() string {
5304	return awsutil.Prettify(s)
5305}
5306
5307// GoString returns the string representation
5308func (s ReactiveAnomaly) GoString() string {
5309	return s.String()
5310}
5311
5312// SetAnomalyTimeRange sets the AnomalyTimeRange field's value.
5313func (s *ReactiveAnomaly) SetAnomalyTimeRange(v *AnomalyTimeRange) *ReactiveAnomaly {
5314	s.AnomalyTimeRange = v
5315	return s
5316}
5317
5318// SetAssociatedInsightId sets the AssociatedInsightId field's value.
5319func (s *ReactiveAnomaly) SetAssociatedInsightId(v string) *ReactiveAnomaly {
5320	s.AssociatedInsightId = &v
5321	return s
5322}
5323
5324// SetId sets the Id field's value.
5325func (s *ReactiveAnomaly) SetId(v string) *ReactiveAnomaly {
5326	s.Id = &v
5327	return s
5328}
5329
5330// SetResourceCollection sets the ResourceCollection field's value.
5331func (s *ReactiveAnomaly) SetResourceCollection(v *ResourceCollection) *ReactiveAnomaly {
5332	s.ResourceCollection = v
5333	return s
5334}
5335
5336// SetSeverity sets the Severity field's value.
5337func (s *ReactiveAnomaly) SetSeverity(v string) *ReactiveAnomaly {
5338	s.Severity = &v
5339	return s
5340}
5341
5342// SetSourceDetails sets the SourceDetails field's value.
5343func (s *ReactiveAnomaly) SetSourceDetails(v *AnomalySourceDetails) *ReactiveAnomaly {
5344	s.SourceDetails = v
5345	return s
5346}
5347
5348// SetStatus sets the Status field's value.
5349func (s *ReactiveAnomaly) SetStatus(v string) *ReactiveAnomaly {
5350	s.Status = &v
5351	return s
5352}
5353
5354// Details about a reactive anomaly. This object is returned by DescribeAnomaly.
5355type ReactiveAnomalySummary struct {
5356	_ struct{} `type:"structure"`
5357
5358	// A time range that specifies when the observed unusual behavior in an anomaly
5359	// started and ended.
5360	AnomalyTimeRange *AnomalyTimeRange `type:"structure"`
5361
5362	// The ID of the insight that contains this anomaly. An insight is composed
5363	// of related anomalies.
5364	AssociatedInsightId *string `min:"1" type:"string"`
5365
5366	// The ID of the reactive anomaly.
5367	Id *string `min:"1" type:"string"`
5368
5369	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
5370	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
5371	// be configured to analyze only the AWS resources that are defined in the stacks.
5372	ResourceCollection *ResourceCollection `type:"structure"`
5373
5374	// The severity of the reactive anomaly.
5375	Severity *string `type:"string" enum:"AnomalySeverity"`
5376
5377	// Details about the source of the analyzed operational data that triggered
5378	// the anomaly. The one supported source is Amazon CloudWatch metrics.
5379	SourceDetails *AnomalySourceDetails `type:"structure"`
5380
5381	// The status of the reactive anomaly.
5382	Status *string `type:"string" enum:"AnomalyStatus"`
5383}
5384
5385// String returns the string representation
5386func (s ReactiveAnomalySummary) String() string {
5387	return awsutil.Prettify(s)
5388}
5389
5390// GoString returns the string representation
5391func (s ReactiveAnomalySummary) GoString() string {
5392	return s.String()
5393}
5394
5395// SetAnomalyTimeRange sets the AnomalyTimeRange field's value.
5396func (s *ReactiveAnomalySummary) SetAnomalyTimeRange(v *AnomalyTimeRange) *ReactiveAnomalySummary {
5397	s.AnomalyTimeRange = v
5398	return s
5399}
5400
5401// SetAssociatedInsightId sets the AssociatedInsightId field's value.
5402func (s *ReactiveAnomalySummary) SetAssociatedInsightId(v string) *ReactiveAnomalySummary {
5403	s.AssociatedInsightId = &v
5404	return s
5405}
5406
5407// SetId sets the Id field's value.
5408func (s *ReactiveAnomalySummary) SetId(v string) *ReactiveAnomalySummary {
5409	s.Id = &v
5410	return s
5411}
5412
5413// SetResourceCollection sets the ResourceCollection field's value.
5414func (s *ReactiveAnomalySummary) SetResourceCollection(v *ResourceCollection) *ReactiveAnomalySummary {
5415	s.ResourceCollection = v
5416	return s
5417}
5418
5419// SetSeverity sets the Severity field's value.
5420func (s *ReactiveAnomalySummary) SetSeverity(v string) *ReactiveAnomalySummary {
5421	s.Severity = &v
5422	return s
5423}
5424
5425// SetSourceDetails sets the SourceDetails field's value.
5426func (s *ReactiveAnomalySummary) SetSourceDetails(v *AnomalySourceDetails) *ReactiveAnomalySummary {
5427	s.SourceDetails = v
5428	return s
5429}
5430
5431// SetStatus sets the Status field's value.
5432func (s *ReactiveAnomalySummary) SetStatus(v string) *ReactiveAnomalySummary {
5433	s.Status = &v
5434	return s
5435}
5436
5437// Information about a reactive insight. This object is returned by ListInsights.
5438type ReactiveInsight struct {
5439	_ struct{} `type:"structure"`
5440
5441	// The ID of a reactive insight.
5442	Id *string `min:"1" type:"string"`
5443
5444	// A time ranged that specifies when the observed behavior in an insight started
5445	// and ended.
5446	InsightTimeRange *InsightTimeRange `type:"structure"`
5447
5448	// The name of a reactive insight.
5449	Name *string `min:"1" type:"string"`
5450
5451	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
5452	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
5453	// be configured to analyze only the AWS resources that are defined in the stacks.
5454	ResourceCollection *ResourceCollection `type:"structure"`
5455
5456	// The severity of a reactive insight.
5457	Severity *string `type:"string" enum:"InsightSeverity"`
5458
5459	// The ID of the AWS System Manager OpsItem created for this insight. You must
5460	// enable the creation of OpstItems insights before they are created for each
5461	// insight.
5462	SsmOpsItemId *string `min:"1" type:"string"`
5463
5464	// The status of a reactive insight.
5465	Status *string `type:"string" enum:"InsightStatus"`
5466}
5467
5468// String returns the string representation
5469func (s ReactiveInsight) String() string {
5470	return awsutil.Prettify(s)
5471}
5472
5473// GoString returns the string representation
5474func (s ReactiveInsight) GoString() string {
5475	return s.String()
5476}
5477
5478// SetId sets the Id field's value.
5479func (s *ReactiveInsight) SetId(v string) *ReactiveInsight {
5480	s.Id = &v
5481	return s
5482}
5483
5484// SetInsightTimeRange sets the InsightTimeRange field's value.
5485func (s *ReactiveInsight) SetInsightTimeRange(v *InsightTimeRange) *ReactiveInsight {
5486	s.InsightTimeRange = v
5487	return s
5488}
5489
5490// SetName sets the Name field's value.
5491func (s *ReactiveInsight) SetName(v string) *ReactiveInsight {
5492	s.Name = &v
5493	return s
5494}
5495
5496// SetResourceCollection sets the ResourceCollection field's value.
5497func (s *ReactiveInsight) SetResourceCollection(v *ResourceCollection) *ReactiveInsight {
5498	s.ResourceCollection = v
5499	return s
5500}
5501
5502// SetSeverity sets the Severity field's value.
5503func (s *ReactiveInsight) SetSeverity(v string) *ReactiveInsight {
5504	s.Severity = &v
5505	return s
5506}
5507
5508// SetSsmOpsItemId sets the SsmOpsItemId field's value.
5509func (s *ReactiveInsight) SetSsmOpsItemId(v string) *ReactiveInsight {
5510	s.SsmOpsItemId = &v
5511	return s
5512}
5513
5514// SetStatus sets the Status field's value.
5515func (s *ReactiveInsight) SetStatus(v string) *ReactiveInsight {
5516	s.Status = &v
5517	return s
5518}
5519
5520// Information about a reactive insight. This object is returned by DescribeInsight.
5521type ReactiveInsightSummary struct {
5522	_ struct{} `type:"structure"`
5523
5524	// The ID of a reactive summary.
5525	Id *string `min:"1" type:"string"`
5526
5527	// A time ranged that specifies when the observed behavior in an insight started
5528	// and ended.
5529	InsightTimeRange *InsightTimeRange `type:"structure"`
5530
5531	// The name of a reactive insight.
5532	Name *string `min:"1" type:"string"`
5533
5534	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
5535	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
5536	// be configured to analyze only the AWS resources that are defined in the stacks.
5537	ResourceCollection *ResourceCollection `type:"structure"`
5538
5539	// The severity of a reactive insight.
5540	Severity *string `type:"string" enum:"InsightSeverity"`
5541
5542	// The status of a reactive insight.
5543	Status *string `type:"string" enum:"InsightStatus"`
5544}
5545
5546// String returns the string representation
5547func (s ReactiveInsightSummary) String() string {
5548	return awsutil.Prettify(s)
5549}
5550
5551// GoString returns the string representation
5552func (s ReactiveInsightSummary) GoString() string {
5553	return s.String()
5554}
5555
5556// SetId sets the Id field's value.
5557func (s *ReactiveInsightSummary) SetId(v string) *ReactiveInsightSummary {
5558	s.Id = &v
5559	return s
5560}
5561
5562// SetInsightTimeRange sets the InsightTimeRange field's value.
5563func (s *ReactiveInsightSummary) SetInsightTimeRange(v *InsightTimeRange) *ReactiveInsightSummary {
5564	s.InsightTimeRange = v
5565	return s
5566}
5567
5568// SetName sets the Name field's value.
5569func (s *ReactiveInsightSummary) SetName(v string) *ReactiveInsightSummary {
5570	s.Name = &v
5571	return s
5572}
5573
5574// SetResourceCollection sets the ResourceCollection field's value.
5575func (s *ReactiveInsightSummary) SetResourceCollection(v *ResourceCollection) *ReactiveInsightSummary {
5576	s.ResourceCollection = v
5577	return s
5578}
5579
5580// SetSeverity sets the Severity field's value.
5581func (s *ReactiveInsightSummary) SetSeverity(v string) *ReactiveInsightSummary {
5582	s.Severity = &v
5583	return s
5584}
5585
5586// SetStatus sets the Status field's value.
5587func (s *ReactiveInsightSummary) SetStatus(v string) *ReactiveInsightSummary {
5588	s.Status = &v
5589	return s
5590}
5591
5592// Recommendation information to help you remediate detected anomalous behavior
5593// that generated an insight.
5594type Recommendation struct {
5595	_ struct{} `type:"structure"`
5596
5597	// A description of the problem.
5598	Description *string `type:"string"`
5599
5600	// A hyperlink to information to help you address the problem.
5601	Link *string `type:"string"`
5602
5603	// The name of the recommendation.
5604	Name *string `type:"string"`
5605
5606	// The reason DevOps Guru flagged the anomalous behavior as a problem.
5607	Reason *string `type:"string"`
5608
5609	// Anomalies that are related to the problem. Use these Anomalies to learn more
5610	// about what's happening and to help address the issue.
5611	RelatedAnomalies []*RecommendationRelatedAnomaly `type:"list"`
5612
5613	// Events that are related to the problem. Use these events to learn more about
5614	// what's happening and to help address the issue.
5615	RelatedEvents []*RecommendationRelatedEvent `type:"list"`
5616}
5617
5618// String returns the string representation
5619func (s Recommendation) String() string {
5620	return awsutil.Prettify(s)
5621}
5622
5623// GoString returns the string representation
5624func (s Recommendation) GoString() string {
5625	return s.String()
5626}
5627
5628// SetDescription sets the Description field's value.
5629func (s *Recommendation) SetDescription(v string) *Recommendation {
5630	s.Description = &v
5631	return s
5632}
5633
5634// SetLink sets the Link field's value.
5635func (s *Recommendation) SetLink(v string) *Recommendation {
5636	s.Link = &v
5637	return s
5638}
5639
5640// SetName sets the Name field's value.
5641func (s *Recommendation) SetName(v string) *Recommendation {
5642	s.Name = &v
5643	return s
5644}
5645
5646// SetReason sets the Reason field's value.
5647func (s *Recommendation) SetReason(v string) *Recommendation {
5648	s.Reason = &v
5649	return s
5650}
5651
5652// SetRelatedAnomalies sets the RelatedAnomalies field's value.
5653func (s *Recommendation) SetRelatedAnomalies(v []*RecommendationRelatedAnomaly) *Recommendation {
5654	s.RelatedAnomalies = v
5655	return s
5656}
5657
5658// SetRelatedEvents sets the RelatedEvents field's value.
5659func (s *Recommendation) SetRelatedEvents(v []*RecommendationRelatedEvent) *Recommendation {
5660	s.RelatedEvents = v
5661	return s
5662}
5663
5664// Information about an anomaly that is related to a recommendation.
5665type RecommendationRelatedAnomaly struct {
5666	_ struct{} `type:"structure"`
5667
5668	// An array of objects that represent resources in which DevOps Guru detected
5669	// anomalous behavior. Each object contains the name and type of the resource.
5670	Resources []*RecommendationRelatedAnomalyResource `type:"list"`
5671
5672	// Information about where the anomalous behavior related the recommendation
5673	// was found. For example, details in Amazon CloudWatch metrics.
5674	SourceDetails []*RecommendationRelatedAnomalySourceDetail `type:"list"`
5675}
5676
5677// String returns the string representation
5678func (s RecommendationRelatedAnomaly) String() string {
5679	return awsutil.Prettify(s)
5680}
5681
5682// GoString returns the string representation
5683func (s RecommendationRelatedAnomaly) GoString() string {
5684	return s.String()
5685}
5686
5687// SetResources sets the Resources field's value.
5688func (s *RecommendationRelatedAnomaly) SetResources(v []*RecommendationRelatedAnomalyResource) *RecommendationRelatedAnomaly {
5689	s.Resources = v
5690	return s
5691}
5692
5693// SetSourceDetails sets the SourceDetails field's value.
5694func (s *RecommendationRelatedAnomaly) SetSourceDetails(v []*RecommendationRelatedAnomalySourceDetail) *RecommendationRelatedAnomaly {
5695	s.SourceDetails = v
5696	return s
5697}
5698
5699// Information about a resource in which DevOps Guru detected anomalous behavior.
5700type RecommendationRelatedAnomalyResource struct {
5701	_ struct{} `type:"structure"`
5702
5703	// The name of the resource.
5704	Name *string `type:"string"`
5705
5706	// The type of the resource.
5707	Type *string `type:"string"`
5708}
5709
5710// String returns the string representation
5711func (s RecommendationRelatedAnomalyResource) String() string {
5712	return awsutil.Prettify(s)
5713}
5714
5715// GoString returns the string representation
5716func (s RecommendationRelatedAnomalyResource) GoString() string {
5717	return s.String()
5718}
5719
5720// SetName sets the Name field's value.
5721func (s *RecommendationRelatedAnomalyResource) SetName(v string) *RecommendationRelatedAnomalyResource {
5722	s.Name = &v
5723	return s
5724}
5725
5726// SetType sets the Type field's value.
5727func (s *RecommendationRelatedAnomalyResource) SetType(v string) *RecommendationRelatedAnomalyResource {
5728	s.Type = &v
5729	return s
5730}
5731
5732// Contains an array of RecommendationRelatedCloudWatchMetricsSourceDetail objects
5733// that contain the name and namespace of an Amazon CloudWatch metric.
5734type RecommendationRelatedAnomalySourceDetail struct {
5735	_ struct{} `type:"structure"`
5736
5737	// An array of CloudWatchMetricsDetail objects that contains information about
5738	// the analyzed metrics that displayed anomalous behavior.
5739	CloudWatchMetrics []*RecommendationRelatedCloudWatchMetricsSourceDetail `type:"list"`
5740}
5741
5742// String returns the string representation
5743func (s RecommendationRelatedAnomalySourceDetail) String() string {
5744	return awsutil.Prettify(s)
5745}
5746
5747// GoString returns the string representation
5748func (s RecommendationRelatedAnomalySourceDetail) GoString() string {
5749	return s.String()
5750}
5751
5752// SetCloudWatchMetrics sets the CloudWatchMetrics field's value.
5753func (s *RecommendationRelatedAnomalySourceDetail) SetCloudWatchMetrics(v []*RecommendationRelatedCloudWatchMetricsSourceDetail) *RecommendationRelatedAnomalySourceDetail {
5754	s.CloudWatchMetrics = v
5755	return s
5756}
5757
5758// Information about an Amazon CloudWatch metric that is analyzed by DevOps
5759// Guru. It is one of many analyzed metrics that are used to generate insights.
5760type RecommendationRelatedCloudWatchMetricsSourceDetail struct {
5761	_ struct{} `type:"structure"`
5762
5763	// The name of the CloudWatch metric.
5764	MetricName *string `type:"string"`
5765
5766	// The namespace of the CloudWatch metric. A namespace is a container for CloudWatch
5767	// metrics.
5768	Namespace *string `type:"string"`
5769}
5770
5771// String returns the string representation
5772func (s RecommendationRelatedCloudWatchMetricsSourceDetail) String() string {
5773	return awsutil.Prettify(s)
5774}
5775
5776// GoString returns the string representation
5777func (s RecommendationRelatedCloudWatchMetricsSourceDetail) GoString() string {
5778	return s.String()
5779}
5780
5781// SetMetricName sets the MetricName field's value.
5782func (s *RecommendationRelatedCloudWatchMetricsSourceDetail) SetMetricName(v string) *RecommendationRelatedCloudWatchMetricsSourceDetail {
5783	s.MetricName = &v
5784	return s
5785}
5786
5787// SetNamespace sets the Namespace field's value.
5788func (s *RecommendationRelatedCloudWatchMetricsSourceDetail) SetNamespace(v string) *RecommendationRelatedCloudWatchMetricsSourceDetail {
5789	s.Namespace = &v
5790	return s
5791}
5792
5793// Information about an event that is related to a recommendation.
5794type RecommendationRelatedEvent struct {
5795	_ struct{} `type:"structure"`
5796
5797	// The name of the event. This corresponds to the Name field in an Event object.
5798	Name *string `type:"string"`
5799
5800	// A ResourceCollection object that contains arrays of the names of AWS CloudFormation
5801	// stacks.
5802	Resources []*RecommendationRelatedEventResource `type:"list"`
5803}
5804
5805// String returns the string representation
5806func (s RecommendationRelatedEvent) String() string {
5807	return awsutil.Prettify(s)
5808}
5809
5810// GoString returns the string representation
5811func (s RecommendationRelatedEvent) GoString() string {
5812	return s.String()
5813}
5814
5815// SetName sets the Name field's value.
5816func (s *RecommendationRelatedEvent) SetName(v string) *RecommendationRelatedEvent {
5817	s.Name = &v
5818	return s
5819}
5820
5821// SetResources sets the Resources field's value.
5822func (s *RecommendationRelatedEvent) SetResources(v []*RecommendationRelatedEventResource) *RecommendationRelatedEvent {
5823	s.Resources = v
5824	return s
5825}
5826
5827// Information about an AWS resource that emitted and event that is related
5828// to a recommendation in an insight.
5829type RecommendationRelatedEventResource struct {
5830	_ struct{} `type:"structure"`
5831
5832	// The name of the resource that emitted the event. This corresponds to the
5833	// Name field in an EventResource object.
5834	Name *string `type:"string"`
5835
5836	// The type of the resource that emitted the event. This corresponds to the
5837	// Type field in an EventResource object.
5838	Type *string `type:"string"`
5839}
5840
5841// String returns the string representation
5842func (s RecommendationRelatedEventResource) String() string {
5843	return awsutil.Prettify(s)
5844}
5845
5846// GoString returns the string representation
5847func (s RecommendationRelatedEventResource) GoString() string {
5848	return s.String()
5849}
5850
5851// SetName sets the Name field's value.
5852func (s *RecommendationRelatedEventResource) SetName(v string) *RecommendationRelatedEventResource {
5853	s.Name = &v
5854	return s
5855}
5856
5857// SetType sets the Type field's value.
5858func (s *RecommendationRelatedEventResource) SetType(v string) *RecommendationRelatedEventResource {
5859	s.Type = &v
5860	return s
5861}
5862
5863type RemoveNotificationChannelInput struct {
5864	_ struct{} `type:"structure"`
5865
5866	// The ID of the notification channel to be removed.
5867	//
5868	// Id is a required field
5869	Id *string `location:"uri" locationName:"Id" min:"36" type:"string" required:"true"`
5870}
5871
5872// String returns the string representation
5873func (s RemoveNotificationChannelInput) String() string {
5874	return awsutil.Prettify(s)
5875}
5876
5877// GoString returns the string representation
5878func (s RemoveNotificationChannelInput) GoString() string {
5879	return s.String()
5880}
5881
5882// Validate inspects the fields of the type to determine if they are valid.
5883func (s *RemoveNotificationChannelInput) Validate() error {
5884	invalidParams := request.ErrInvalidParams{Context: "RemoveNotificationChannelInput"}
5885	if s.Id == nil {
5886		invalidParams.Add(request.NewErrParamRequired("Id"))
5887	}
5888	if s.Id != nil && len(*s.Id) < 36 {
5889		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
5890	}
5891
5892	if invalidParams.Len() > 0 {
5893		return invalidParams
5894	}
5895	return nil
5896}
5897
5898// SetId sets the Id field's value.
5899func (s *RemoveNotificationChannelInput) SetId(v string) *RemoveNotificationChannelInput {
5900	s.Id = &v
5901	return s
5902}
5903
5904type RemoveNotificationChannelOutput struct {
5905	_ struct{} `type:"structure"`
5906}
5907
5908// String returns the string representation
5909func (s RemoveNotificationChannelOutput) String() string {
5910	return awsutil.Prettify(s)
5911}
5912
5913// GoString returns the string representation
5914func (s RemoveNotificationChannelOutput) GoString() string {
5915	return s.String()
5916}
5917
5918// A collection of AWS resources supported by DevOps Guru. The one type of AWS
5919// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
5920// be configured to analyze only the AWS resources that are defined in the stacks.
5921type ResourceCollection struct {
5922	_ struct{} `type:"structure"`
5923
5924	// An array of the names of AWS CloudFormation stacks. The stacks define AWS
5925	// resources that DevOps Guru analyzes.
5926	CloudFormation *CloudFormationCollection `type:"structure"`
5927}
5928
5929// String returns the string representation
5930func (s ResourceCollection) String() string {
5931	return awsutil.Prettify(s)
5932}
5933
5934// GoString returns the string representation
5935func (s ResourceCollection) GoString() string {
5936	return s.String()
5937}
5938
5939// SetCloudFormation sets the CloudFormation field's value.
5940func (s *ResourceCollection) SetCloudFormation(v *CloudFormationCollection) *ResourceCollection {
5941	s.CloudFormation = v
5942	return s
5943}
5944
5945// Information about a filter used to specify which AWS resources are analyzed
5946// for anomalous behavior by DevOps Guru.
5947type ResourceCollectionFilter struct {
5948	_ struct{} `type:"structure"`
5949
5950	// Information about AWS CloudFormation stacks. You can use stacks to specify
5951	// which AWS resources in your account to analyze. For more information, see
5952	// Stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)
5953	// in the AWS CloudFormation User Guide.
5954	CloudFormation *CloudFormationCollectionFilter `type:"structure"`
5955}
5956
5957// String returns the string representation
5958func (s ResourceCollectionFilter) String() string {
5959	return awsutil.Prettify(s)
5960}
5961
5962// GoString returns the string representation
5963func (s ResourceCollectionFilter) GoString() string {
5964	return s.String()
5965}
5966
5967// SetCloudFormation sets the CloudFormation field's value.
5968func (s *ResourceCollectionFilter) SetCloudFormation(v *CloudFormationCollectionFilter) *ResourceCollectionFilter {
5969	s.CloudFormation = v
5970	return s
5971}
5972
5973// A requested resource could not be found
5974type ResourceNotFoundException struct {
5975	_            struct{}                  `type:"structure"`
5976	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5977
5978	Message_ *string `locationName:"Message" type:"string"`
5979
5980	// The ID of the AWS resource that could not be found.
5981	//
5982	// ResourceId is a required field
5983	ResourceId *string `type:"string" required:"true"`
5984
5985	// The type of the AWS resource that could not be found.
5986	//
5987	// ResourceType is a required field
5988	ResourceType *string `type:"string" required:"true"`
5989}
5990
5991// String returns the string representation
5992func (s ResourceNotFoundException) String() string {
5993	return awsutil.Prettify(s)
5994}
5995
5996// GoString returns the string representation
5997func (s ResourceNotFoundException) GoString() string {
5998	return s.String()
5999}
6000
6001func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
6002	return &ResourceNotFoundException{
6003		RespMetadata: v,
6004	}
6005}
6006
6007// Code returns the exception type name.
6008func (s *ResourceNotFoundException) Code() string {
6009	return "ResourceNotFoundException"
6010}
6011
6012// Message returns the exception's message.
6013func (s *ResourceNotFoundException) Message() string {
6014	if s.Message_ != nil {
6015		return *s.Message_
6016	}
6017	return ""
6018}
6019
6020// OrigErr always returns nil, satisfies awserr.Error interface.
6021func (s *ResourceNotFoundException) OrigErr() error {
6022	return nil
6023}
6024
6025func (s *ResourceNotFoundException) Error() string {
6026	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6027}
6028
6029// Status code returns the HTTP status code for the request's response error.
6030func (s *ResourceNotFoundException) StatusCode() int {
6031	return s.RespMetadata.StatusCode
6032}
6033
6034// RequestID returns the service's response RequestID for request.
6035func (s *ResourceNotFoundException) RequestID() string {
6036	return s.RespMetadata.RequestID
6037}
6038
6039// Specifies one or more severity values and one or more status values that
6040// are used to search for insights.
6041type SearchInsightsFilters struct {
6042	_ struct{} `type:"structure"`
6043
6044	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
6045	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
6046	// be configured to analyze only the AWS resources that are defined in the stacks.
6047	ResourceCollection *ResourceCollection `type:"structure"`
6048
6049	// An array of severity values used to search for insights.
6050	Severities []*string `type:"list"`
6051
6052	// An array of status values used to search for insights.
6053	Statuses []*string `type:"list"`
6054}
6055
6056// String returns the string representation
6057func (s SearchInsightsFilters) String() string {
6058	return awsutil.Prettify(s)
6059}
6060
6061// GoString returns the string representation
6062func (s SearchInsightsFilters) GoString() string {
6063	return s.String()
6064}
6065
6066// SetResourceCollection sets the ResourceCollection field's value.
6067func (s *SearchInsightsFilters) SetResourceCollection(v *ResourceCollection) *SearchInsightsFilters {
6068	s.ResourceCollection = v
6069	return s
6070}
6071
6072// SetSeverities sets the Severities field's value.
6073func (s *SearchInsightsFilters) SetSeverities(v []*string) *SearchInsightsFilters {
6074	s.Severities = v
6075	return s
6076}
6077
6078// SetStatuses sets the Statuses field's value.
6079func (s *SearchInsightsFilters) SetStatuses(v []*string) *SearchInsightsFilters {
6080	s.Statuses = v
6081	return s
6082}
6083
6084type SearchInsightsInput struct {
6085	_ struct{} `type:"structure"`
6086
6087	// A SearchInsightsFilters object that is used to set the severity and status
6088	// filters on your insight search.
6089	Filters *SearchInsightsFilters `type:"structure"`
6090
6091	// The maximum number of results to return with a single call. To retrieve the
6092	// remaining results, make another call with the returned nextToken value.
6093	MaxResults *int64 `min:"1" type:"integer"`
6094
6095	// The pagination token to use to retrieve the next page of results for this
6096	// operation. If this value is null, it retrieves the first page.
6097	NextToken *string `min:"36" type:"string"`
6098
6099	// The start of the time range passed in. Returned insights occurred after this
6100	// time.
6101	//
6102	// StartTimeRange is a required field
6103	StartTimeRange *StartTimeRange `type:"structure" required:"true"`
6104
6105	// The type of insights you are searching for (REACTIVE or PROACTIVE).
6106	//
6107	// Type is a required field
6108	Type *string `type:"string" required:"true" enum:"InsightType"`
6109}
6110
6111// String returns the string representation
6112func (s SearchInsightsInput) String() string {
6113	return awsutil.Prettify(s)
6114}
6115
6116// GoString returns the string representation
6117func (s SearchInsightsInput) GoString() string {
6118	return s.String()
6119}
6120
6121// Validate inspects the fields of the type to determine if they are valid.
6122func (s *SearchInsightsInput) Validate() error {
6123	invalidParams := request.ErrInvalidParams{Context: "SearchInsightsInput"}
6124	if s.MaxResults != nil && *s.MaxResults < 1 {
6125		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6126	}
6127	if s.NextToken != nil && len(*s.NextToken) < 36 {
6128		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
6129	}
6130	if s.StartTimeRange == nil {
6131		invalidParams.Add(request.NewErrParamRequired("StartTimeRange"))
6132	}
6133	if s.Type == nil {
6134		invalidParams.Add(request.NewErrParamRequired("Type"))
6135	}
6136
6137	if invalidParams.Len() > 0 {
6138		return invalidParams
6139	}
6140	return nil
6141}
6142
6143// SetFilters sets the Filters field's value.
6144func (s *SearchInsightsInput) SetFilters(v *SearchInsightsFilters) *SearchInsightsInput {
6145	s.Filters = v
6146	return s
6147}
6148
6149// SetMaxResults sets the MaxResults field's value.
6150func (s *SearchInsightsInput) SetMaxResults(v int64) *SearchInsightsInput {
6151	s.MaxResults = &v
6152	return s
6153}
6154
6155// SetNextToken sets the NextToken field's value.
6156func (s *SearchInsightsInput) SetNextToken(v string) *SearchInsightsInput {
6157	s.NextToken = &v
6158	return s
6159}
6160
6161// SetStartTimeRange sets the StartTimeRange field's value.
6162func (s *SearchInsightsInput) SetStartTimeRange(v *StartTimeRange) *SearchInsightsInput {
6163	s.StartTimeRange = v
6164	return s
6165}
6166
6167// SetType sets the Type field's value.
6168func (s *SearchInsightsInput) SetType(v string) *SearchInsightsInput {
6169	s.Type = &v
6170	return s
6171}
6172
6173type SearchInsightsOutput struct {
6174	_ struct{} `type:"structure"`
6175
6176	// The pagination token to use to retrieve the next page of results for this
6177	// operation. If there are no more pages, this value is null.
6178	NextToken *string `min:"36" type:"string"`
6179
6180	// The returned proactive insights.
6181	ProactiveInsights []*ProactiveInsightSummary `type:"list"`
6182
6183	// The returned reactive insights.
6184	ReactiveInsights []*ReactiveInsightSummary `type:"list"`
6185}
6186
6187// String returns the string representation
6188func (s SearchInsightsOutput) String() string {
6189	return awsutil.Prettify(s)
6190}
6191
6192// GoString returns the string representation
6193func (s SearchInsightsOutput) GoString() string {
6194	return s.String()
6195}
6196
6197// SetNextToken sets the NextToken field's value.
6198func (s *SearchInsightsOutput) SetNextToken(v string) *SearchInsightsOutput {
6199	s.NextToken = &v
6200	return s
6201}
6202
6203// SetProactiveInsights sets the ProactiveInsights field's value.
6204func (s *SearchInsightsOutput) SetProactiveInsights(v []*ProactiveInsightSummary) *SearchInsightsOutput {
6205	s.ProactiveInsights = v
6206	return s
6207}
6208
6209// SetReactiveInsights sets the ReactiveInsights field's value.
6210func (s *SearchInsightsOutput) SetReactiveInsights(v []*ReactiveInsightSummary) *SearchInsightsOutput {
6211	s.ReactiveInsights = v
6212	return s
6213}
6214
6215// Information about the integration of DevOps Guru with another AWS service,
6216// such as AWS Systems Manager.
6217type ServiceIntegrationConfig struct {
6218	_ struct{} `type:"structure"`
6219
6220	// Information about whether DevOps Guru is configured to create an OpsItem
6221	// in AWS Systems Manager OpsCenter for each created insight.
6222	OpsCenter *OpsCenterIntegration `type:"structure"`
6223}
6224
6225// String returns the string representation
6226func (s ServiceIntegrationConfig) String() string {
6227	return awsutil.Prettify(s)
6228}
6229
6230// GoString returns the string representation
6231func (s ServiceIntegrationConfig) GoString() string {
6232	return s.String()
6233}
6234
6235// SetOpsCenter sets the OpsCenter field's value.
6236func (s *ServiceIntegrationConfig) SetOpsCenter(v *OpsCenterIntegration) *ServiceIntegrationConfig {
6237	s.OpsCenter = v
6238	return s
6239}
6240
6241// The request contains a value that exceeds a maximum quota.
6242type ServiceQuotaExceededException struct {
6243	_            struct{}                  `type:"structure"`
6244	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6245
6246	Message_ *string `locationName:"Message" type:"string"`
6247}
6248
6249// String returns the string representation
6250func (s ServiceQuotaExceededException) String() string {
6251	return awsutil.Prettify(s)
6252}
6253
6254// GoString returns the string representation
6255func (s ServiceQuotaExceededException) GoString() string {
6256	return s.String()
6257}
6258
6259func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
6260	return &ServiceQuotaExceededException{
6261		RespMetadata: v,
6262	}
6263}
6264
6265// Code returns the exception type name.
6266func (s *ServiceQuotaExceededException) Code() string {
6267	return "ServiceQuotaExceededException"
6268}
6269
6270// Message returns the exception's message.
6271func (s *ServiceQuotaExceededException) Message() string {
6272	if s.Message_ != nil {
6273		return *s.Message_
6274	}
6275	return ""
6276}
6277
6278// OrigErr always returns nil, satisfies awserr.Error interface.
6279func (s *ServiceQuotaExceededException) OrigErr() error {
6280	return nil
6281}
6282
6283func (s *ServiceQuotaExceededException) Error() string {
6284	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6285}
6286
6287// Status code returns the HTTP status code for the request's response error.
6288func (s *ServiceQuotaExceededException) StatusCode() int {
6289	return s.RespMetadata.StatusCode
6290}
6291
6292// RequestID returns the service's response RequestID for request.
6293func (s *ServiceQuotaExceededException) RequestID() string {
6294	return s.RespMetadata.RequestID
6295}
6296
6297// Contains the Amazon Resource Name (ARN) of an Amazon Simple Notification
6298// Service topic.
6299//
6300// If you use an Amazon SNS topic in another account, you must attach a policy
6301// to it that grants DevOps Guru permission to it notifications. DevOps Guru
6302// adds the required policy on your behalf to send notifications using Amazon
6303// SNS in your account. For more information, see Permissions for cross account
6304// Amazon SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html).
6305//
6306// If you use an Amazon SNS topic that is encrypted by an AWS Key Management
6307// Service customer-managed key (CMK), then you must add permissions to the
6308// CMK. For more information, see Permissions for AWS KMS–encrypted Amazon
6309// SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html).
6310type SnsChannelConfig struct {
6311	_ struct{} `type:"structure"`
6312
6313	// The Amazon Resource Name (ARN) of an Amazon Simple Notification Service topic.
6314	TopicArn *string `min:"36" type:"string"`
6315}
6316
6317// String returns the string representation
6318func (s SnsChannelConfig) String() string {
6319	return awsutil.Prettify(s)
6320}
6321
6322// GoString returns the string representation
6323func (s SnsChannelConfig) GoString() string {
6324	return s.String()
6325}
6326
6327// Validate inspects the fields of the type to determine if they are valid.
6328func (s *SnsChannelConfig) Validate() error {
6329	invalidParams := request.ErrInvalidParams{Context: "SnsChannelConfig"}
6330	if s.TopicArn != nil && len(*s.TopicArn) < 36 {
6331		invalidParams.Add(request.NewErrParamMinLen("TopicArn", 36))
6332	}
6333
6334	if invalidParams.Len() > 0 {
6335		return invalidParams
6336	}
6337	return nil
6338}
6339
6340// SetTopicArn sets the TopicArn field's value.
6341func (s *SnsChannelConfig) SetTopicArn(v string) *SnsChannelConfig {
6342	s.TopicArn = &v
6343	return s
6344}
6345
6346// A time range used to specify when the behavior of an insight or anomaly started.
6347type StartTimeRange struct {
6348	_ struct{} `type:"structure"`
6349
6350	// The start time of the time range.
6351	FromTime *time.Time `type:"timestamp"`
6352
6353	// The end time of the time range.
6354	ToTime *time.Time `type:"timestamp"`
6355}
6356
6357// String returns the string representation
6358func (s StartTimeRange) String() string {
6359	return awsutil.Prettify(s)
6360}
6361
6362// GoString returns the string representation
6363func (s StartTimeRange) GoString() string {
6364	return s.String()
6365}
6366
6367// SetFromTime sets the FromTime field's value.
6368func (s *StartTimeRange) SetFromTime(v time.Time) *StartTimeRange {
6369	s.FromTime = &v
6370	return s
6371}
6372
6373// SetToTime sets the ToTime field's value.
6374func (s *StartTimeRange) SetToTime(v time.Time) *StartTimeRange {
6375	s.ToTime = &v
6376	return s
6377}
6378
6379// The request was denied due to a request throttling.
6380type ThrottlingException struct {
6381	_            struct{}                  `type:"structure"`
6382	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6383
6384	Message_ *string `locationName:"Message" type:"string"`
6385
6386	// The code of the quota that was exceeded, causing the throttling exception.
6387	QuotaCode *string `type:"string"`
6388
6389	// The number of seconds after which the action that caused the throttling exception
6390	// can be retried.
6391	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
6392
6393	// The code of the service that caused the throttling exception.
6394	ServiceCode *string `type:"string"`
6395}
6396
6397// String returns the string representation
6398func (s ThrottlingException) String() string {
6399	return awsutil.Prettify(s)
6400}
6401
6402// GoString returns the string representation
6403func (s ThrottlingException) GoString() string {
6404	return s.String()
6405}
6406
6407func newErrorThrottlingException(v protocol.ResponseMetadata) error {
6408	return &ThrottlingException{
6409		RespMetadata: v,
6410	}
6411}
6412
6413// Code returns the exception type name.
6414func (s *ThrottlingException) Code() string {
6415	return "ThrottlingException"
6416}
6417
6418// Message returns the exception's message.
6419func (s *ThrottlingException) Message() string {
6420	if s.Message_ != nil {
6421		return *s.Message_
6422	}
6423	return ""
6424}
6425
6426// OrigErr always returns nil, satisfies awserr.Error interface.
6427func (s *ThrottlingException) OrigErr() error {
6428	return nil
6429}
6430
6431func (s *ThrottlingException) Error() string {
6432	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6433}
6434
6435// Status code returns the HTTP status code for the request's response error.
6436func (s *ThrottlingException) StatusCode() int {
6437	return s.RespMetadata.StatusCode
6438}
6439
6440// RequestID returns the service's response RequestID for request.
6441func (s *ThrottlingException) RequestID() string {
6442	return s.RespMetadata.RequestID
6443}
6444
6445// Contains the names of AWS CloudFormation stacks used to update a collection
6446// of stacks.
6447type UpdateCloudFormationCollectionFilter struct {
6448	_ struct{} `type:"structure"`
6449
6450	// An array of the name of stacks to update.
6451	StackNames []*string `type:"list"`
6452}
6453
6454// String returns the string representation
6455func (s UpdateCloudFormationCollectionFilter) String() string {
6456	return awsutil.Prettify(s)
6457}
6458
6459// GoString returns the string representation
6460func (s UpdateCloudFormationCollectionFilter) GoString() string {
6461	return s.String()
6462}
6463
6464// SetStackNames sets the StackNames field's value.
6465func (s *UpdateCloudFormationCollectionFilter) SetStackNames(v []*string) *UpdateCloudFormationCollectionFilter {
6466	s.StackNames = v
6467	return s
6468}
6469
6470// Contains information used to update a collection of AWS resources.
6471type UpdateResourceCollectionFilter struct {
6472	_ struct{} `type:"structure"`
6473
6474	// An collection of AWS CloudFormation stacks.
6475	CloudFormation *UpdateCloudFormationCollectionFilter `type:"structure"`
6476}
6477
6478// String returns the string representation
6479func (s UpdateResourceCollectionFilter) String() string {
6480	return awsutil.Prettify(s)
6481}
6482
6483// GoString returns the string representation
6484func (s UpdateResourceCollectionFilter) GoString() string {
6485	return s.String()
6486}
6487
6488// SetCloudFormation sets the CloudFormation field's value.
6489func (s *UpdateResourceCollectionFilter) SetCloudFormation(v *UpdateCloudFormationCollectionFilter) *UpdateResourceCollectionFilter {
6490	s.CloudFormation = v
6491	return s
6492}
6493
6494type UpdateResourceCollectionInput struct {
6495	_ struct{} `type:"structure"`
6496
6497	// Specifies if the resource collection in the request is added or deleted to
6498	// the resource collection.
6499	//
6500	// Action is a required field
6501	Action *string `type:"string" required:"true" enum:"UpdateResourceCollectionAction"`
6502
6503	// Contains information used to update a collection of AWS resources.
6504	//
6505	// ResourceCollection is a required field
6506	ResourceCollection *UpdateResourceCollectionFilter `type:"structure" required:"true"`
6507}
6508
6509// String returns the string representation
6510func (s UpdateResourceCollectionInput) String() string {
6511	return awsutil.Prettify(s)
6512}
6513
6514// GoString returns the string representation
6515func (s UpdateResourceCollectionInput) GoString() string {
6516	return s.String()
6517}
6518
6519// Validate inspects the fields of the type to determine if they are valid.
6520func (s *UpdateResourceCollectionInput) Validate() error {
6521	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceCollectionInput"}
6522	if s.Action == nil {
6523		invalidParams.Add(request.NewErrParamRequired("Action"))
6524	}
6525	if s.ResourceCollection == nil {
6526		invalidParams.Add(request.NewErrParamRequired("ResourceCollection"))
6527	}
6528
6529	if invalidParams.Len() > 0 {
6530		return invalidParams
6531	}
6532	return nil
6533}
6534
6535// SetAction sets the Action field's value.
6536func (s *UpdateResourceCollectionInput) SetAction(v string) *UpdateResourceCollectionInput {
6537	s.Action = &v
6538	return s
6539}
6540
6541// SetResourceCollection sets the ResourceCollection field's value.
6542func (s *UpdateResourceCollectionInput) SetResourceCollection(v *UpdateResourceCollectionFilter) *UpdateResourceCollectionInput {
6543	s.ResourceCollection = v
6544	return s
6545}
6546
6547type UpdateResourceCollectionOutput struct {
6548	_ struct{} `type:"structure"`
6549}
6550
6551// String returns the string representation
6552func (s UpdateResourceCollectionOutput) String() string {
6553	return awsutil.Prettify(s)
6554}
6555
6556// GoString returns the string representation
6557func (s UpdateResourceCollectionOutput) GoString() string {
6558	return s.String()
6559}
6560
6561// Information about updating the integration status of an AWS service, such
6562// as AWS Systems Manager, with DevOps Guru.
6563type UpdateServiceIntegrationConfig struct {
6564	_ struct{} `type:"structure"`
6565
6566	// Information about whether DevOps Guru is configured to create an OpsItem
6567	// in AWS Systems Manager OpsCenter for each created insight.
6568	OpsCenter *OpsCenterIntegrationConfig `type:"structure"`
6569}
6570
6571// String returns the string representation
6572func (s UpdateServiceIntegrationConfig) String() string {
6573	return awsutil.Prettify(s)
6574}
6575
6576// GoString returns the string representation
6577func (s UpdateServiceIntegrationConfig) GoString() string {
6578	return s.String()
6579}
6580
6581// SetOpsCenter sets the OpsCenter field's value.
6582func (s *UpdateServiceIntegrationConfig) SetOpsCenter(v *OpsCenterIntegrationConfig) *UpdateServiceIntegrationConfig {
6583	s.OpsCenter = v
6584	return s
6585}
6586
6587type UpdateServiceIntegrationInput struct {
6588	_ struct{} `type:"structure"`
6589
6590	// An IntegratedServiceConfig object used to specify the integrated service
6591	// you want to update, and whether you want to update it to enabled or disabled.
6592	//
6593	// ServiceIntegration is a required field
6594	ServiceIntegration *UpdateServiceIntegrationConfig `type:"structure" required:"true"`
6595}
6596
6597// String returns the string representation
6598func (s UpdateServiceIntegrationInput) String() string {
6599	return awsutil.Prettify(s)
6600}
6601
6602// GoString returns the string representation
6603func (s UpdateServiceIntegrationInput) GoString() string {
6604	return s.String()
6605}
6606
6607// Validate inspects the fields of the type to determine if they are valid.
6608func (s *UpdateServiceIntegrationInput) Validate() error {
6609	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceIntegrationInput"}
6610	if s.ServiceIntegration == nil {
6611		invalidParams.Add(request.NewErrParamRequired("ServiceIntegration"))
6612	}
6613
6614	if invalidParams.Len() > 0 {
6615		return invalidParams
6616	}
6617	return nil
6618}
6619
6620// SetServiceIntegration sets the ServiceIntegration field's value.
6621func (s *UpdateServiceIntegrationInput) SetServiceIntegration(v *UpdateServiceIntegrationConfig) *UpdateServiceIntegrationInput {
6622	s.ServiceIntegration = v
6623	return s
6624}
6625
6626type UpdateServiceIntegrationOutput struct {
6627	_ struct{} `type:"structure"`
6628}
6629
6630// String returns the string representation
6631func (s UpdateServiceIntegrationOutput) String() string {
6632	return awsutil.Prettify(s)
6633}
6634
6635// GoString returns the string representation
6636func (s UpdateServiceIntegrationOutput) GoString() string {
6637	return s.String()
6638}
6639
6640// Contains information about data passed in to a field during a request that
6641// is not valid.
6642type ValidationException struct {
6643	_            struct{}                  `type:"structure"`
6644	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6645
6646	// An array of fields that are associated with the validation exception.
6647	Fields []*ValidationExceptionField `type:"list"`
6648
6649	// A message that describes the validation exception.
6650	Message_ *string `locationName:"Message" type:"string"`
6651
6652	// The reason the validation exception was thrown.
6653	Reason *string `type:"string" enum:"ValidationExceptionReason"`
6654}
6655
6656// String returns the string representation
6657func (s ValidationException) String() string {
6658	return awsutil.Prettify(s)
6659}
6660
6661// GoString returns the string representation
6662func (s ValidationException) GoString() string {
6663	return s.String()
6664}
6665
6666func newErrorValidationException(v protocol.ResponseMetadata) error {
6667	return &ValidationException{
6668		RespMetadata: v,
6669	}
6670}
6671
6672// Code returns the exception type name.
6673func (s *ValidationException) Code() string {
6674	return "ValidationException"
6675}
6676
6677// Message returns the exception's message.
6678func (s *ValidationException) Message() string {
6679	if s.Message_ != nil {
6680		return *s.Message_
6681	}
6682	return ""
6683}
6684
6685// OrigErr always returns nil, satisfies awserr.Error interface.
6686func (s *ValidationException) OrigErr() error {
6687	return nil
6688}
6689
6690func (s *ValidationException) Error() string {
6691	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6692}
6693
6694// Status code returns the HTTP status code for the request's response error.
6695func (s *ValidationException) StatusCode() int {
6696	return s.RespMetadata.StatusCode
6697}
6698
6699// RequestID returns the service's response RequestID for request.
6700func (s *ValidationException) RequestID() string {
6701	return s.RespMetadata.RequestID
6702}
6703
6704// The field associated with the validation exception.
6705type ValidationExceptionField struct {
6706	_ struct{} `type:"structure"`
6707
6708	// The message associated with the validation exception with information to
6709	// help determine its cause.
6710	//
6711	// Message is a required field
6712	Message *string `type:"string" required:"true"`
6713
6714	// The name of the field.
6715	//
6716	// Name is a required field
6717	Name *string `type:"string" required:"true"`
6718}
6719
6720// String returns the string representation
6721func (s ValidationExceptionField) String() string {
6722	return awsutil.Prettify(s)
6723}
6724
6725// GoString returns the string representation
6726func (s ValidationExceptionField) GoString() string {
6727	return s.String()
6728}
6729
6730// SetMessage sets the Message field's value.
6731func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
6732	s.Message = &v
6733	return s
6734}
6735
6736// SetName sets the Name field's value.
6737func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
6738	s.Name = &v
6739	return s
6740}
6741
6742const (
6743	// AnomalySeverityLow is a AnomalySeverity enum value
6744	AnomalySeverityLow = "LOW"
6745
6746	// AnomalySeverityMedium is a AnomalySeverity enum value
6747	AnomalySeverityMedium = "MEDIUM"
6748
6749	// AnomalySeverityHigh is a AnomalySeverity enum value
6750	AnomalySeverityHigh = "HIGH"
6751)
6752
6753// AnomalySeverity_Values returns all elements of the AnomalySeverity enum
6754func AnomalySeverity_Values() []string {
6755	return []string{
6756		AnomalySeverityLow,
6757		AnomalySeverityMedium,
6758		AnomalySeverityHigh,
6759	}
6760}
6761
6762const (
6763	// AnomalyStatusOngoing is a AnomalyStatus enum value
6764	AnomalyStatusOngoing = "ONGOING"
6765
6766	// AnomalyStatusClosed is a AnomalyStatus enum value
6767	AnomalyStatusClosed = "CLOSED"
6768)
6769
6770// AnomalyStatus_Values returns all elements of the AnomalyStatus enum
6771func AnomalyStatus_Values() []string {
6772	return []string{
6773		AnomalyStatusOngoing,
6774		AnomalyStatusClosed,
6775	}
6776}
6777
6778const (
6779	// CloudWatchMetricsStatSum is a CloudWatchMetricsStat enum value
6780	CloudWatchMetricsStatSum = "Sum"
6781
6782	// CloudWatchMetricsStatAverage is a CloudWatchMetricsStat enum value
6783	CloudWatchMetricsStatAverage = "Average"
6784
6785	// CloudWatchMetricsStatSampleCount is a CloudWatchMetricsStat enum value
6786	CloudWatchMetricsStatSampleCount = "SampleCount"
6787
6788	// CloudWatchMetricsStatMinimum is a CloudWatchMetricsStat enum value
6789	CloudWatchMetricsStatMinimum = "Minimum"
6790
6791	// CloudWatchMetricsStatMaximum is a CloudWatchMetricsStat enum value
6792	CloudWatchMetricsStatMaximum = "Maximum"
6793
6794	// CloudWatchMetricsStatP99 is a CloudWatchMetricsStat enum value
6795	CloudWatchMetricsStatP99 = "p99"
6796
6797	// CloudWatchMetricsStatP90 is a CloudWatchMetricsStat enum value
6798	CloudWatchMetricsStatP90 = "p90"
6799
6800	// CloudWatchMetricsStatP50 is a CloudWatchMetricsStat enum value
6801	CloudWatchMetricsStatP50 = "p50"
6802)
6803
6804// CloudWatchMetricsStat_Values returns all elements of the CloudWatchMetricsStat enum
6805func CloudWatchMetricsStat_Values() []string {
6806	return []string{
6807		CloudWatchMetricsStatSum,
6808		CloudWatchMetricsStatAverage,
6809		CloudWatchMetricsStatSampleCount,
6810		CloudWatchMetricsStatMinimum,
6811		CloudWatchMetricsStatMaximum,
6812		CloudWatchMetricsStatP99,
6813		CloudWatchMetricsStatP90,
6814		CloudWatchMetricsStatP50,
6815	}
6816}
6817
6818const (
6819	// EventClassInfrastructure is a EventClass enum value
6820	EventClassInfrastructure = "INFRASTRUCTURE"
6821
6822	// EventClassDeployment is a EventClass enum value
6823	EventClassDeployment = "DEPLOYMENT"
6824
6825	// EventClassSecurityChange is a EventClass enum value
6826	EventClassSecurityChange = "SECURITY_CHANGE"
6827
6828	// EventClassConfigChange is a EventClass enum value
6829	EventClassConfigChange = "CONFIG_CHANGE"
6830
6831	// EventClassSchemaChange is a EventClass enum value
6832	EventClassSchemaChange = "SCHEMA_CHANGE"
6833)
6834
6835// EventClass_Values returns all elements of the EventClass enum
6836func EventClass_Values() []string {
6837	return []string{
6838		EventClassInfrastructure,
6839		EventClassDeployment,
6840		EventClassSecurityChange,
6841		EventClassConfigChange,
6842		EventClassSchemaChange,
6843	}
6844}
6845
6846const (
6847	// EventDataSourceAwsCloudTrail is a EventDataSource enum value
6848	EventDataSourceAwsCloudTrail = "AWS_CLOUD_TRAIL"
6849
6850	// EventDataSourceAwsCodeDeploy is a EventDataSource enum value
6851	EventDataSourceAwsCodeDeploy = "AWS_CODE_DEPLOY"
6852)
6853
6854// EventDataSource_Values returns all elements of the EventDataSource enum
6855func EventDataSource_Values() []string {
6856	return []string{
6857		EventDataSourceAwsCloudTrail,
6858		EventDataSourceAwsCodeDeploy,
6859	}
6860}
6861
6862const (
6863	// InsightFeedbackOptionValidCollection is a InsightFeedbackOption enum value
6864	InsightFeedbackOptionValidCollection = "VALID_COLLECTION"
6865
6866	// InsightFeedbackOptionRecommendationUseful is a InsightFeedbackOption enum value
6867	InsightFeedbackOptionRecommendationUseful = "RECOMMENDATION_USEFUL"
6868
6869	// InsightFeedbackOptionAlertTooSensitive is a InsightFeedbackOption enum value
6870	InsightFeedbackOptionAlertTooSensitive = "ALERT_TOO_SENSITIVE"
6871
6872	// InsightFeedbackOptionDataNoisyAnomaly is a InsightFeedbackOption enum value
6873	InsightFeedbackOptionDataNoisyAnomaly = "DATA_NOISY_ANOMALY"
6874
6875	// InsightFeedbackOptionDataIncorrect is a InsightFeedbackOption enum value
6876	InsightFeedbackOptionDataIncorrect = "DATA_INCORRECT"
6877)
6878
6879// InsightFeedbackOption_Values returns all elements of the InsightFeedbackOption enum
6880func InsightFeedbackOption_Values() []string {
6881	return []string{
6882		InsightFeedbackOptionValidCollection,
6883		InsightFeedbackOptionRecommendationUseful,
6884		InsightFeedbackOptionAlertTooSensitive,
6885		InsightFeedbackOptionDataNoisyAnomaly,
6886		InsightFeedbackOptionDataIncorrect,
6887	}
6888}
6889
6890const (
6891	// InsightSeverityLow is a InsightSeverity enum value
6892	InsightSeverityLow = "LOW"
6893
6894	// InsightSeverityMedium is a InsightSeverity enum value
6895	InsightSeverityMedium = "MEDIUM"
6896
6897	// InsightSeverityHigh is a InsightSeverity enum value
6898	InsightSeverityHigh = "HIGH"
6899)
6900
6901// InsightSeverity_Values returns all elements of the InsightSeverity enum
6902func InsightSeverity_Values() []string {
6903	return []string{
6904		InsightSeverityLow,
6905		InsightSeverityMedium,
6906		InsightSeverityHigh,
6907	}
6908}
6909
6910const (
6911	// InsightStatusOngoing is a InsightStatus enum value
6912	InsightStatusOngoing = "ONGOING"
6913
6914	// InsightStatusClosed is a InsightStatus enum value
6915	InsightStatusClosed = "CLOSED"
6916)
6917
6918// InsightStatus_Values returns all elements of the InsightStatus enum
6919func InsightStatus_Values() []string {
6920	return []string{
6921		InsightStatusOngoing,
6922		InsightStatusClosed,
6923	}
6924}
6925
6926const (
6927	// InsightTypeReactive is a InsightType enum value
6928	InsightTypeReactive = "REACTIVE"
6929
6930	// InsightTypeProactive is a InsightType enum value
6931	InsightTypeProactive = "PROACTIVE"
6932)
6933
6934// InsightType_Values returns all elements of the InsightType enum
6935func InsightType_Values() []string {
6936	return []string{
6937		InsightTypeReactive,
6938		InsightTypeProactive,
6939	}
6940}
6941
6942// Specifies if DevOps Guru is enabled to create an AWS Systems Manager OpsItem
6943// for each created insight.
6944const (
6945	// OptInStatusEnabled is a OptInStatus enum value
6946	OptInStatusEnabled = "ENABLED"
6947
6948	// OptInStatusDisabled is a OptInStatus enum value
6949	OptInStatusDisabled = "DISABLED"
6950)
6951
6952// OptInStatus_Values returns all elements of the OptInStatus enum
6953func OptInStatus_Values() []string {
6954	return []string{
6955		OptInStatusEnabled,
6956		OptInStatusDisabled,
6957	}
6958}
6959
6960const (
6961	// ResourceCollectionTypeAwsCloudFormation is a ResourceCollectionType enum value
6962	ResourceCollectionTypeAwsCloudFormation = "AWS_CLOUD_FORMATION"
6963)
6964
6965// ResourceCollectionType_Values returns all elements of the ResourceCollectionType enum
6966func ResourceCollectionType_Values() []string {
6967	return []string{
6968		ResourceCollectionTypeAwsCloudFormation,
6969	}
6970}
6971
6972const (
6973	// UpdateResourceCollectionActionAdd is a UpdateResourceCollectionAction enum value
6974	UpdateResourceCollectionActionAdd = "ADD"
6975
6976	// UpdateResourceCollectionActionRemove is a UpdateResourceCollectionAction enum value
6977	UpdateResourceCollectionActionRemove = "REMOVE"
6978)
6979
6980// UpdateResourceCollectionAction_Values returns all elements of the UpdateResourceCollectionAction enum
6981func UpdateResourceCollectionAction_Values() []string {
6982	return []string{
6983		UpdateResourceCollectionActionAdd,
6984		UpdateResourceCollectionActionRemove,
6985	}
6986}
6987
6988const (
6989	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
6990	ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION"
6991
6992	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
6993	ValidationExceptionReasonCannotParse = "CANNOT_PARSE"
6994
6995	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
6996	ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED"
6997
6998	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
6999	ValidationExceptionReasonOther = "OTHER"
7000)
7001
7002// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
7003func ValidationExceptionReason_Values() []string {
7004	return []string{
7005		ValidationExceptionReasonUnknownOperation,
7006		ValidationExceptionReasonCannotParse,
7007		ValidationExceptionReasonFieldValidationFailed,
7008		ValidationExceptionReasonOther,
7009	}
7010}
7011