1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package applicationinsights
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/jsonrpc"
14)
15
16const opCreateApplication = "CreateApplication"
17
18// CreateApplicationRequest generates a "aws/request.Request" representing the
19// client's request for the CreateApplication 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 CreateApplication for more information on using the CreateApplication
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 CreateApplicationRequest method.
34//    req, resp := client.CreateApplicationRequest(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/application-insights-2018-11-25/CreateApplication
42func (c *ApplicationInsights) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) {
43	op := &request.Operation{
44		Name:       opCreateApplication,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &CreateApplicationInput{}
51	}
52
53	output = &CreateApplicationOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateApplication API operation for Amazon CloudWatch Application Insights.
59//
60// Adds an application that is created from a resource group.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for Amazon CloudWatch Application Insights's
67// API operation CreateApplication for usage and error information.
68//
69// Returned Error Types:
70//   * ResourceInUseException
71//   The resource is already created or in use.
72//
73//   * ResourceNotFoundException
74//   The resource does not exist in the customer account.
75//
76//   * ValidationException
77//   The parameter is not valid.
78//
79//   * InternalServerException
80//   The server encountered an internal error and is unable to complete the request.
81//
82//   * TagsAlreadyExistException
83//   Tags are already registered for the specified application ARN.
84//
85// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateApplication
86func (c *ApplicationInsights) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) {
87	req, out := c.CreateApplicationRequest(input)
88	return out, req.Send()
89}
90
91// CreateApplicationWithContext is the same as CreateApplication with the addition of
92// the ability to pass a context and additional request options.
93//
94// See CreateApplication for details on how to use this API operation.
95//
96// The context must be non-nil and will be used for request cancellation. If
97// the context is nil a panic will occur. In the future the SDK may create
98// sub-contexts for http.Requests. See https://golang.org/pkg/context/
99// for more information on using Contexts.
100func (c *ApplicationInsights) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) {
101	req, out := c.CreateApplicationRequest(input)
102	req.SetContext(ctx)
103	req.ApplyOptions(opts...)
104	return out, req.Send()
105}
106
107const opCreateComponent = "CreateComponent"
108
109// CreateComponentRequest generates a "aws/request.Request" representing the
110// client's request for the CreateComponent operation. The "output" return
111// value will be populated with the request's response once the request completes
112// successfully.
113//
114// Use "Send" method on the returned Request to send the API call to the service.
115// the "output" return value is not valid until after Send returns without error.
116//
117// See CreateComponent for more information on using the CreateComponent
118// API call, and error handling.
119//
120// This method is useful when you want to inject custom logic or configuration
121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
122//
123//
124//    // Example sending a request using the CreateComponentRequest method.
125//    req, resp := client.CreateComponentRequest(params)
126//
127//    err := req.Send()
128//    if err == nil { // resp is now filled
129//        fmt.Println(resp)
130//    }
131//
132// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateComponent
133func (c *ApplicationInsights) CreateComponentRequest(input *CreateComponentInput) (req *request.Request, output *CreateComponentOutput) {
134	op := &request.Operation{
135		Name:       opCreateComponent,
136		HTTPMethod: "POST",
137		HTTPPath:   "/",
138	}
139
140	if input == nil {
141		input = &CreateComponentInput{}
142	}
143
144	output = &CreateComponentOutput{}
145	req = c.newRequest(op, input, output)
146	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
147	return
148}
149
150// CreateComponent API operation for Amazon CloudWatch Application Insights.
151//
152// Creates a custom component by grouping similar standalone instances to monitor.
153//
154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
155// with awserr.Error's Code and Message methods to get detailed information about
156// the error.
157//
158// See the AWS API reference guide for Amazon CloudWatch Application Insights's
159// API operation CreateComponent for usage and error information.
160//
161// Returned Error Types:
162//   * ResourceInUseException
163//   The resource is already created or in use.
164//
165//   * ResourceNotFoundException
166//   The resource does not exist in the customer account.
167//
168//   * ValidationException
169//   The parameter is not valid.
170//
171//   * InternalServerException
172//   The server encountered an internal error and is unable to complete the request.
173//
174// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateComponent
175func (c *ApplicationInsights) CreateComponent(input *CreateComponentInput) (*CreateComponentOutput, error) {
176	req, out := c.CreateComponentRequest(input)
177	return out, req.Send()
178}
179
180// CreateComponentWithContext is the same as CreateComponent with the addition of
181// the ability to pass a context and additional request options.
182//
183// See CreateComponent for details on how to use this API operation.
184//
185// The context must be non-nil and will be used for request cancellation. If
186// the context is nil a panic will occur. In the future the SDK may create
187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
188// for more information on using Contexts.
189func (c *ApplicationInsights) CreateComponentWithContext(ctx aws.Context, input *CreateComponentInput, opts ...request.Option) (*CreateComponentOutput, error) {
190	req, out := c.CreateComponentRequest(input)
191	req.SetContext(ctx)
192	req.ApplyOptions(opts...)
193	return out, req.Send()
194}
195
196const opCreateLogPattern = "CreateLogPattern"
197
198// CreateLogPatternRequest generates a "aws/request.Request" representing the
199// client's request for the CreateLogPattern operation. The "output" return
200// value will be populated with the request's response once the request completes
201// successfully.
202//
203// Use "Send" method on the returned Request to send the API call to the service.
204// the "output" return value is not valid until after Send returns without error.
205//
206// See CreateLogPattern for more information on using the CreateLogPattern
207// API call, and error handling.
208//
209// This method is useful when you want to inject custom logic or configuration
210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
211//
212//
213//    // Example sending a request using the CreateLogPatternRequest method.
214//    req, resp := client.CreateLogPatternRequest(params)
215//
216//    err := req.Send()
217//    if err == nil { // resp is now filled
218//        fmt.Println(resp)
219//    }
220//
221// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateLogPattern
222func (c *ApplicationInsights) CreateLogPatternRequest(input *CreateLogPatternInput) (req *request.Request, output *CreateLogPatternOutput) {
223	op := &request.Operation{
224		Name:       opCreateLogPattern,
225		HTTPMethod: "POST",
226		HTTPPath:   "/",
227	}
228
229	if input == nil {
230		input = &CreateLogPatternInput{}
231	}
232
233	output = &CreateLogPatternOutput{}
234	req = c.newRequest(op, input, output)
235	return
236}
237
238// CreateLogPattern API operation for Amazon CloudWatch Application Insights.
239//
240// Adds an log pattern to a LogPatternSet.
241//
242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
243// with awserr.Error's Code and Message methods to get detailed information about
244// the error.
245//
246// See the AWS API reference guide for Amazon CloudWatch Application Insights's
247// API operation CreateLogPattern for usage and error information.
248//
249// Returned Error Types:
250//   * ResourceInUseException
251//   The resource is already created or in use.
252//
253//   * ResourceNotFoundException
254//   The resource does not exist in the customer account.
255//
256//   * ValidationException
257//   The parameter is not valid.
258//
259//   * InternalServerException
260//   The server encountered an internal error and is unable to complete the request.
261//
262// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateLogPattern
263func (c *ApplicationInsights) CreateLogPattern(input *CreateLogPatternInput) (*CreateLogPatternOutput, error) {
264	req, out := c.CreateLogPatternRequest(input)
265	return out, req.Send()
266}
267
268// CreateLogPatternWithContext is the same as CreateLogPattern with the addition of
269// the ability to pass a context and additional request options.
270//
271// See CreateLogPattern for details on how to use this API operation.
272//
273// The context must be non-nil and will be used for request cancellation. If
274// the context is nil a panic will occur. In the future the SDK may create
275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
276// for more information on using Contexts.
277func (c *ApplicationInsights) CreateLogPatternWithContext(ctx aws.Context, input *CreateLogPatternInput, opts ...request.Option) (*CreateLogPatternOutput, error) {
278	req, out := c.CreateLogPatternRequest(input)
279	req.SetContext(ctx)
280	req.ApplyOptions(opts...)
281	return out, req.Send()
282}
283
284const opDeleteApplication = "DeleteApplication"
285
286// DeleteApplicationRequest generates a "aws/request.Request" representing the
287// client's request for the DeleteApplication operation. The "output" return
288// value will be populated with the request's response once the request completes
289// successfully.
290//
291// Use "Send" method on the returned Request to send the API call to the service.
292// the "output" return value is not valid until after Send returns without error.
293//
294// See DeleteApplication for more information on using the DeleteApplication
295// API call, and error handling.
296//
297// This method is useful when you want to inject custom logic or configuration
298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
299//
300//
301//    // Example sending a request using the DeleteApplicationRequest method.
302//    req, resp := client.DeleteApplicationRequest(params)
303//
304//    err := req.Send()
305//    if err == nil { // resp is now filled
306//        fmt.Println(resp)
307//    }
308//
309// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DeleteApplication
310func (c *ApplicationInsights) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) {
311	op := &request.Operation{
312		Name:       opDeleteApplication,
313		HTTPMethod: "POST",
314		HTTPPath:   "/",
315	}
316
317	if input == nil {
318		input = &DeleteApplicationInput{}
319	}
320
321	output = &DeleteApplicationOutput{}
322	req = c.newRequest(op, input, output)
323	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
324	return
325}
326
327// DeleteApplication API operation for Amazon CloudWatch Application Insights.
328//
329// Removes the specified application from monitoring. Does not delete the application.
330//
331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
332// with awserr.Error's Code and Message methods to get detailed information about
333// the error.
334//
335// See the AWS API reference guide for Amazon CloudWatch Application Insights's
336// API operation DeleteApplication for usage and error information.
337//
338// Returned Error Types:
339//   * ResourceNotFoundException
340//   The resource does not exist in the customer account.
341//
342//   * ValidationException
343//   The parameter is not valid.
344//
345//   * BadRequestException
346//   The request is not understood by the server.
347//
348//   * InternalServerException
349//   The server encountered an internal error and is unable to complete the request.
350//
351// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DeleteApplication
352func (c *ApplicationInsights) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) {
353	req, out := c.DeleteApplicationRequest(input)
354	return out, req.Send()
355}
356
357// DeleteApplicationWithContext is the same as DeleteApplication with the addition of
358// the ability to pass a context and additional request options.
359//
360// See DeleteApplication for details on how to use this API operation.
361//
362// The context must be non-nil and will be used for request cancellation. If
363// the context is nil a panic will occur. In the future the SDK may create
364// sub-contexts for http.Requests. See https://golang.org/pkg/context/
365// for more information on using Contexts.
366func (c *ApplicationInsights) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) {
367	req, out := c.DeleteApplicationRequest(input)
368	req.SetContext(ctx)
369	req.ApplyOptions(opts...)
370	return out, req.Send()
371}
372
373const opDeleteComponent = "DeleteComponent"
374
375// DeleteComponentRequest generates a "aws/request.Request" representing the
376// client's request for the DeleteComponent operation. The "output" return
377// value will be populated with the request's response once the request completes
378// successfully.
379//
380// Use "Send" method on the returned Request to send the API call to the service.
381// the "output" return value is not valid until after Send returns without error.
382//
383// See DeleteComponent for more information on using the DeleteComponent
384// API call, and error handling.
385//
386// This method is useful when you want to inject custom logic or configuration
387// into the SDK's request lifecycle. Such as custom headers, or retry logic.
388//
389//
390//    // Example sending a request using the DeleteComponentRequest method.
391//    req, resp := client.DeleteComponentRequest(params)
392//
393//    err := req.Send()
394//    if err == nil { // resp is now filled
395//        fmt.Println(resp)
396//    }
397//
398// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DeleteComponent
399func (c *ApplicationInsights) DeleteComponentRequest(input *DeleteComponentInput) (req *request.Request, output *DeleteComponentOutput) {
400	op := &request.Operation{
401		Name:       opDeleteComponent,
402		HTTPMethod: "POST",
403		HTTPPath:   "/",
404	}
405
406	if input == nil {
407		input = &DeleteComponentInput{}
408	}
409
410	output = &DeleteComponentOutput{}
411	req = c.newRequest(op, input, output)
412	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
413	return
414}
415
416// DeleteComponent API operation for Amazon CloudWatch Application Insights.
417//
418// Ungroups a custom component. When you ungroup custom components, all applicable
419// monitors that are set up for the component are removed and the instances
420// revert to their standalone status.
421//
422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
423// with awserr.Error's Code and Message methods to get detailed information about
424// the error.
425//
426// See the AWS API reference guide for Amazon CloudWatch Application Insights's
427// API operation DeleteComponent for usage and error information.
428//
429// Returned Error Types:
430//   * ResourceNotFoundException
431//   The resource does not exist in the customer account.
432//
433//   * ValidationException
434//   The parameter is not valid.
435//
436//   * InternalServerException
437//   The server encountered an internal error and is unable to complete the request.
438//
439// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DeleteComponent
440func (c *ApplicationInsights) DeleteComponent(input *DeleteComponentInput) (*DeleteComponentOutput, error) {
441	req, out := c.DeleteComponentRequest(input)
442	return out, req.Send()
443}
444
445// DeleteComponentWithContext is the same as DeleteComponent with the addition of
446// the ability to pass a context and additional request options.
447//
448// See DeleteComponent for details on how to use this API operation.
449//
450// The context must be non-nil and will be used for request cancellation. If
451// the context is nil a panic will occur. In the future the SDK may create
452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
453// for more information on using Contexts.
454func (c *ApplicationInsights) DeleteComponentWithContext(ctx aws.Context, input *DeleteComponentInput, opts ...request.Option) (*DeleteComponentOutput, error) {
455	req, out := c.DeleteComponentRequest(input)
456	req.SetContext(ctx)
457	req.ApplyOptions(opts...)
458	return out, req.Send()
459}
460
461const opDeleteLogPattern = "DeleteLogPattern"
462
463// DeleteLogPatternRequest generates a "aws/request.Request" representing the
464// client's request for the DeleteLogPattern operation. The "output" return
465// value will be populated with the request's response once the request completes
466// successfully.
467//
468// Use "Send" method on the returned Request to send the API call to the service.
469// the "output" return value is not valid until after Send returns without error.
470//
471// See DeleteLogPattern for more information on using the DeleteLogPattern
472// API call, and error handling.
473//
474// This method is useful when you want to inject custom logic or configuration
475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
476//
477//
478//    // Example sending a request using the DeleteLogPatternRequest method.
479//    req, resp := client.DeleteLogPatternRequest(params)
480//
481//    err := req.Send()
482//    if err == nil { // resp is now filled
483//        fmt.Println(resp)
484//    }
485//
486// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DeleteLogPattern
487func (c *ApplicationInsights) DeleteLogPatternRequest(input *DeleteLogPatternInput) (req *request.Request, output *DeleteLogPatternOutput) {
488	op := &request.Operation{
489		Name:       opDeleteLogPattern,
490		HTTPMethod: "POST",
491		HTTPPath:   "/",
492	}
493
494	if input == nil {
495		input = &DeleteLogPatternInput{}
496	}
497
498	output = &DeleteLogPatternOutput{}
499	req = c.newRequest(op, input, output)
500	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
501	return
502}
503
504// DeleteLogPattern API operation for Amazon CloudWatch Application Insights.
505//
506// Removes the specified log pattern from a LogPatternSet.
507//
508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
509// with awserr.Error's Code and Message methods to get detailed information about
510// the error.
511//
512// See the AWS API reference guide for Amazon CloudWatch Application Insights's
513// API operation DeleteLogPattern for usage and error information.
514//
515// Returned Error Types:
516//   * ResourceNotFoundException
517//   The resource does not exist in the customer account.
518//
519//   * ValidationException
520//   The parameter is not valid.
521//
522//   * BadRequestException
523//   The request is not understood by the server.
524//
525//   * InternalServerException
526//   The server encountered an internal error and is unable to complete the request.
527//
528// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DeleteLogPattern
529func (c *ApplicationInsights) DeleteLogPattern(input *DeleteLogPatternInput) (*DeleteLogPatternOutput, error) {
530	req, out := c.DeleteLogPatternRequest(input)
531	return out, req.Send()
532}
533
534// DeleteLogPatternWithContext is the same as DeleteLogPattern with the addition of
535// the ability to pass a context and additional request options.
536//
537// See DeleteLogPattern for details on how to use this API operation.
538//
539// The context must be non-nil and will be used for request cancellation. If
540// the context is nil a panic will occur. In the future the SDK may create
541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
542// for more information on using Contexts.
543func (c *ApplicationInsights) DeleteLogPatternWithContext(ctx aws.Context, input *DeleteLogPatternInput, opts ...request.Option) (*DeleteLogPatternOutput, error) {
544	req, out := c.DeleteLogPatternRequest(input)
545	req.SetContext(ctx)
546	req.ApplyOptions(opts...)
547	return out, req.Send()
548}
549
550const opDescribeApplication = "DescribeApplication"
551
552// DescribeApplicationRequest generates a "aws/request.Request" representing the
553// client's request for the DescribeApplication operation. The "output" return
554// value will be populated with the request's response once the request completes
555// successfully.
556//
557// Use "Send" method on the returned Request to send the API call to the service.
558// the "output" return value is not valid until after Send returns without error.
559//
560// See DescribeApplication for more information on using the DescribeApplication
561// API call, and error handling.
562//
563// This method is useful when you want to inject custom logic or configuration
564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
565//
566//
567//    // Example sending a request using the DescribeApplicationRequest method.
568//    req, resp := client.DescribeApplicationRequest(params)
569//
570//    err := req.Send()
571//    if err == nil { // resp is now filled
572//        fmt.Println(resp)
573//    }
574//
575// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeApplication
576func (c *ApplicationInsights) DescribeApplicationRequest(input *DescribeApplicationInput) (req *request.Request, output *DescribeApplicationOutput) {
577	op := &request.Operation{
578		Name:       opDescribeApplication,
579		HTTPMethod: "POST",
580		HTTPPath:   "/",
581	}
582
583	if input == nil {
584		input = &DescribeApplicationInput{}
585	}
586
587	output = &DescribeApplicationOutput{}
588	req = c.newRequest(op, input, output)
589	return
590}
591
592// DescribeApplication API operation for Amazon CloudWatch Application Insights.
593//
594// Describes the application.
595//
596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
597// with awserr.Error's Code and Message methods to get detailed information about
598// the error.
599//
600// See the AWS API reference guide for Amazon CloudWatch Application Insights's
601// API operation DescribeApplication for usage and error information.
602//
603// Returned Error Types:
604//   * ResourceNotFoundException
605//   The resource does not exist in the customer account.
606//
607//   * ValidationException
608//   The parameter is not valid.
609//
610//   * InternalServerException
611//   The server encountered an internal error and is unable to complete the request.
612//
613// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeApplication
614func (c *ApplicationInsights) DescribeApplication(input *DescribeApplicationInput) (*DescribeApplicationOutput, error) {
615	req, out := c.DescribeApplicationRequest(input)
616	return out, req.Send()
617}
618
619// DescribeApplicationWithContext is the same as DescribeApplication with the addition of
620// the ability to pass a context and additional request options.
621//
622// See DescribeApplication for details on how to use this API operation.
623//
624// The context must be non-nil and will be used for request cancellation. If
625// the context is nil a panic will occur. In the future the SDK may create
626// sub-contexts for http.Requests. See https://golang.org/pkg/context/
627// for more information on using Contexts.
628func (c *ApplicationInsights) DescribeApplicationWithContext(ctx aws.Context, input *DescribeApplicationInput, opts ...request.Option) (*DescribeApplicationOutput, error) {
629	req, out := c.DescribeApplicationRequest(input)
630	req.SetContext(ctx)
631	req.ApplyOptions(opts...)
632	return out, req.Send()
633}
634
635const opDescribeComponent = "DescribeComponent"
636
637// DescribeComponentRequest generates a "aws/request.Request" representing the
638// client's request for the DescribeComponent operation. The "output" return
639// value will be populated with the request's response once the request completes
640// successfully.
641//
642// Use "Send" method on the returned Request to send the API call to the service.
643// the "output" return value is not valid until after Send returns without error.
644//
645// See DescribeComponent for more information on using the DescribeComponent
646// API call, and error handling.
647//
648// This method is useful when you want to inject custom logic or configuration
649// into the SDK's request lifecycle. Such as custom headers, or retry logic.
650//
651//
652//    // Example sending a request using the DescribeComponentRequest method.
653//    req, resp := client.DescribeComponentRequest(params)
654//
655//    err := req.Send()
656//    if err == nil { // resp is now filled
657//        fmt.Println(resp)
658//    }
659//
660// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeComponent
661func (c *ApplicationInsights) DescribeComponentRequest(input *DescribeComponentInput) (req *request.Request, output *DescribeComponentOutput) {
662	op := &request.Operation{
663		Name:       opDescribeComponent,
664		HTTPMethod: "POST",
665		HTTPPath:   "/",
666	}
667
668	if input == nil {
669		input = &DescribeComponentInput{}
670	}
671
672	output = &DescribeComponentOutput{}
673	req = c.newRequest(op, input, output)
674	return
675}
676
677// DescribeComponent API operation for Amazon CloudWatch Application Insights.
678//
679// Describes a component and lists the resources that are grouped together in
680// a component.
681//
682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
683// with awserr.Error's Code and Message methods to get detailed information about
684// the error.
685//
686// See the AWS API reference guide for Amazon CloudWatch Application Insights's
687// API operation DescribeComponent for usage and error information.
688//
689// Returned Error Types:
690//   * ResourceNotFoundException
691//   The resource does not exist in the customer account.
692//
693//   * ValidationException
694//   The parameter is not valid.
695//
696//   * InternalServerException
697//   The server encountered an internal error and is unable to complete the request.
698//
699// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeComponent
700func (c *ApplicationInsights) DescribeComponent(input *DescribeComponentInput) (*DescribeComponentOutput, error) {
701	req, out := c.DescribeComponentRequest(input)
702	return out, req.Send()
703}
704
705// DescribeComponentWithContext is the same as DescribeComponent with the addition of
706// the ability to pass a context and additional request options.
707//
708// See DescribeComponent for details on how to use this API operation.
709//
710// The context must be non-nil and will be used for request cancellation. If
711// the context is nil a panic will occur. In the future the SDK may create
712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
713// for more information on using Contexts.
714func (c *ApplicationInsights) DescribeComponentWithContext(ctx aws.Context, input *DescribeComponentInput, opts ...request.Option) (*DescribeComponentOutput, error) {
715	req, out := c.DescribeComponentRequest(input)
716	req.SetContext(ctx)
717	req.ApplyOptions(opts...)
718	return out, req.Send()
719}
720
721const opDescribeComponentConfiguration = "DescribeComponentConfiguration"
722
723// DescribeComponentConfigurationRequest generates a "aws/request.Request" representing the
724// client's request for the DescribeComponentConfiguration operation. The "output" return
725// value will be populated with the request's response once the request completes
726// successfully.
727//
728// Use "Send" method on the returned Request to send the API call to the service.
729// the "output" return value is not valid until after Send returns without error.
730//
731// See DescribeComponentConfiguration for more information on using the DescribeComponentConfiguration
732// API call, and error handling.
733//
734// This method is useful when you want to inject custom logic or configuration
735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
736//
737//
738//    // Example sending a request using the DescribeComponentConfigurationRequest method.
739//    req, resp := client.DescribeComponentConfigurationRequest(params)
740//
741//    err := req.Send()
742//    if err == nil { // resp is now filled
743//        fmt.Println(resp)
744//    }
745//
746// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeComponentConfiguration
747func (c *ApplicationInsights) DescribeComponentConfigurationRequest(input *DescribeComponentConfigurationInput) (req *request.Request, output *DescribeComponentConfigurationOutput) {
748	op := &request.Operation{
749		Name:       opDescribeComponentConfiguration,
750		HTTPMethod: "POST",
751		HTTPPath:   "/",
752	}
753
754	if input == nil {
755		input = &DescribeComponentConfigurationInput{}
756	}
757
758	output = &DescribeComponentConfigurationOutput{}
759	req = c.newRequest(op, input, output)
760	return
761}
762
763// DescribeComponentConfiguration API operation for Amazon CloudWatch Application Insights.
764//
765// Describes the monitoring configuration of the component.
766//
767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
768// with awserr.Error's Code and Message methods to get detailed information about
769// the error.
770//
771// See the AWS API reference guide for Amazon CloudWatch Application Insights's
772// API operation DescribeComponentConfiguration for usage and error information.
773//
774// Returned Error Types:
775//   * ResourceNotFoundException
776//   The resource does not exist in the customer account.
777//
778//   * ValidationException
779//   The parameter is not valid.
780//
781//   * InternalServerException
782//   The server encountered an internal error and is unable to complete the request.
783//
784// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeComponentConfiguration
785func (c *ApplicationInsights) DescribeComponentConfiguration(input *DescribeComponentConfigurationInput) (*DescribeComponentConfigurationOutput, error) {
786	req, out := c.DescribeComponentConfigurationRequest(input)
787	return out, req.Send()
788}
789
790// DescribeComponentConfigurationWithContext is the same as DescribeComponentConfiguration with the addition of
791// the ability to pass a context and additional request options.
792//
793// See DescribeComponentConfiguration for details on how to use this API operation.
794//
795// The context must be non-nil and will be used for request cancellation. If
796// the context is nil a panic will occur. In the future the SDK may create
797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
798// for more information on using Contexts.
799func (c *ApplicationInsights) DescribeComponentConfigurationWithContext(ctx aws.Context, input *DescribeComponentConfigurationInput, opts ...request.Option) (*DescribeComponentConfigurationOutput, error) {
800	req, out := c.DescribeComponentConfigurationRequest(input)
801	req.SetContext(ctx)
802	req.ApplyOptions(opts...)
803	return out, req.Send()
804}
805
806const opDescribeComponentConfigurationRecommendation = "DescribeComponentConfigurationRecommendation"
807
808// DescribeComponentConfigurationRecommendationRequest generates a "aws/request.Request" representing the
809// client's request for the DescribeComponentConfigurationRecommendation operation. The "output" return
810// value will be populated with the request's response once the request completes
811// successfully.
812//
813// Use "Send" method on the returned Request to send the API call to the service.
814// the "output" return value is not valid until after Send returns without error.
815//
816// See DescribeComponentConfigurationRecommendation for more information on using the DescribeComponentConfigurationRecommendation
817// API call, and error handling.
818//
819// This method is useful when you want to inject custom logic or configuration
820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
821//
822//
823//    // Example sending a request using the DescribeComponentConfigurationRecommendationRequest method.
824//    req, resp := client.DescribeComponentConfigurationRecommendationRequest(params)
825//
826//    err := req.Send()
827//    if err == nil { // resp is now filled
828//        fmt.Println(resp)
829//    }
830//
831// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeComponentConfigurationRecommendation
832func (c *ApplicationInsights) DescribeComponentConfigurationRecommendationRequest(input *DescribeComponentConfigurationRecommendationInput) (req *request.Request, output *DescribeComponentConfigurationRecommendationOutput) {
833	op := &request.Operation{
834		Name:       opDescribeComponentConfigurationRecommendation,
835		HTTPMethod: "POST",
836		HTTPPath:   "/",
837	}
838
839	if input == nil {
840		input = &DescribeComponentConfigurationRecommendationInput{}
841	}
842
843	output = &DescribeComponentConfigurationRecommendationOutput{}
844	req = c.newRequest(op, input, output)
845	return
846}
847
848// DescribeComponentConfigurationRecommendation API operation for Amazon CloudWatch Application Insights.
849//
850// Describes the recommended monitoring configuration of the component.
851//
852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
853// with awserr.Error's Code and Message methods to get detailed information about
854// the error.
855//
856// See the AWS API reference guide for Amazon CloudWatch Application Insights's
857// API operation DescribeComponentConfigurationRecommendation for usage and error information.
858//
859// Returned Error Types:
860//   * ResourceNotFoundException
861//   The resource does not exist in the customer account.
862//
863//   * ValidationException
864//   The parameter is not valid.
865//
866//   * InternalServerException
867//   The server encountered an internal error and is unable to complete the request.
868//
869// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeComponentConfigurationRecommendation
870func (c *ApplicationInsights) DescribeComponentConfigurationRecommendation(input *DescribeComponentConfigurationRecommendationInput) (*DescribeComponentConfigurationRecommendationOutput, error) {
871	req, out := c.DescribeComponentConfigurationRecommendationRequest(input)
872	return out, req.Send()
873}
874
875// DescribeComponentConfigurationRecommendationWithContext is the same as DescribeComponentConfigurationRecommendation with the addition of
876// the ability to pass a context and additional request options.
877//
878// See DescribeComponentConfigurationRecommendation for details on how to use this API operation.
879//
880// The context must be non-nil and will be used for request cancellation. If
881// the context is nil a panic will occur. In the future the SDK may create
882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
883// for more information on using Contexts.
884func (c *ApplicationInsights) DescribeComponentConfigurationRecommendationWithContext(ctx aws.Context, input *DescribeComponentConfigurationRecommendationInput, opts ...request.Option) (*DescribeComponentConfigurationRecommendationOutput, error) {
885	req, out := c.DescribeComponentConfigurationRecommendationRequest(input)
886	req.SetContext(ctx)
887	req.ApplyOptions(opts...)
888	return out, req.Send()
889}
890
891const opDescribeLogPattern = "DescribeLogPattern"
892
893// DescribeLogPatternRequest generates a "aws/request.Request" representing the
894// client's request for the DescribeLogPattern operation. The "output" return
895// value will be populated with the request's response once the request completes
896// successfully.
897//
898// Use "Send" method on the returned Request to send the API call to the service.
899// the "output" return value is not valid until after Send returns without error.
900//
901// See DescribeLogPattern for more information on using the DescribeLogPattern
902// API call, and error handling.
903//
904// This method is useful when you want to inject custom logic or configuration
905// into the SDK's request lifecycle. Such as custom headers, or retry logic.
906//
907//
908//    // Example sending a request using the DescribeLogPatternRequest method.
909//    req, resp := client.DescribeLogPatternRequest(params)
910//
911//    err := req.Send()
912//    if err == nil { // resp is now filled
913//        fmt.Println(resp)
914//    }
915//
916// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeLogPattern
917func (c *ApplicationInsights) DescribeLogPatternRequest(input *DescribeLogPatternInput) (req *request.Request, output *DescribeLogPatternOutput) {
918	op := &request.Operation{
919		Name:       opDescribeLogPattern,
920		HTTPMethod: "POST",
921		HTTPPath:   "/",
922	}
923
924	if input == nil {
925		input = &DescribeLogPatternInput{}
926	}
927
928	output = &DescribeLogPatternOutput{}
929	req = c.newRequest(op, input, output)
930	return
931}
932
933// DescribeLogPattern API operation for Amazon CloudWatch Application Insights.
934//
935// Describe a specific log pattern from a LogPatternSet.
936//
937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
938// with awserr.Error's Code and Message methods to get detailed information about
939// the error.
940//
941// See the AWS API reference guide for Amazon CloudWatch Application Insights's
942// API operation DescribeLogPattern for usage and error information.
943//
944// Returned Error Types:
945//   * ResourceNotFoundException
946//   The resource does not exist in the customer account.
947//
948//   * ValidationException
949//   The parameter is not valid.
950//
951//   * InternalServerException
952//   The server encountered an internal error and is unable to complete the request.
953//
954// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeLogPattern
955func (c *ApplicationInsights) DescribeLogPattern(input *DescribeLogPatternInput) (*DescribeLogPatternOutput, error) {
956	req, out := c.DescribeLogPatternRequest(input)
957	return out, req.Send()
958}
959
960// DescribeLogPatternWithContext is the same as DescribeLogPattern with the addition of
961// the ability to pass a context and additional request options.
962//
963// See DescribeLogPattern for details on how to use this API operation.
964//
965// The context must be non-nil and will be used for request cancellation. If
966// the context is nil a panic will occur. In the future the SDK may create
967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
968// for more information on using Contexts.
969func (c *ApplicationInsights) DescribeLogPatternWithContext(ctx aws.Context, input *DescribeLogPatternInput, opts ...request.Option) (*DescribeLogPatternOutput, error) {
970	req, out := c.DescribeLogPatternRequest(input)
971	req.SetContext(ctx)
972	req.ApplyOptions(opts...)
973	return out, req.Send()
974}
975
976const opDescribeObservation = "DescribeObservation"
977
978// DescribeObservationRequest generates a "aws/request.Request" representing the
979// client's request for the DescribeObservation operation. The "output" return
980// value will be populated with the request's response once the request completes
981// successfully.
982//
983// Use "Send" method on the returned Request to send the API call to the service.
984// the "output" return value is not valid until after Send returns without error.
985//
986// See DescribeObservation for more information on using the DescribeObservation
987// API call, and error handling.
988//
989// This method is useful when you want to inject custom logic or configuration
990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
991//
992//
993//    // Example sending a request using the DescribeObservationRequest method.
994//    req, resp := client.DescribeObservationRequest(params)
995//
996//    err := req.Send()
997//    if err == nil { // resp is now filled
998//        fmt.Println(resp)
999//    }
1000//
1001// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeObservation
1002func (c *ApplicationInsights) DescribeObservationRequest(input *DescribeObservationInput) (req *request.Request, output *DescribeObservationOutput) {
1003	op := &request.Operation{
1004		Name:       opDescribeObservation,
1005		HTTPMethod: "POST",
1006		HTTPPath:   "/",
1007	}
1008
1009	if input == nil {
1010		input = &DescribeObservationInput{}
1011	}
1012
1013	output = &DescribeObservationOutput{}
1014	req = c.newRequest(op, input, output)
1015	return
1016}
1017
1018// DescribeObservation API operation for Amazon CloudWatch Application Insights.
1019//
1020// Describes an anomaly or error with the application.
1021//
1022// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1023// with awserr.Error's Code and Message methods to get detailed information about
1024// the error.
1025//
1026// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1027// API operation DescribeObservation for usage and error information.
1028//
1029// Returned Error Types:
1030//   * InternalServerException
1031//   The server encountered an internal error and is unable to complete the request.
1032//
1033//   * ValidationException
1034//   The parameter is not valid.
1035//
1036//   * ResourceNotFoundException
1037//   The resource does not exist in the customer account.
1038//
1039// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeObservation
1040func (c *ApplicationInsights) DescribeObservation(input *DescribeObservationInput) (*DescribeObservationOutput, error) {
1041	req, out := c.DescribeObservationRequest(input)
1042	return out, req.Send()
1043}
1044
1045// DescribeObservationWithContext is the same as DescribeObservation with the addition of
1046// the ability to pass a context and additional request options.
1047//
1048// See DescribeObservation for details on how to use this API operation.
1049//
1050// The context must be non-nil and will be used for request cancellation. If
1051// the context is nil a panic will occur. In the future the SDK may create
1052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1053// for more information on using Contexts.
1054func (c *ApplicationInsights) DescribeObservationWithContext(ctx aws.Context, input *DescribeObservationInput, opts ...request.Option) (*DescribeObservationOutput, error) {
1055	req, out := c.DescribeObservationRequest(input)
1056	req.SetContext(ctx)
1057	req.ApplyOptions(opts...)
1058	return out, req.Send()
1059}
1060
1061const opDescribeProblem = "DescribeProblem"
1062
1063// DescribeProblemRequest generates a "aws/request.Request" representing the
1064// client's request for the DescribeProblem operation. The "output" return
1065// value will be populated with the request's response once the request completes
1066// successfully.
1067//
1068// Use "Send" method on the returned Request to send the API call to the service.
1069// the "output" return value is not valid until after Send returns without error.
1070//
1071// See DescribeProblem for more information on using the DescribeProblem
1072// API call, and error handling.
1073//
1074// This method is useful when you want to inject custom logic or configuration
1075// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1076//
1077//
1078//    // Example sending a request using the DescribeProblemRequest method.
1079//    req, resp := client.DescribeProblemRequest(params)
1080//
1081//    err := req.Send()
1082//    if err == nil { // resp is now filled
1083//        fmt.Println(resp)
1084//    }
1085//
1086// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeProblem
1087func (c *ApplicationInsights) DescribeProblemRequest(input *DescribeProblemInput) (req *request.Request, output *DescribeProblemOutput) {
1088	op := &request.Operation{
1089		Name:       opDescribeProblem,
1090		HTTPMethod: "POST",
1091		HTTPPath:   "/",
1092	}
1093
1094	if input == nil {
1095		input = &DescribeProblemInput{}
1096	}
1097
1098	output = &DescribeProblemOutput{}
1099	req = c.newRequest(op, input, output)
1100	return
1101}
1102
1103// DescribeProblem API operation for Amazon CloudWatch Application Insights.
1104//
1105// Describes an application problem.
1106//
1107// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1108// with awserr.Error's Code and Message methods to get detailed information about
1109// the error.
1110//
1111// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1112// API operation DescribeProblem for usage and error information.
1113//
1114// Returned Error Types:
1115//   * InternalServerException
1116//   The server encountered an internal error and is unable to complete the request.
1117//
1118//   * ValidationException
1119//   The parameter is not valid.
1120//
1121//   * ResourceNotFoundException
1122//   The resource does not exist in the customer account.
1123//
1124// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeProblem
1125func (c *ApplicationInsights) DescribeProblem(input *DescribeProblemInput) (*DescribeProblemOutput, error) {
1126	req, out := c.DescribeProblemRequest(input)
1127	return out, req.Send()
1128}
1129
1130// DescribeProblemWithContext is the same as DescribeProblem with the addition of
1131// the ability to pass a context and additional request options.
1132//
1133// See DescribeProblem for details on how to use this API operation.
1134//
1135// The context must be non-nil and will be used for request cancellation. If
1136// the context is nil a panic will occur. In the future the SDK may create
1137// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1138// for more information on using Contexts.
1139func (c *ApplicationInsights) DescribeProblemWithContext(ctx aws.Context, input *DescribeProblemInput, opts ...request.Option) (*DescribeProblemOutput, error) {
1140	req, out := c.DescribeProblemRequest(input)
1141	req.SetContext(ctx)
1142	req.ApplyOptions(opts...)
1143	return out, req.Send()
1144}
1145
1146const opDescribeProblemObservations = "DescribeProblemObservations"
1147
1148// DescribeProblemObservationsRequest generates a "aws/request.Request" representing the
1149// client's request for the DescribeProblemObservations operation. The "output" return
1150// value will be populated with the request's response once the request completes
1151// successfully.
1152//
1153// Use "Send" method on the returned Request to send the API call to the service.
1154// the "output" return value is not valid until after Send returns without error.
1155//
1156// See DescribeProblemObservations for more information on using the DescribeProblemObservations
1157// API call, and error handling.
1158//
1159// This method is useful when you want to inject custom logic or configuration
1160// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1161//
1162//
1163//    // Example sending a request using the DescribeProblemObservationsRequest method.
1164//    req, resp := client.DescribeProblemObservationsRequest(params)
1165//
1166//    err := req.Send()
1167//    if err == nil { // resp is now filled
1168//        fmt.Println(resp)
1169//    }
1170//
1171// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeProblemObservations
1172func (c *ApplicationInsights) DescribeProblemObservationsRequest(input *DescribeProblemObservationsInput) (req *request.Request, output *DescribeProblemObservationsOutput) {
1173	op := &request.Operation{
1174		Name:       opDescribeProblemObservations,
1175		HTTPMethod: "POST",
1176		HTTPPath:   "/",
1177	}
1178
1179	if input == nil {
1180		input = &DescribeProblemObservationsInput{}
1181	}
1182
1183	output = &DescribeProblemObservationsOutput{}
1184	req = c.newRequest(op, input, output)
1185	return
1186}
1187
1188// DescribeProblemObservations API operation for Amazon CloudWatch Application Insights.
1189//
1190// Describes the anomalies or errors associated with the problem.
1191//
1192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1193// with awserr.Error's Code and Message methods to get detailed information about
1194// the error.
1195//
1196// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1197// API operation DescribeProblemObservations for usage and error information.
1198//
1199// Returned Error Types:
1200//   * InternalServerException
1201//   The server encountered an internal error and is unable to complete the request.
1202//
1203//   * ValidationException
1204//   The parameter is not valid.
1205//
1206//   * ResourceNotFoundException
1207//   The resource does not exist in the customer account.
1208//
1209// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeProblemObservations
1210func (c *ApplicationInsights) DescribeProblemObservations(input *DescribeProblemObservationsInput) (*DescribeProblemObservationsOutput, error) {
1211	req, out := c.DescribeProblemObservationsRequest(input)
1212	return out, req.Send()
1213}
1214
1215// DescribeProblemObservationsWithContext is the same as DescribeProblemObservations with the addition of
1216// the ability to pass a context and additional request options.
1217//
1218// See DescribeProblemObservations for details on how to use this API operation.
1219//
1220// The context must be non-nil and will be used for request cancellation. If
1221// the context is nil a panic will occur. In the future the SDK may create
1222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1223// for more information on using Contexts.
1224func (c *ApplicationInsights) DescribeProblemObservationsWithContext(ctx aws.Context, input *DescribeProblemObservationsInput, opts ...request.Option) (*DescribeProblemObservationsOutput, error) {
1225	req, out := c.DescribeProblemObservationsRequest(input)
1226	req.SetContext(ctx)
1227	req.ApplyOptions(opts...)
1228	return out, req.Send()
1229}
1230
1231const opListApplications = "ListApplications"
1232
1233// ListApplicationsRequest generates a "aws/request.Request" representing the
1234// client's request for the ListApplications operation. The "output" return
1235// value will be populated with the request's response once the request completes
1236// successfully.
1237//
1238// Use "Send" method on the returned Request to send the API call to the service.
1239// the "output" return value is not valid until after Send returns without error.
1240//
1241// See ListApplications for more information on using the ListApplications
1242// API call, and error handling.
1243//
1244// This method is useful when you want to inject custom logic or configuration
1245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1246//
1247//
1248//    // Example sending a request using the ListApplicationsRequest method.
1249//    req, resp := client.ListApplicationsRequest(params)
1250//
1251//    err := req.Send()
1252//    if err == nil { // resp is now filled
1253//        fmt.Println(resp)
1254//    }
1255//
1256// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListApplications
1257func (c *ApplicationInsights) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) {
1258	op := &request.Operation{
1259		Name:       opListApplications,
1260		HTTPMethod: "POST",
1261		HTTPPath:   "/",
1262		Paginator: &request.Paginator{
1263			InputTokens:     []string{"NextToken"},
1264			OutputTokens:    []string{"NextToken"},
1265			LimitToken:      "MaxResults",
1266			TruncationToken: "",
1267		},
1268	}
1269
1270	if input == nil {
1271		input = &ListApplicationsInput{}
1272	}
1273
1274	output = &ListApplicationsOutput{}
1275	req = c.newRequest(op, input, output)
1276	return
1277}
1278
1279// ListApplications API operation for Amazon CloudWatch Application Insights.
1280//
1281// Lists the IDs of the applications that you are monitoring.
1282//
1283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1284// with awserr.Error's Code and Message methods to get detailed information about
1285// the error.
1286//
1287// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1288// API operation ListApplications for usage and error information.
1289//
1290// Returned Error Types:
1291//   * ValidationException
1292//   The parameter is not valid.
1293//
1294//   * InternalServerException
1295//   The server encountered an internal error and is unable to complete the request.
1296//
1297// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListApplications
1298func (c *ApplicationInsights) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) {
1299	req, out := c.ListApplicationsRequest(input)
1300	return out, req.Send()
1301}
1302
1303// ListApplicationsWithContext is the same as ListApplications with the addition of
1304// the ability to pass a context and additional request options.
1305//
1306// See ListApplications for details on how to use this API operation.
1307//
1308// The context must be non-nil and will be used for request cancellation. If
1309// the context is nil a panic will occur. In the future the SDK may create
1310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1311// for more information on using Contexts.
1312func (c *ApplicationInsights) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) {
1313	req, out := c.ListApplicationsRequest(input)
1314	req.SetContext(ctx)
1315	req.ApplyOptions(opts...)
1316	return out, req.Send()
1317}
1318
1319// ListApplicationsPages iterates over the pages of a ListApplications operation,
1320// calling the "fn" function with the response data for each page. To stop
1321// iterating, return false from the fn function.
1322//
1323// See ListApplications method for more information on how to use this operation.
1324//
1325// Note: This operation can generate multiple requests to a service.
1326//
1327//    // Example iterating over at most 3 pages of a ListApplications operation.
1328//    pageNum := 0
1329//    err := client.ListApplicationsPages(params,
1330//        func(page *applicationinsights.ListApplicationsOutput, lastPage bool) bool {
1331//            pageNum++
1332//            fmt.Println(page)
1333//            return pageNum <= 3
1334//        })
1335//
1336func (c *ApplicationInsights) ListApplicationsPages(input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool) error {
1337	return c.ListApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
1338}
1339
1340// ListApplicationsPagesWithContext same as ListApplicationsPages except
1341// it takes a Context and allows setting request options on the pages.
1342//
1343// The context must be non-nil and will be used for request cancellation. If
1344// the context is nil a panic will occur. In the future the SDK may create
1345// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1346// for more information on using Contexts.
1347func (c *ApplicationInsights) ListApplicationsPagesWithContext(ctx aws.Context, input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool, opts ...request.Option) error {
1348	p := request.Pagination{
1349		NewRequest: func() (*request.Request, error) {
1350			var inCpy *ListApplicationsInput
1351			if input != nil {
1352				tmp := *input
1353				inCpy = &tmp
1354			}
1355			req, _ := c.ListApplicationsRequest(inCpy)
1356			req.SetContext(ctx)
1357			req.ApplyOptions(opts...)
1358			return req, nil
1359		},
1360	}
1361
1362	for p.Next() {
1363		if !fn(p.Page().(*ListApplicationsOutput), !p.HasNextPage()) {
1364			break
1365		}
1366	}
1367
1368	return p.Err()
1369}
1370
1371const opListComponents = "ListComponents"
1372
1373// ListComponentsRequest generates a "aws/request.Request" representing the
1374// client's request for the ListComponents operation. The "output" return
1375// value will be populated with the request's response once the request completes
1376// successfully.
1377//
1378// Use "Send" method on the returned Request to send the API call to the service.
1379// the "output" return value is not valid until after Send returns without error.
1380//
1381// See ListComponents for more information on using the ListComponents
1382// API call, and error handling.
1383//
1384// This method is useful when you want to inject custom logic or configuration
1385// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1386//
1387//
1388//    // Example sending a request using the ListComponentsRequest method.
1389//    req, resp := client.ListComponentsRequest(params)
1390//
1391//    err := req.Send()
1392//    if err == nil { // resp is now filled
1393//        fmt.Println(resp)
1394//    }
1395//
1396// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListComponents
1397func (c *ApplicationInsights) ListComponentsRequest(input *ListComponentsInput) (req *request.Request, output *ListComponentsOutput) {
1398	op := &request.Operation{
1399		Name:       opListComponents,
1400		HTTPMethod: "POST",
1401		HTTPPath:   "/",
1402		Paginator: &request.Paginator{
1403			InputTokens:     []string{"NextToken"},
1404			OutputTokens:    []string{"NextToken"},
1405			LimitToken:      "MaxResults",
1406			TruncationToken: "",
1407		},
1408	}
1409
1410	if input == nil {
1411		input = &ListComponentsInput{}
1412	}
1413
1414	output = &ListComponentsOutput{}
1415	req = c.newRequest(op, input, output)
1416	return
1417}
1418
1419// ListComponents API operation for Amazon CloudWatch Application Insights.
1420//
1421// Lists the auto-grouped, standalone, and custom components of the application.
1422//
1423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1424// with awserr.Error's Code and Message methods to get detailed information about
1425// the error.
1426//
1427// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1428// API operation ListComponents for usage and error information.
1429//
1430// Returned Error Types:
1431//   * ResourceNotFoundException
1432//   The resource does not exist in the customer account.
1433//
1434//   * ValidationException
1435//   The parameter is not valid.
1436//
1437//   * InternalServerException
1438//   The server encountered an internal error and is unable to complete the request.
1439//
1440// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListComponents
1441func (c *ApplicationInsights) ListComponents(input *ListComponentsInput) (*ListComponentsOutput, error) {
1442	req, out := c.ListComponentsRequest(input)
1443	return out, req.Send()
1444}
1445
1446// ListComponentsWithContext is the same as ListComponents with the addition of
1447// the ability to pass a context and additional request options.
1448//
1449// See ListComponents for details on how to use this API operation.
1450//
1451// The context must be non-nil and will be used for request cancellation. If
1452// the context is nil a panic will occur. In the future the SDK may create
1453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1454// for more information on using Contexts.
1455func (c *ApplicationInsights) ListComponentsWithContext(ctx aws.Context, input *ListComponentsInput, opts ...request.Option) (*ListComponentsOutput, error) {
1456	req, out := c.ListComponentsRequest(input)
1457	req.SetContext(ctx)
1458	req.ApplyOptions(opts...)
1459	return out, req.Send()
1460}
1461
1462// ListComponentsPages iterates over the pages of a ListComponents operation,
1463// calling the "fn" function with the response data for each page. To stop
1464// iterating, return false from the fn function.
1465//
1466// See ListComponents method for more information on how to use this operation.
1467//
1468// Note: This operation can generate multiple requests to a service.
1469//
1470//    // Example iterating over at most 3 pages of a ListComponents operation.
1471//    pageNum := 0
1472//    err := client.ListComponentsPages(params,
1473//        func(page *applicationinsights.ListComponentsOutput, lastPage bool) bool {
1474//            pageNum++
1475//            fmt.Println(page)
1476//            return pageNum <= 3
1477//        })
1478//
1479func (c *ApplicationInsights) ListComponentsPages(input *ListComponentsInput, fn func(*ListComponentsOutput, bool) bool) error {
1480	return c.ListComponentsPagesWithContext(aws.BackgroundContext(), input, fn)
1481}
1482
1483// ListComponentsPagesWithContext same as ListComponentsPages except
1484// it takes a Context and allows setting request options on the pages.
1485//
1486// The context must be non-nil and will be used for request cancellation. If
1487// the context is nil a panic will occur. In the future the SDK may create
1488// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1489// for more information on using Contexts.
1490func (c *ApplicationInsights) ListComponentsPagesWithContext(ctx aws.Context, input *ListComponentsInput, fn func(*ListComponentsOutput, bool) bool, opts ...request.Option) error {
1491	p := request.Pagination{
1492		NewRequest: func() (*request.Request, error) {
1493			var inCpy *ListComponentsInput
1494			if input != nil {
1495				tmp := *input
1496				inCpy = &tmp
1497			}
1498			req, _ := c.ListComponentsRequest(inCpy)
1499			req.SetContext(ctx)
1500			req.ApplyOptions(opts...)
1501			return req, nil
1502		},
1503	}
1504
1505	for p.Next() {
1506		if !fn(p.Page().(*ListComponentsOutput), !p.HasNextPage()) {
1507			break
1508		}
1509	}
1510
1511	return p.Err()
1512}
1513
1514const opListConfigurationHistory = "ListConfigurationHistory"
1515
1516// ListConfigurationHistoryRequest generates a "aws/request.Request" representing the
1517// client's request for the ListConfigurationHistory operation. The "output" return
1518// value will be populated with the request's response once the request completes
1519// successfully.
1520//
1521// Use "Send" method on the returned Request to send the API call to the service.
1522// the "output" return value is not valid until after Send returns without error.
1523//
1524// See ListConfigurationHistory for more information on using the ListConfigurationHistory
1525// API call, and error handling.
1526//
1527// This method is useful when you want to inject custom logic or configuration
1528// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1529//
1530//
1531//    // Example sending a request using the ListConfigurationHistoryRequest method.
1532//    req, resp := client.ListConfigurationHistoryRequest(params)
1533//
1534//    err := req.Send()
1535//    if err == nil { // resp is now filled
1536//        fmt.Println(resp)
1537//    }
1538//
1539// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListConfigurationHistory
1540func (c *ApplicationInsights) ListConfigurationHistoryRequest(input *ListConfigurationHistoryInput) (req *request.Request, output *ListConfigurationHistoryOutput) {
1541	op := &request.Operation{
1542		Name:       opListConfigurationHistory,
1543		HTTPMethod: "POST",
1544		HTTPPath:   "/",
1545		Paginator: &request.Paginator{
1546			InputTokens:     []string{"NextToken"},
1547			OutputTokens:    []string{"NextToken"},
1548			LimitToken:      "MaxResults",
1549			TruncationToken: "",
1550		},
1551	}
1552
1553	if input == nil {
1554		input = &ListConfigurationHistoryInput{}
1555	}
1556
1557	output = &ListConfigurationHistoryOutput{}
1558	req = c.newRequest(op, input, output)
1559	return
1560}
1561
1562// ListConfigurationHistory API operation for Amazon CloudWatch Application Insights.
1563//
1564// Lists the INFO, WARN, and ERROR events for periodic configuration updates
1565// performed by Application Insights. Examples of events represented are:
1566//
1567//    * INFO: creating a new alarm or updating an alarm threshold.
1568//
1569//    * WARN: alarm not created due to insufficient data points used to predict
1570//    thresholds.
1571//
1572//    * ERROR: alarm not created due to permission errors or exceeding quotas.
1573//
1574// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1575// with awserr.Error's Code and Message methods to get detailed information about
1576// the error.
1577//
1578// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1579// API operation ListConfigurationHistory for usage and error information.
1580//
1581// Returned Error Types:
1582//   * ValidationException
1583//   The parameter is not valid.
1584//
1585//   * ResourceNotFoundException
1586//   The resource does not exist in the customer account.
1587//
1588//   * InternalServerException
1589//   The server encountered an internal error and is unable to complete the request.
1590//
1591// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListConfigurationHistory
1592func (c *ApplicationInsights) ListConfigurationHistory(input *ListConfigurationHistoryInput) (*ListConfigurationHistoryOutput, error) {
1593	req, out := c.ListConfigurationHistoryRequest(input)
1594	return out, req.Send()
1595}
1596
1597// ListConfigurationHistoryWithContext is the same as ListConfigurationHistory with the addition of
1598// the ability to pass a context and additional request options.
1599//
1600// See ListConfigurationHistory for details on how to use this API operation.
1601//
1602// The context must be non-nil and will be used for request cancellation. If
1603// the context is nil a panic will occur. In the future the SDK may create
1604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1605// for more information on using Contexts.
1606func (c *ApplicationInsights) ListConfigurationHistoryWithContext(ctx aws.Context, input *ListConfigurationHistoryInput, opts ...request.Option) (*ListConfigurationHistoryOutput, error) {
1607	req, out := c.ListConfigurationHistoryRequest(input)
1608	req.SetContext(ctx)
1609	req.ApplyOptions(opts...)
1610	return out, req.Send()
1611}
1612
1613// ListConfigurationHistoryPages iterates over the pages of a ListConfigurationHistory operation,
1614// calling the "fn" function with the response data for each page. To stop
1615// iterating, return false from the fn function.
1616//
1617// See ListConfigurationHistory method for more information on how to use this operation.
1618//
1619// Note: This operation can generate multiple requests to a service.
1620//
1621//    // Example iterating over at most 3 pages of a ListConfigurationHistory operation.
1622//    pageNum := 0
1623//    err := client.ListConfigurationHistoryPages(params,
1624//        func(page *applicationinsights.ListConfigurationHistoryOutput, lastPage bool) bool {
1625//            pageNum++
1626//            fmt.Println(page)
1627//            return pageNum <= 3
1628//        })
1629//
1630func (c *ApplicationInsights) ListConfigurationHistoryPages(input *ListConfigurationHistoryInput, fn func(*ListConfigurationHistoryOutput, bool) bool) error {
1631	return c.ListConfigurationHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
1632}
1633
1634// ListConfigurationHistoryPagesWithContext same as ListConfigurationHistoryPages except
1635// it takes a Context and allows setting request options on the pages.
1636//
1637// The context must be non-nil and will be used for request cancellation. If
1638// the context is nil a panic will occur. In the future the SDK may create
1639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1640// for more information on using Contexts.
1641func (c *ApplicationInsights) ListConfigurationHistoryPagesWithContext(ctx aws.Context, input *ListConfigurationHistoryInput, fn func(*ListConfigurationHistoryOutput, bool) bool, opts ...request.Option) error {
1642	p := request.Pagination{
1643		NewRequest: func() (*request.Request, error) {
1644			var inCpy *ListConfigurationHistoryInput
1645			if input != nil {
1646				tmp := *input
1647				inCpy = &tmp
1648			}
1649			req, _ := c.ListConfigurationHistoryRequest(inCpy)
1650			req.SetContext(ctx)
1651			req.ApplyOptions(opts...)
1652			return req, nil
1653		},
1654	}
1655
1656	for p.Next() {
1657		if !fn(p.Page().(*ListConfigurationHistoryOutput), !p.HasNextPage()) {
1658			break
1659		}
1660	}
1661
1662	return p.Err()
1663}
1664
1665const opListLogPatternSets = "ListLogPatternSets"
1666
1667// ListLogPatternSetsRequest generates a "aws/request.Request" representing the
1668// client's request for the ListLogPatternSets operation. The "output" return
1669// value will be populated with the request's response once the request completes
1670// successfully.
1671//
1672// Use "Send" method on the returned Request to send the API call to the service.
1673// the "output" return value is not valid until after Send returns without error.
1674//
1675// See ListLogPatternSets for more information on using the ListLogPatternSets
1676// API call, and error handling.
1677//
1678// This method is useful when you want to inject custom logic or configuration
1679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1680//
1681//
1682//    // Example sending a request using the ListLogPatternSetsRequest method.
1683//    req, resp := client.ListLogPatternSetsRequest(params)
1684//
1685//    err := req.Send()
1686//    if err == nil { // resp is now filled
1687//        fmt.Println(resp)
1688//    }
1689//
1690// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatternSets
1691func (c *ApplicationInsights) ListLogPatternSetsRequest(input *ListLogPatternSetsInput) (req *request.Request, output *ListLogPatternSetsOutput) {
1692	op := &request.Operation{
1693		Name:       opListLogPatternSets,
1694		HTTPMethod: "POST",
1695		HTTPPath:   "/",
1696		Paginator: &request.Paginator{
1697			InputTokens:     []string{"NextToken"},
1698			OutputTokens:    []string{"NextToken"},
1699			LimitToken:      "MaxResults",
1700			TruncationToken: "",
1701		},
1702	}
1703
1704	if input == nil {
1705		input = &ListLogPatternSetsInput{}
1706	}
1707
1708	output = &ListLogPatternSetsOutput{}
1709	req = c.newRequest(op, input, output)
1710	return
1711}
1712
1713// ListLogPatternSets API operation for Amazon CloudWatch Application Insights.
1714//
1715// Lists the log pattern sets in the specific application.
1716//
1717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1718// with awserr.Error's Code and Message methods to get detailed information about
1719// the error.
1720//
1721// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1722// API operation ListLogPatternSets for usage and error information.
1723//
1724// Returned Error Types:
1725//   * ResourceNotFoundException
1726//   The resource does not exist in the customer account.
1727//
1728//   * ValidationException
1729//   The parameter is not valid.
1730//
1731//   * InternalServerException
1732//   The server encountered an internal error and is unable to complete the request.
1733//
1734// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatternSets
1735func (c *ApplicationInsights) ListLogPatternSets(input *ListLogPatternSetsInput) (*ListLogPatternSetsOutput, error) {
1736	req, out := c.ListLogPatternSetsRequest(input)
1737	return out, req.Send()
1738}
1739
1740// ListLogPatternSetsWithContext is the same as ListLogPatternSets with the addition of
1741// the ability to pass a context and additional request options.
1742//
1743// See ListLogPatternSets for details on how to use this API operation.
1744//
1745// The context must be non-nil and will be used for request cancellation. If
1746// the context is nil a panic will occur. In the future the SDK may create
1747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1748// for more information on using Contexts.
1749func (c *ApplicationInsights) ListLogPatternSetsWithContext(ctx aws.Context, input *ListLogPatternSetsInput, opts ...request.Option) (*ListLogPatternSetsOutput, error) {
1750	req, out := c.ListLogPatternSetsRequest(input)
1751	req.SetContext(ctx)
1752	req.ApplyOptions(opts...)
1753	return out, req.Send()
1754}
1755
1756// ListLogPatternSetsPages iterates over the pages of a ListLogPatternSets operation,
1757// calling the "fn" function with the response data for each page. To stop
1758// iterating, return false from the fn function.
1759//
1760// See ListLogPatternSets method for more information on how to use this operation.
1761//
1762// Note: This operation can generate multiple requests to a service.
1763//
1764//    // Example iterating over at most 3 pages of a ListLogPatternSets operation.
1765//    pageNum := 0
1766//    err := client.ListLogPatternSetsPages(params,
1767//        func(page *applicationinsights.ListLogPatternSetsOutput, lastPage bool) bool {
1768//            pageNum++
1769//            fmt.Println(page)
1770//            return pageNum <= 3
1771//        })
1772//
1773func (c *ApplicationInsights) ListLogPatternSetsPages(input *ListLogPatternSetsInput, fn func(*ListLogPatternSetsOutput, bool) bool) error {
1774	return c.ListLogPatternSetsPagesWithContext(aws.BackgroundContext(), input, fn)
1775}
1776
1777// ListLogPatternSetsPagesWithContext same as ListLogPatternSetsPages except
1778// it takes a Context and allows setting request options on the pages.
1779//
1780// The context must be non-nil and will be used for request cancellation. If
1781// the context is nil a panic will occur. In the future the SDK may create
1782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1783// for more information on using Contexts.
1784func (c *ApplicationInsights) ListLogPatternSetsPagesWithContext(ctx aws.Context, input *ListLogPatternSetsInput, fn func(*ListLogPatternSetsOutput, bool) bool, opts ...request.Option) error {
1785	p := request.Pagination{
1786		NewRequest: func() (*request.Request, error) {
1787			var inCpy *ListLogPatternSetsInput
1788			if input != nil {
1789				tmp := *input
1790				inCpy = &tmp
1791			}
1792			req, _ := c.ListLogPatternSetsRequest(inCpy)
1793			req.SetContext(ctx)
1794			req.ApplyOptions(opts...)
1795			return req, nil
1796		},
1797	}
1798
1799	for p.Next() {
1800		if !fn(p.Page().(*ListLogPatternSetsOutput), !p.HasNextPage()) {
1801			break
1802		}
1803	}
1804
1805	return p.Err()
1806}
1807
1808const opListLogPatterns = "ListLogPatterns"
1809
1810// ListLogPatternsRequest generates a "aws/request.Request" representing the
1811// client's request for the ListLogPatterns operation. The "output" return
1812// value will be populated with the request's response once the request completes
1813// successfully.
1814//
1815// Use "Send" method on the returned Request to send the API call to the service.
1816// the "output" return value is not valid until after Send returns without error.
1817//
1818// See ListLogPatterns for more information on using the ListLogPatterns
1819// API call, and error handling.
1820//
1821// This method is useful when you want to inject custom logic or configuration
1822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1823//
1824//
1825//    // Example sending a request using the ListLogPatternsRequest method.
1826//    req, resp := client.ListLogPatternsRequest(params)
1827//
1828//    err := req.Send()
1829//    if err == nil { // resp is now filled
1830//        fmt.Println(resp)
1831//    }
1832//
1833// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatterns
1834func (c *ApplicationInsights) ListLogPatternsRequest(input *ListLogPatternsInput) (req *request.Request, output *ListLogPatternsOutput) {
1835	op := &request.Operation{
1836		Name:       opListLogPatterns,
1837		HTTPMethod: "POST",
1838		HTTPPath:   "/",
1839		Paginator: &request.Paginator{
1840			InputTokens:     []string{"NextToken"},
1841			OutputTokens:    []string{"NextToken"},
1842			LimitToken:      "MaxResults",
1843			TruncationToken: "",
1844		},
1845	}
1846
1847	if input == nil {
1848		input = &ListLogPatternsInput{}
1849	}
1850
1851	output = &ListLogPatternsOutput{}
1852	req = c.newRequest(op, input, output)
1853	return
1854}
1855
1856// ListLogPatterns API operation for Amazon CloudWatch Application Insights.
1857//
1858// Lists the log patterns in the specific log LogPatternSet.
1859//
1860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1861// with awserr.Error's Code and Message methods to get detailed information about
1862// the error.
1863//
1864// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1865// API operation ListLogPatterns for usage and error information.
1866//
1867// Returned Error Types:
1868//   * ResourceNotFoundException
1869//   The resource does not exist in the customer account.
1870//
1871//   * ValidationException
1872//   The parameter is not valid.
1873//
1874//   * InternalServerException
1875//   The server encountered an internal error and is unable to complete the request.
1876//
1877// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatterns
1878func (c *ApplicationInsights) ListLogPatterns(input *ListLogPatternsInput) (*ListLogPatternsOutput, error) {
1879	req, out := c.ListLogPatternsRequest(input)
1880	return out, req.Send()
1881}
1882
1883// ListLogPatternsWithContext is the same as ListLogPatterns with the addition of
1884// the ability to pass a context and additional request options.
1885//
1886// See ListLogPatterns for details on how to use this API operation.
1887//
1888// The context must be non-nil and will be used for request cancellation. If
1889// the context is nil a panic will occur. In the future the SDK may create
1890// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1891// for more information on using Contexts.
1892func (c *ApplicationInsights) ListLogPatternsWithContext(ctx aws.Context, input *ListLogPatternsInput, opts ...request.Option) (*ListLogPatternsOutput, error) {
1893	req, out := c.ListLogPatternsRequest(input)
1894	req.SetContext(ctx)
1895	req.ApplyOptions(opts...)
1896	return out, req.Send()
1897}
1898
1899// ListLogPatternsPages iterates over the pages of a ListLogPatterns operation,
1900// calling the "fn" function with the response data for each page. To stop
1901// iterating, return false from the fn function.
1902//
1903// See ListLogPatterns method for more information on how to use this operation.
1904//
1905// Note: This operation can generate multiple requests to a service.
1906//
1907//    // Example iterating over at most 3 pages of a ListLogPatterns operation.
1908//    pageNum := 0
1909//    err := client.ListLogPatternsPages(params,
1910//        func(page *applicationinsights.ListLogPatternsOutput, lastPage bool) bool {
1911//            pageNum++
1912//            fmt.Println(page)
1913//            return pageNum <= 3
1914//        })
1915//
1916func (c *ApplicationInsights) ListLogPatternsPages(input *ListLogPatternsInput, fn func(*ListLogPatternsOutput, bool) bool) error {
1917	return c.ListLogPatternsPagesWithContext(aws.BackgroundContext(), input, fn)
1918}
1919
1920// ListLogPatternsPagesWithContext same as ListLogPatternsPages except
1921// it takes a Context and allows setting request options on the pages.
1922//
1923// The context must be non-nil and will be used for request cancellation. If
1924// the context is nil a panic will occur. In the future the SDK may create
1925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1926// for more information on using Contexts.
1927func (c *ApplicationInsights) ListLogPatternsPagesWithContext(ctx aws.Context, input *ListLogPatternsInput, fn func(*ListLogPatternsOutput, bool) bool, opts ...request.Option) error {
1928	p := request.Pagination{
1929		NewRequest: func() (*request.Request, error) {
1930			var inCpy *ListLogPatternsInput
1931			if input != nil {
1932				tmp := *input
1933				inCpy = &tmp
1934			}
1935			req, _ := c.ListLogPatternsRequest(inCpy)
1936			req.SetContext(ctx)
1937			req.ApplyOptions(opts...)
1938			return req, nil
1939		},
1940	}
1941
1942	for p.Next() {
1943		if !fn(p.Page().(*ListLogPatternsOutput), !p.HasNextPage()) {
1944			break
1945		}
1946	}
1947
1948	return p.Err()
1949}
1950
1951const opListProblems = "ListProblems"
1952
1953// ListProblemsRequest generates a "aws/request.Request" representing the
1954// client's request for the ListProblems operation. The "output" return
1955// value will be populated with the request's response once the request completes
1956// successfully.
1957//
1958// Use "Send" method on the returned Request to send the API call to the service.
1959// the "output" return value is not valid until after Send returns without error.
1960//
1961// See ListProblems for more information on using the ListProblems
1962// API call, and error handling.
1963//
1964// This method is useful when you want to inject custom logic or configuration
1965// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1966//
1967//
1968//    // Example sending a request using the ListProblemsRequest method.
1969//    req, resp := client.ListProblemsRequest(params)
1970//
1971//    err := req.Send()
1972//    if err == nil { // resp is now filled
1973//        fmt.Println(resp)
1974//    }
1975//
1976// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems
1977func (c *ApplicationInsights) ListProblemsRequest(input *ListProblemsInput) (req *request.Request, output *ListProblemsOutput) {
1978	op := &request.Operation{
1979		Name:       opListProblems,
1980		HTTPMethod: "POST",
1981		HTTPPath:   "/",
1982		Paginator: &request.Paginator{
1983			InputTokens:     []string{"NextToken"},
1984			OutputTokens:    []string{"NextToken"},
1985			LimitToken:      "MaxResults",
1986			TruncationToken: "",
1987		},
1988	}
1989
1990	if input == nil {
1991		input = &ListProblemsInput{}
1992	}
1993
1994	output = &ListProblemsOutput{}
1995	req = c.newRequest(op, input, output)
1996	return
1997}
1998
1999// ListProblems API operation for Amazon CloudWatch Application Insights.
2000//
2001// Lists the problems with your application.
2002//
2003// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2004// with awserr.Error's Code and Message methods to get detailed information about
2005// the error.
2006//
2007// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2008// API operation ListProblems for usage and error information.
2009//
2010// Returned Error Types:
2011//   * ValidationException
2012//   The parameter is not valid.
2013//
2014//   * ResourceNotFoundException
2015//   The resource does not exist in the customer account.
2016//
2017//   * InternalServerException
2018//   The server encountered an internal error and is unable to complete the request.
2019//
2020// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems
2021func (c *ApplicationInsights) ListProblems(input *ListProblemsInput) (*ListProblemsOutput, error) {
2022	req, out := c.ListProblemsRequest(input)
2023	return out, req.Send()
2024}
2025
2026// ListProblemsWithContext is the same as ListProblems with the addition of
2027// the ability to pass a context and additional request options.
2028//
2029// See ListProblems for details on how to use this API operation.
2030//
2031// The context must be non-nil and will be used for request cancellation. If
2032// the context is nil a panic will occur. In the future the SDK may create
2033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2034// for more information on using Contexts.
2035func (c *ApplicationInsights) ListProblemsWithContext(ctx aws.Context, input *ListProblemsInput, opts ...request.Option) (*ListProblemsOutput, error) {
2036	req, out := c.ListProblemsRequest(input)
2037	req.SetContext(ctx)
2038	req.ApplyOptions(opts...)
2039	return out, req.Send()
2040}
2041
2042// ListProblemsPages iterates over the pages of a ListProblems operation,
2043// calling the "fn" function with the response data for each page. To stop
2044// iterating, return false from the fn function.
2045//
2046// See ListProblems method for more information on how to use this operation.
2047//
2048// Note: This operation can generate multiple requests to a service.
2049//
2050//    // Example iterating over at most 3 pages of a ListProblems operation.
2051//    pageNum := 0
2052//    err := client.ListProblemsPages(params,
2053//        func(page *applicationinsights.ListProblemsOutput, lastPage bool) bool {
2054//            pageNum++
2055//            fmt.Println(page)
2056//            return pageNum <= 3
2057//        })
2058//
2059func (c *ApplicationInsights) ListProblemsPages(input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool) error {
2060	return c.ListProblemsPagesWithContext(aws.BackgroundContext(), input, fn)
2061}
2062
2063// ListProblemsPagesWithContext same as ListProblemsPages except
2064// it takes a Context and allows setting request options on the pages.
2065//
2066// The context must be non-nil and will be used for request cancellation. If
2067// the context is nil a panic will occur. In the future the SDK may create
2068// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2069// for more information on using Contexts.
2070func (c *ApplicationInsights) ListProblemsPagesWithContext(ctx aws.Context, input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool, opts ...request.Option) error {
2071	p := request.Pagination{
2072		NewRequest: func() (*request.Request, error) {
2073			var inCpy *ListProblemsInput
2074			if input != nil {
2075				tmp := *input
2076				inCpy = &tmp
2077			}
2078			req, _ := c.ListProblemsRequest(inCpy)
2079			req.SetContext(ctx)
2080			req.ApplyOptions(opts...)
2081			return req, nil
2082		},
2083	}
2084
2085	for p.Next() {
2086		if !fn(p.Page().(*ListProblemsOutput), !p.HasNextPage()) {
2087			break
2088		}
2089	}
2090
2091	return p.Err()
2092}
2093
2094const opListTagsForResource = "ListTagsForResource"
2095
2096// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2097// client's request for the ListTagsForResource operation. The "output" return
2098// value will be populated with the request's response once the request completes
2099// successfully.
2100//
2101// Use "Send" method on the returned Request to send the API call to the service.
2102// the "output" return value is not valid until after Send returns without error.
2103//
2104// See ListTagsForResource for more information on using the ListTagsForResource
2105// API call, and error handling.
2106//
2107// This method is useful when you want to inject custom logic or configuration
2108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2109//
2110//
2111//    // Example sending a request using the ListTagsForResourceRequest method.
2112//    req, resp := client.ListTagsForResourceRequest(params)
2113//
2114//    err := req.Send()
2115//    if err == nil { // resp is now filled
2116//        fmt.Println(resp)
2117//    }
2118//
2119// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListTagsForResource
2120func (c *ApplicationInsights) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2121	op := &request.Operation{
2122		Name:       opListTagsForResource,
2123		HTTPMethod: "POST",
2124		HTTPPath:   "/",
2125	}
2126
2127	if input == nil {
2128		input = &ListTagsForResourceInput{}
2129	}
2130
2131	output = &ListTagsForResourceOutput{}
2132	req = c.newRequest(op, input, output)
2133	return
2134}
2135
2136// ListTagsForResource API operation for Amazon CloudWatch Application Insights.
2137//
2138// Retrieve a list of the tags (keys and values) that are associated with a
2139// specified application. A tag is a label that you optionally define and associate
2140// with an application. Each tag consists of a required tag key and an optional
2141// associated tag value. A tag key is a general label that acts as a category
2142// for more specific tag values. A tag value acts as a descriptor within a tag
2143// key.
2144//
2145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2146// with awserr.Error's Code and Message methods to get detailed information about
2147// the error.
2148//
2149// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2150// API operation ListTagsForResource for usage and error information.
2151//
2152// Returned Error Types:
2153//   * ResourceNotFoundException
2154//   The resource does not exist in the customer account.
2155//
2156//   * ValidationException
2157//   The parameter is not valid.
2158//
2159// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListTagsForResource
2160func (c *ApplicationInsights) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2161	req, out := c.ListTagsForResourceRequest(input)
2162	return out, req.Send()
2163}
2164
2165// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2166// the ability to pass a context and additional request options.
2167//
2168// See ListTagsForResource for details on how to use this API operation.
2169//
2170// The context must be non-nil and will be used for request cancellation. If
2171// the context is nil a panic will occur. In the future the SDK may create
2172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2173// for more information on using Contexts.
2174func (c *ApplicationInsights) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2175	req, out := c.ListTagsForResourceRequest(input)
2176	req.SetContext(ctx)
2177	req.ApplyOptions(opts...)
2178	return out, req.Send()
2179}
2180
2181const opTagResource = "TagResource"
2182
2183// TagResourceRequest generates a "aws/request.Request" representing the
2184// client's request for the TagResource operation. The "output" return
2185// value will be populated with the request's response once the request completes
2186// successfully.
2187//
2188// Use "Send" method on the returned Request to send the API call to the service.
2189// the "output" return value is not valid until after Send returns without error.
2190//
2191// See TagResource for more information on using the TagResource
2192// API call, and error handling.
2193//
2194// This method is useful when you want to inject custom logic or configuration
2195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2196//
2197//
2198//    // Example sending a request using the TagResourceRequest method.
2199//    req, resp := client.TagResourceRequest(params)
2200//
2201//    err := req.Send()
2202//    if err == nil { // resp is now filled
2203//        fmt.Println(resp)
2204//    }
2205//
2206// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/TagResource
2207func (c *ApplicationInsights) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2208	op := &request.Operation{
2209		Name:       opTagResource,
2210		HTTPMethod: "POST",
2211		HTTPPath:   "/",
2212	}
2213
2214	if input == nil {
2215		input = &TagResourceInput{}
2216	}
2217
2218	output = &TagResourceOutput{}
2219	req = c.newRequest(op, input, output)
2220	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2221	return
2222}
2223
2224// TagResource API operation for Amazon CloudWatch Application Insights.
2225//
2226// Add one or more tags (keys and values) to a specified application. A tag
2227// is a label that you optionally define and associate with an application.
2228// Tags can help you categorize and manage application in different ways, such
2229// as by purpose, owner, environment, or other criteria.
2230//
2231// Each tag consists of a required tag key and an associated tag value, both
2232// of which you define. A tag key is a general label that acts as a category
2233// for more specific tag values. A tag value acts as a descriptor within a tag
2234// key.
2235//
2236// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2237// with awserr.Error's Code and Message methods to get detailed information about
2238// the error.
2239//
2240// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2241// API operation TagResource for usage and error information.
2242//
2243// Returned Error Types:
2244//   * ResourceNotFoundException
2245//   The resource does not exist in the customer account.
2246//
2247//   * TooManyTagsException
2248//   The number of the provided tags is beyond the limit, or the number of total
2249//   tags you are trying to attach to the specified resource exceeds the limit.
2250//
2251//   * ValidationException
2252//   The parameter is not valid.
2253//
2254// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/TagResource
2255func (c *ApplicationInsights) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2256	req, out := c.TagResourceRequest(input)
2257	return out, req.Send()
2258}
2259
2260// TagResourceWithContext is the same as TagResource with the addition of
2261// the ability to pass a context and additional request options.
2262//
2263// See TagResource for details on how to use this API operation.
2264//
2265// The context must be non-nil and will be used for request cancellation. If
2266// the context is nil a panic will occur. In the future the SDK may create
2267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2268// for more information on using Contexts.
2269func (c *ApplicationInsights) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2270	req, out := c.TagResourceRequest(input)
2271	req.SetContext(ctx)
2272	req.ApplyOptions(opts...)
2273	return out, req.Send()
2274}
2275
2276const opUntagResource = "UntagResource"
2277
2278// UntagResourceRequest generates a "aws/request.Request" representing the
2279// client's request for the UntagResource operation. The "output" return
2280// value will be populated with the request's response once the request completes
2281// successfully.
2282//
2283// Use "Send" method on the returned Request to send the API call to the service.
2284// the "output" return value is not valid until after Send returns without error.
2285//
2286// See UntagResource for more information on using the UntagResource
2287// API call, and error handling.
2288//
2289// This method is useful when you want to inject custom logic or configuration
2290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2291//
2292//
2293//    // Example sending a request using the UntagResourceRequest method.
2294//    req, resp := client.UntagResourceRequest(params)
2295//
2296//    err := req.Send()
2297//    if err == nil { // resp is now filled
2298//        fmt.Println(resp)
2299//    }
2300//
2301// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UntagResource
2302func (c *ApplicationInsights) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2303	op := &request.Operation{
2304		Name:       opUntagResource,
2305		HTTPMethod: "POST",
2306		HTTPPath:   "/",
2307	}
2308
2309	if input == nil {
2310		input = &UntagResourceInput{}
2311	}
2312
2313	output = &UntagResourceOutput{}
2314	req = c.newRequest(op, input, output)
2315	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2316	return
2317}
2318
2319// UntagResource API operation for Amazon CloudWatch Application Insights.
2320//
2321// Remove one or more tags (keys and values) from a specified application.
2322//
2323// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2324// with awserr.Error's Code and Message methods to get detailed information about
2325// the error.
2326//
2327// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2328// API operation UntagResource for usage and error information.
2329//
2330// Returned Error Types:
2331//   * ResourceNotFoundException
2332//   The resource does not exist in the customer account.
2333//
2334//   * ValidationException
2335//   The parameter is not valid.
2336//
2337// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UntagResource
2338func (c *ApplicationInsights) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2339	req, out := c.UntagResourceRequest(input)
2340	return out, req.Send()
2341}
2342
2343// UntagResourceWithContext is the same as UntagResource with the addition of
2344// the ability to pass a context and additional request options.
2345//
2346// See UntagResource for details on how to use this API operation.
2347//
2348// The context must be non-nil and will be used for request cancellation. If
2349// the context is nil a panic will occur. In the future the SDK may create
2350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2351// for more information on using Contexts.
2352func (c *ApplicationInsights) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2353	req, out := c.UntagResourceRequest(input)
2354	req.SetContext(ctx)
2355	req.ApplyOptions(opts...)
2356	return out, req.Send()
2357}
2358
2359const opUpdateApplication = "UpdateApplication"
2360
2361// UpdateApplicationRequest generates a "aws/request.Request" representing the
2362// client's request for the UpdateApplication operation. The "output" return
2363// value will be populated with the request's response once the request completes
2364// successfully.
2365//
2366// Use "Send" method on the returned Request to send the API call to the service.
2367// the "output" return value is not valid until after Send returns without error.
2368//
2369// See UpdateApplication for more information on using the UpdateApplication
2370// API call, and error handling.
2371//
2372// This method is useful when you want to inject custom logic or configuration
2373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2374//
2375//
2376//    // Example sending a request using the UpdateApplicationRequest method.
2377//    req, resp := client.UpdateApplicationRequest(params)
2378//
2379//    err := req.Send()
2380//    if err == nil { // resp is now filled
2381//        fmt.Println(resp)
2382//    }
2383//
2384// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateApplication
2385func (c *ApplicationInsights) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) {
2386	op := &request.Operation{
2387		Name:       opUpdateApplication,
2388		HTTPMethod: "POST",
2389		HTTPPath:   "/",
2390	}
2391
2392	if input == nil {
2393		input = &UpdateApplicationInput{}
2394	}
2395
2396	output = &UpdateApplicationOutput{}
2397	req = c.newRequest(op, input, output)
2398	return
2399}
2400
2401// UpdateApplication API operation for Amazon CloudWatch Application Insights.
2402//
2403// Updates the application.
2404//
2405// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2406// with awserr.Error's Code and Message methods to get detailed information about
2407// the error.
2408//
2409// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2410// API operation UpdateApplication for usage and error information.
2411//
2412// Returned Error Types:
2413//   * InternalServerException
2414//   The server encountered an internal error and is unable to complete the request.
2415//
2416//   * ResourceNotFoundException
2417//   The resource does not exist in the customer account.
2418//
2419//   * ValidationException
2420//   The parameter is not valid.
2421//
2422// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateApplication
2423func (c *ApplicationInsights) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) {
2424	req, out := c.UpdateApplicationRequest(input)
2425	return out, req.Send()
2426}
2427
2428// UpdateApplicationWithContext is the same as UpdateApplication with the addition of
2429// the ability to pass a context and additional request options.
2430//
2431// See UpdateApplication for details on how to use this API operation.
2432//
2433// The context must be non-nil and will be used for request cancellation. If
2434// the context is nil a panic will occur. In the future the SDK may create
2435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2436// for more information on using Contexts.
2437func (c *ApplicationInsights) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) {
2438	req, out := c.UpdateApplicationRequest(input)
2439	req.SetContext(ctx)
2440	req.ApplyOptions(opts...)
2441	return out, req.Send()
2442}
2443
2444const opUpdateComponent = "UpdateComponent"
2445
2446// UpdateComponentRequest generates a "aws/request.Request" representing the
2447// client's request for the UpdateComponent operation. The "output" return
2448// value will be populated with the request's response once the request completes
2449// successfully.
2450//
2451// Use "Send" method on the returned Request to send the API call to the service.
2452// the "output" return value is not valid until after Send returns without error.
2453//
2454// See UpdateComponent for more information on using the UpdateComponent
2455// API call, and error handling.
2456//
2457// This method is useful when you want to inject custom logic or configuration
2458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2459//
2460//
2461//    // Example sending a request using the UpdateComponentRequest method.
2462//    req, resp := client.UpdateComponentRequest(params)
2463//
2464//    err := req.Send()
2465//    if err == nil { // resp is now filled
2466//        fmt.Println(resp)
2467//    }
2468//
2469// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponent
2470func (c *ApplicationInsights) UpdateComponentRequest(input *UpdateComponentInput) (req *request.Request, output *UpdateComponentOutput) {
2471	op := &request.Operation{
2472		Name:       opUpdateComponent,
2473		HTTPMethod: "POST",
2474		HTTPPath:   "/",
2475	}
2476
2477	if input == nil {
2478		input = &UpdateComponentInput{}
2479	}
2480
2481	output = &UpdateComponentOutput{}
2482	req = c.newRequest(op, input, output)
2483	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2484	return
2485}
2486
2487// UpdateComponent API operation for Amazon CloudWatch Application Insights.
2488//
2489// Updates the custom component name and/or the list of resources that make
2490// up the component.
2491//
2492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2493// with awserr.Error's Code and Message methods to get detailed information about
2494// the error.
2495//
2496// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2497// API operation UpdateComponent for usage and error information.
2498//
2499// Returned Error Types:
2500//   * ResourceInUseException
2501//   The resource is already created or in use.
2502//
2503//   * ResourceNotFoundException
2504//   The resource does not exist in the customer account.
2505//
2506//   * ValidationException
2507//   The parameter is not valid.
2508//
2509//   * InternalServerException
2510//   The server encountered an internal error and is unable to complete the request.
2511//
2512// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponent
2513func (c *ApplicationInsights) UpdateComponent(input *UpdateComponentInput) (*UpdateComponentOutput, error) {
2514	req, out := c.UpdateComponentRequest(input)
2515	return out, req.Send()
2516}
2517
2518// UpdateComponentWithContext is the same as UpdateComponent with the addition of
2519// the ability to pass a context and additional request options.
2520//
2521// See UpdateComponent for details on how to use this API operation.
2522//
2523// The context must be non-nil and will be used for request cancellation. If
2524// the context is nil a panic will occur. In the future the SDK may create
2525// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2526// for more information on using Contexts.
2527func (c *ApplicationInsights) UpdateComponentWithContext(ctx aws.Context, input *UpdateComponentInput, opts ...request.Option) (*UpdateComponentOutput, error) {
2528	req, out := c.UpdateComponentRequest(input)
2529	req.SetContext(ctx)
2530	req.ApplyOptions(opts...)
2531	return out, req.Send()
2532}
2533
2534const opUpdateComponentConfiguration = "UpdateComponentConfiguration"
2535
2536// UpdateComponentConfigurationRequest generates a "aws/request.Request" representing the
2537// client's request for the UpdateComponentConfiguration operation. The "output" return
2538// value will be populated with the request's response once the request completes
2539// successfully.
2540//
2541// Use "Send" method on the returned Request to send the API call to the service.
2542// the "output" return value is not valid until after Send returns without error.
2543//
2544// See UpdateComponentConfiguration for more information on using the UpdateComponentConfiguration
2545// API call, and error handling.
2546//
2547// This method is useful when you want to inject custom logic or configuration
2548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2549//
2550//
2551//    // Example sending a request using the UpdateComponentConfigurationRequest method.
2552//    req, resp := client.UpdateComponentConfigurationRequest(params)
2553//
2554//    err := req.Send()
2555//    if err == nil { // resp is now filled
2556//        fmt.Println(resp)
2557//    }
2558//
2559// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration
2560func (c *ApplicationInsights) UpdateComponentConfigurationRequest(input *UpdateComponentConfigurationInput) (req *request.Request, output *UpdateComponentConfigurationOutput) {
2561	op := &request.Operation{
2562		Name:       opUpdateComponentConfiguration,
2563		HTTPMethod: "POST",
2564		HTTPPath:   "/",
2565	}
2566
2567	if input == nil {
2568		input = &UpdateComponentConfigurationInput{}
2569	}
2570
2571	output = &UpdateComponentConfigurationOutput{}
2572	req = c.newRequest(op, input, output)
2573	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2574	return
2575}
2576
2577// UpdateComponentConfiguration API operation for Amazon CloudWatch Application Insights.
2578//
2579// Updates the monitoring configurations for the component. The configuration
2580// input parameter is an escaped JSON of the configuration and should match
2581// the schema of what is returned by DescribeComponentConfigurationRecommendation.
2582//
2583// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2584// with awserr.Error's Code and Message methods to get detailed information about
2585// the error.
2586//
2587// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2588// API operation UpdateComponentConfiguration for usage and error information.
2589//
2590// Returned Error Types:
2591//   * ResourceNotFoundException
2592//   The resource does not exist in the customer account.
2593//
2594//   * ValidationException
2595//   The parameter is not valid.
2596//
2597//   * InternalServerException
2598//   The server encountered an internal error and is unable to complete the request.
2599//
2600// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration
2601func (c *ApplicationInsights) UpdateComponentConfiguration(input *UpdateComponentConfigurationInput) (*UpdateComponentConfigurationOutput, error) {
2602	req, out := c.UpdateComponentConfigurationRequest(input)
2603	return out, req.Send()
2604}
2605
2606// UpdateComponentConfigurationWithContext is the same as UpdateComponentConfiguration with the addition of
2607// the ability to pass a context and additional request options.
2608//
2609// See UpdateComponentConfiguration for details on how to use this API operation.
2610//
2611// The context must be non-nil and will be used for request cancellation. If
2612// the context is nil a panic will occur. In the future the SDK may create
2613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2614// for more information on using Contexts.
2615func (c *ApplicationInsights) UpdateComponentConfigurationWithContext(ctx aws.Context, input *UpdateComponentConfigurationInput, opts ...request.Option) (*UpdateComponentConfigurationOutput, error) {
2616	req, out := c.UpdateComponentConfigurationRequest(input)
2617	req.SetContext(ctx)
2618	req.ApplyOptions(opts...)
2619	return out, req.Send()
2620}
2621
2622const opUpdateLogPattern = "UpdateLogPattern"
2623
2624// UpdateLogPatternRequest generates a "aws/request.Request" representing the
2625// client's request for the UpdateLogPattern operation. The "output" return
2626// value will be populated with the request's response once the request completes
2627// successfully.
2628//
2629// Use "Send" method on the returned Request to send the API call to the service.
2630// the "output" return value is not valid until after Send returns without error.
2631//
2632// See UpdateLogPattern for more information on using the UpdateLogPattern
2633// API call, and error handling.
2634//
2635// This method is useful when you want to inject custom logic or configuration
2636// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2637//
2638//
2639//    // Example sending a request using the UpdateLogPatternRequest method.
2640//    req, resp := client.UpdateLogPatternRequest(params)
2641//
2642//    err := req.Send()
2643//    if err == nil { // resp is now filled
2644//        fmt.Println(resp)
2645//    }
2646//
2647// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateLogPattern
2648func (c *ApplicationInsights) UpdateLogPatternRequest(input *UpdateLogPatternInput) (req *request.Request, output *UpdateLogPatternOutput) {
2649	op := &request.Operation{
2650		Name:       opUpdateLogPattern,
2651		HTTPMethod: "POST",
2652		HTTPPath:   "/",
2653	}
2654
2655	if input == nil {
2656		input = &UpdateLogPatternInput{}
2657	}
2658
2659	output = &UpdateLogPatternOutput{}
2660	req = c.newRequest(op, input, output)
2661	return
2662}
2663
2664// UpdateLogPattern API operation for Amazon CloudWatch Application Insights.
2665//
2666// Adds a log pattern to a LogPatternSet.
2667//
2668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2669// with awserr.Error's Code and Message methods to get detailed information about
2670// the error.
2671//
2672// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2673// API operation UpdateLogPattern for usage and error information.
2674//
2675// Returned Error Types:
2676//   * ResourceInUseException
2677//   The resource is already created or in use.
2678//
2679//   * ResourceNotFoundException
2680//   The resource does not exist in the customer account.
2681//
2682//   * ValidationException
2683//   The parameter is not valid.
2684//
2685//   * InternalServerException
2686//   The server encountered an internal error and is unable to complete the request.
2687//
2688// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateLogPattern
2689func (c *ApplicationInsights) UpdateLogPattern(input *UpdateLogPatternInput) (*UpdateLogPatternOutput, error) {
2690	req, out := c.UpdateLogPatternRequest(input)
2691	return out, req.Send()
2692}
2693
2694// UpdateLogPatternWithContext is the same as UpdateLogPattern with the addition of
2695// the ability to pass a context and additional request options.
2696//
2697// See UpdateLogPattern for details on how to use this API operation.
2698//
2699// The context must be non-nil and will be used for request cancellation. If
2700// the context is nil a panic will occur. In the future the SDK may create
2701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2702// for more information on using Contexts.
2703func (c *ApplicationInsights) UpdateLogPatternWithContext(ctx aws.Context, input *UpdateLogPatternInput, opts ...request.Option) (*UpdateLogPatternOutput, error) {
2704	req, out := c.UpdateLogPatternRequest(input)
2705	req.SetContext(ctx)
2706	req.ApplyOptions(opts...)
2707	return out, req.Send()
2708}
2709
2710// Describes a standalone resource or similarly grouped resources that the application
2711// is made up of.
2712type ApplicationComponent struct {
2713	_ struct{} `type:"structure"`
2714
2715	// The name of the component.
2716	ComponentName *string `type:"string"`
2717
2718	// Indicates whether the application component is monitored.
2719	Monitor *bool `type:"boolean"`
2720
2721	// The resource type. Supported resource types include EC2 instances, Auto Scaling
2722	// group, Classic ELB, Application ELB, and SQS Queue.
2723	ResourceType *string `type:"string"`
2724
2725	// The stack tier of the application component.
2726	Tier *string `min:"1" type:"string" enum:"Tier"`
2727}
2728
2729// String returns the string representation
2730func (s ApplicationComponent) String() string {
2731	return awsutil.Prettify(s)
2732}
2733
2734// GoString returns the string representation
2735func (s ApplicationComponent) GoString() string {
2736	return s.String()
2737}
2738
2739// SetComponentName sets the ComponentName field's value.
2740func (s *ApplicationComponent) SetComponentName(v string) *ApplicationComponent {
2741	s.ComponentName = &v
2742	return s
2743}
2744
2745// SetMonitor sets the Monitor field's value.
2746func (s *ApplicationComponent) SetMonitor(v bool) *ApplicationComponent {
2747	s.Monitor = &v
2748	return s
2749}
2750
2751// SetResourceType sets the ResourceType field's value.
2752func (s *ApplicationComponent) SetResourceType(v string) *ApplicationComponent {
2753	s.ResourceType = &v
2754	return s
2755}
2756
2757// SetTier sets the Tier field's value.
2758func (s *ApplicationComponent) SetTier(v string) *ApplicationComponent {
2759	s.Tier = &v
2760	return s
2761}
2762
2763// Describes the status of the application.
2764type ApplicationInfo struct {
2765	_ struct{} `type:"structure"`
2766
2767	// Indicates whether Application Insights can listen to CloudWatch events for
2768	// the application resources, such as instance terminated, failed deployment,
2769	// and others.
2770	CWEMonitorEnabled *bool `type:"boolean"`
2771
2772	// The lifecycle of the application.
2773	LifeCycle *string `type:"string"`
2774
2775	// Indicates whether Application Insights will create opsItems for any problem
2776	// detected by Application Insights for an application.
2777	OpsCenterEnabled *bool `type:"boolean"`
2778
2779	// The SNS topic provided to Application Insights that is associated to the
2780	// created opsItems to receive SNS notifications for opsItem updates.
2781	OpsItemSNSTopicArn *string `min:"20" type:"string"`
2782
2783	// The issues on the user side that block Application Insights from successfully
2784	// monitoring an application. Example remarks include:
2785	//
2786	//    * “Configuring application, detected 1 Errors, 3 Warnings”
2787	//
2788	//    * “Configuring application, detected 1 Unconfigured Components”
2789	Remarks *string `type:"string"`
2790
2791	// The name of the resource group used for the application.
2792	ResourceGroupName *string `min:"1" type:"string"`
2793}
2794
2795// String returns the string representation
2796func (s ApplicationInfo) String() string {
2797	return awsutil.Prettify(s)
2798}
2799
2800// GoString returns the string representation
2801func (s ApplicationInfo) GoString() string {
2802	return s.String()
2803}
2804
2805// SetCWEMonitorEnabled sets the CWEMonitorEnabled field's value.
2806func (s *ApplicationInfo) SetCWEMonitorEnabled(v bool) *ApplicationInfo {
2807	s.CWEMonitorEnabled = &v
2808	return s
2809}
2810
2811// SetLifeCycle sets the LifeCycle field's value.
2812func (s *ApplicationInfo) SetLifeCycle(v string) *ApplicationInfo {
2813	s.LifeCycle = &v
2814	return s
2815}
2816
2817// SetOpsCenterEnabled sets the OpsCenterEnabled field's value.
2818func (s *ApplicationInfo) SetOpsCenterEnabled(v bool) *ApplicationInfo {
2819	s.OpsCenterEnabled = &v
2820	return s
2821}
2822
2823// SetOpsItemSNSTopicArn sets the OpsItemSNSTopicArn field's value.
2824func (s *ApplicationInfo) SetOpsItemSNSTopicArn(v string) *ApplicationInfo {
2825	s.OpsItemSNSTopicArn = &v
2826	return s
2827}
2828
2829// SetRemarks sets the Remarks field's value.
2830func (s *ApplicationInfo) SetRemarks(v string) *ApplicationInfo {
2831	s.Remarks = &v
2832	return s
2833}
2834
2835// SetResourceGroupName sets the ResourceGroupName field's value.
2836func (s *ApplicationInfo) SetResourceGroupName(v string) *ApplicationInfo {
2837	s.ResourceGroupName = &v
2838	return s
2839}
2840
2841// The request is not understood by the server.
2842type BadRequestException struct {
2843	_            struct{}                  `type:"structure"`
2844	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2845
2846	Message_ *string `locationName:"Message" type:"string"`
2847}
2848
2849// String returns the string representation
2850func (s BadRequestException) String() string {
2851	return awsutil.Prettify(s)
2852}
2853
2854// GoString returns the string representation
2855func (s BadRequestException) GoString() string {
2856	return s.String()
2857}
2858
2859func newErrorBadRequestException(v protocol.ResponseMetadata) error {
2860	return &BadRequestException{
2861		RespMetadata: v,
2862	}
2863}
2864
2865// Code returns the exception type name.
2866func (s *BadRequestException) Code() string {
2867	return "BadRequestException"
2868}
2869
2870// Message returns the exception's message.
2871func (s *BadRequestException) Message() string {
2872	if s.Message_ != nil {
2873		return *s.Message_
2874	}
2875	return ""
2876}
2877
2878// OrigErr always returns nil, satisfies awserr.Error interface.
2879func (s *BadRequestException) OrigErr() error {
2880	return nil
2881}
2882
2883func (s *BadRequestException) Error() string {
2884	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2885}
2886
2887// Status code returns the HTTP status code for the request's response error.
2888func (s *BadRequestException) StatusCode() int {
2889	return s.RespMetadata.StatusCode
2890}
2891
2892// RequestID returns the service's response RequestID for request.
2893func (s *BadRequestException) RequestID() string {
2894	return s.RespMetadata.RequestID
2895}
2896
2897// The event information.
2898type ConfigurationEvent struct {
2899	_ struct{} `type:"structure"`
2900
2901	// The details of the event in plain text.
2902	EventDetail *string `type:"string"`
2903
2904	// The name of the resource Application Insights attempted to configure.
2905	EventResourceName *string `type:"string"`
2906
2907	// The resource type that Application Insights attempted to configure, for example,
2908	// CLOUDWATCH_ALARM.
2909	EventResourceType *string `type:"string" enum:"ConfigurationEventResourceType"`
2910
2911	// The status of the configuration update event. Possible values include INFO,
2912	// WARN, and ERROR.
2913	EventStatus *string `type:"string" enum:"ConfigurationEventStatus"`
2914
2915	// The timestamp of the event.
2916	EventTime *time.Time `type:"timestamp"`
2917
2918	// The resource monitored by Application Insights.
2919	MonitoredResourceARN *string `type:"string"`
2920}
2921
2922// String returns the string representation
2923func (s ConfigurationEvent) String() string {
2924	return awsutil.Prettify(s)
2925}
2926
2927// GoString returns the string representation
2928func (s ConfigurationEvent) GoString() string {
2929	return s.String()
2930}
2931
2932// SetEventDetail sets the EventDetail field's value.
2933func (s *ConfigurationEvent) SetEventDetail(v string) *ConfigurationEvent {
2934	s.EventDetail = &v
2935	return s
2936}
2937
2938// SetEventResourceName sets the EventResourceName field's value.
2939func (s *ConfigurationEvent) SetEventResourceName(v string) *ConfigurationEvent {
2940	s.EventResourceName = &v
2941	return s
2942}
2943
2944// SetEventResourceType sets the EventResourceType field's value.
2945func (s *ConfigurationEvent) SetEventResourceType(v string) *ConfigurationEvent {
2946	s.EventResourceType = &v
2947	return s
2948}
2949
2950// SetEventStatus sets the EventStatus field's value.
2951func (s *ConfigurationEvent) SetEventStatus(v string) *ConfigurationEvent {
2952	s.EventStatus = &v
2953	return s
2954}
2955
2956// SetEventTime sets the EventTime field's value.
2957func (s *ConfigurationEvent) SetEventTime(v time.Time) *ConfigurationEvent {
2958	s.EventTime = &v
2959	return s
2960}
2961
2962// SetMonitoredResourceARN sets the MonitoredResourceARN field's value.
2963func (s *ConfigurationEvent) SetMonitoredResourceARN(v string) *ConfigurationEvent {
2964	s.MonitoredResourceARN = &v
2965	return s
2966}
2967
2968type CreateApplicationInput struct {
2969	_ struct{} `type:"structure"`
2970
2971	// Indicates whether Application Insights can listen to CloudWatch events for
2972	// the application resources, such as instance terminated, failed deployment,
2973	// and others.
2974	CWEMonitorEnabled *bool `type:"boolean"`
2975
2976	// When set to true, creates opsItems for any problems detected on an application.
2977	OpsCenterEnabled *bool `type:"boolean"`
2978
2979	// The SNS topic provided to Application Insights that is associated to the
2980	// created opsItem. Allows you to receive notifications for updates to the opsItem.
2981	OpsItemSNSTopicArn *string `min:"20" type:"string"`
2982
2983	// The name of the resource group.
2984	//
2985	// ResourceGroupName is a required field
2986	ResourceGroupName *string `min:"1" type:"string" required:"true"`
2987
2988	// List of tags to add to the application. tag key (Key) and an associated tag
2989	// value (Value). The maximum length of a tag key is 128 characters. The maximum
2990	// length of a tag value is 256 characters.
2991	Tags []*Tag `type:"list"`
2992}
2993
2994// String returns the string representation
2995func (s CreateApplicationInput) String() string {
2996	return awsutil.Prettify(s)
2997}
2998
2999// GoString returns the string representation
3000func (s CreateApplicationInput) GoString() string {
3001	return s.String()
3002}
3003
3004// Validate inspects the fields of the type to determine if they are valid.
3005func (s *CreateApplicationInput) Validate() error {
3006	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
3007	if s.OpsItemSNSTopicArn != nil && len(*s.OpsItemSNSTopicArn) < 20 {
3008		invalidParams.Add(request.NewErrParamMinLen("OpsItemSNSTopicArn", 20))
3009	}
3010	if s.ResourceGroupName == nil {
3011		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3012	}
3013	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3014		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3015	}
3016	if s.Tags != nil {
3017		for i, v := range s.Tags {
3018			if v == nil {
3019				continue
3020			}
3021			if err := v.Validate(); err != nil {
3022				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3023			}
3024		}
3025	}
3026
3027	if invalidParams.Len() > 0 {
3028		return invalidParams
3029	}
3030	return nil
3031}
3032
3033// SetCWEMonitorEnabled sets the CWEMonitorEnabled field's value.
3034func (s *CreateApplicationInput) SetCWEMonitorEnabled(v bool) *CreateApplicationInput {
3035	s.CWEMonitorEnabled = &v
3036	return s
3037}
3038
3039// SetOpsCenterEnabled sets the OpsCenterEnabled field's value.
3040func (s *CreateApplicationInput) SetOpsCenterEnabled(v bool) *CreateApplicationInput {
3041	s.OpsCenterEnabled = &v
3042	return s
3043}
3044
3045// SetOpsItemSNSTopicArn sets the OpsItemSNSTopicArn field's value.
3046func (s *CreateApplicationInput) SetOpsItemSNSTopicArn(v string) *CreateApplicationInput {
3047	s.OpsItemSNSTopicArn = &v
3048	return s
3049}
3050
3051// SetResourceGroupName sets the ResourceGroupName field's value.
3052func (s *CreateApplicationInput) SetResourceGroupName(v string) *CreateApplicationInput {
3053	s.ResourceGroupName = &v
3054	return s
3055}
3056
3057// SetTags sets the Tags field's value.
3058func (s *CreateApplicationInput) SetTags(v []*Tag) *CreateApplicationInput {
3059	s.Tags = v
3060	return s
3061}
3062
3063type CreateApplicationOutput struct {
3064	_ struct{} `type:"structure"`
3065
3066	// Information about the application.
3067	ApplicationInfo *ApplicationInfo `type:"structure"`
3068}
3069
3070// String returns the string representation
3071func (s CreateApplicationOutput) String() string {
3072	return awsutil.Prettify(s)
3073}
3074
3075// GoString returns the string representation
3076func (s CreateApplicationOutput) GoString() string {
3077	return s.String()
3078}
3079
3080// SetApplicationInfo sets the ApplicationInfo field's value.
3081func (s *CreateApplicationOutput) SetApplicationInfo(v *ApplicationInfo) *CreateApplicationOutput {
3082	s.ApplicationInfo = v
3083	return s
3084}
3085
3086type CreateComponentInput struct {
3087	_ struct{} `type:"structure"`
3088
3089	// The name of the component.
3090	//
3091	// ComponentName is a required field
3092	ComponentName *string `type:"string" required:"true"`
3093
3094	// The name of the resource group.
3095	//
3096	// ResourceGroupName is a required field
3097	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3098
3099	// The list of resource ARNs that belong to the component.
3100	//
3101	// ResourceList is a required field
3102	ResourceList []*string `type:"list" required:"true"`
3103}
3104
3105// String returns the string representation
3106func (s CreateComponentInput) String() string {
3107	return awsutil.Prettify(s)
3108}
3109
3110// GoString returns the string representation
3111func (s CreateComponentInput) GoString() string {
3112	return s.String()
3113}
3114
3115// Validate inspects the fields of the type to determine if they are valid.
3116func (s *CreateComponentInput) Validate() error {
3117	invalidParams := request.ErrInvalidParams{Context: "CreateComponentInput"}
3118	if s.ComponentName == nil {
3119		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
3120	}
3121	if s.ResourceGroupName == nil {
3122		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3123	}
3124	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3125		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3126	}
3127	if s.ResourceList == nil {
3128		invalidParams.Add(request.NewErrParamRequired("ResourceList"))
3129	}
3130
3131	if invalidParams.Len() > 0 {
3132		return invalidParams
3133	}
3134	return nil
3135}
3136
3137// SetComponentName sets the ComponentName field's value.
3138func (s *CreateComponentInput) SetComponentName(v string) *CreateComponentInput {
3139	s.ComponentName = &v
3140	return s
3141}
3142
3143// SetResourceGroupName sets the ResourceGroupName field's value.
3144func (s *CreateComponentInput) SetResourceGroupName(v string) *CreateComponentInput {
3145	s.ResourceGroupName = &v
3146	return s
3147}
3148
3149// SetResourceList sets the ResourceList field's value.
3150func (s *CreateComponentInput) SetResourceList(v []*string) *CreateComponentInput {
3151	s.ResourceList = v
3152	return s
3153}
3154
3155type CreateComponentOutput struct {
3156	_ struct{} `type:"structure"`
3157}
3158
3159// String returns the string representation
3160func (s CreateComponentOutput) String() string {
3161	return awsutil.Prettify(s)
3162}
3163
3164// GoString returns the string representation
3165func (s CreateComponentOutput) GoString() string {
3166	return s.String()
3167}
3168
3169type CreateLogPatternInput struct {
3170	_ struct{} `type:"structure"`
3171
3172	// The log pattern.
3173	//
3174	// Pattern is a required field
3175	Pattern *string `min:"1" type:"string" required:"true"`
3176
3177	// The name of the log pattern.
3178	//
3179	// PatternName is a required field
3180	PatternName *string `min:"1" type:"string" required:"true"`
3181
3182	// The name of the log pattern set.
3183	//
3184	// PatternSetName is a required field
3185	PatternSetName *string `min:"1" type:"string" required:"true"`
3186
3187	// Rank of the log pattern.
3188	//
3189	// Rank is a required field
3190	Rank *int64 `type:"integer" required:"true"`
3191
3192	// The name of the resource group.
3193	//
3194	// ResourceGroupName is a required field
3195	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3196}
3197
3198// String returns the string representation
3199func (s CreateLogPatternInput) String() string {
3200	return awsutil.Prettify(s)
3201}
3202
3203// GoString returns the string representation
3204func (s CreateLogPatternInput) GoString() string {
3205	return s.String()
3206}
3207
3208// Validate inspects the fields of the type to determine if they are valid.
3209func (s *CreateLogPatternInput) Validate() error {
3210	invalidParams := request.ErrInvalidParams{Context: "CreateLogPatternInput"}
3211	if s.Pattern == nil {
3212		invalidParams.Add(request.NewErrParamRequired("Pattern"))
3213	}
3214	if s.Pattern != nil && len(*s.Pattern) < 1 {
3215		invalidParams.Add(request.NewErrParamMinLen("Pattern", 1))
3216	}
3217	if s.PatternName == nil {
3218		invalidParams.Add(request.NewErrParamRequired("PatternName"))
3219	}
3220	if s.PatternName != nil && len(*s.PatternName) < 1 {
3221		invalidParams.Add(request.NewErrParamMinLen("PatternName", 1))
3222	}
3223	if s.PatternSetName == nil {
3224		invalidParams.Add(request.NewErrParamRequired("PatternSetName"))
3225	}
3226	if s.PatternSetName != nil && len(*s.PatternSetName) < 1 {
3227		invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1))
3228	}
3229	if s.Rank == nil {
3230		invalidParams.Add(request.NewErrParamRequired("Rank"))
3231	}
3232	if s.ResourceGroupName == nil {
3233		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3234	}
3235	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3236		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3237	}
3238
3239	if invalidParams.Len() > 0 {
3240		return invalidParams
3241	}
3242	return nil
3243}
3244
3245// SetPattern sets the Pattern field's value.
3246func (s *CreateLogPatternInput) SetPattern(v string) *CreateLogPatternInput {
3247	s.Pattern = &v
3248	return s
3249}
3250
3251// SetPatternName sets the PatternName field's value.
3252func (s *CreateLogPatternInput) SetPatternName(v string) *CreateLogPatternInput {
3253	s.PatternName = &v
3254	return s
3255}
3256
3257// SetPatternSetName sets the PatternSetName field's value.
3258func (s *CreateLogPatternInput) SetPatternSetName(v string) *CreateLogPatternInput {
3259	s.PatternSetName = &v
3260	return s
3261}
3262
3263// SetRank sets the Rank field's value.
3264func (s *CreateLogPatternInput) SetRank(v int64) *CreateLogPatternInput {
3265	s.Rank = &v
3266	return s
3267}
3268
3269// SetResourceGroupName sets the ResourceGroupName field's value.
3270func (s *CreateLogPatternInput) SetResourceGroupName(v string) *CreateLogPatternInput {
3271	s.ResourceGroupName = &v
3272	return s
3273}
3274
3275type CreateLogPatternOutput struct {
3276	_ struct{} `type:"structure"`
3277
3278	// The successfully created log pattern.
3279	LogPattern *LogPattern `type:"structure"`
3280
3281	// The name of the resource group.
3282	ResourceGroupName *string `min:"1" type:"string"`
3283}
3284
3285// String returns the string representation
3286func (s CreateLogPatternOutput) String() string {
3287	return awsutil.Prettify(s)
3288}
3289
3290// GoString returns the string representation
3291func (s CreateLogPatternOutput) GoString() string {
3292	return s.String()
3293}
3294
3295// SetLogPattern sets the LogPattern field's value.
3296func (s *CreateLogPatternOutput) SetLogPattern(v *LogPattern) *CreateLogPatternOutput {
3297	s.LogPattern = v
3298	return s
3299}
3300
3301// SetResourceGroupName sets the ResourceGroupName field's value.
3302func (s *CreateLogPatternOutput) SetResourceGroupName(v string) *CreateLogPatternOutput {
3303	s.ResourceGroupName = &v
3304	return s
3305}
3306
3307type DeleteApplicationInput struct {
3308	_ struct{} `type:"structure"`
3309
3310	// The name of the resource group.
3311	//
3312	// ResourceGroupName is a required field
3313	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3314}
3315
3316// String returns the string representation
3317func (s DeleteApplicationInput) String() string {
3318	return awsutil.Prettify(s)
3319}
3320
3321// GoString returns the string representation
3322func (s DeleteApplicationInput) GoString() string {
3323	return s.String()
3324}
3325
3326// Validate inspects the fields of the type to determine if they are valid.
3327func (s *DeleteApplicationInput) Validate() error {
3328	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
3329	if s.ResourceGroupName == nil {
3330		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3331	}
3332	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3333		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3334	}
3335
3336	if invalidParams.Len() > 0 {
3337		return invalidParams
3338	}
3339	return nil
3340}
3341
3342// SetResourceGroupName sets the ResourceGroupName field's value.
3343func (s *DeleteApplicationInput) SetResourceGroupName(v string) *DeleteApplicationInput {
3344	s.ResourceGroupName = &v
3345	return s
3346}
3347
3348type DeleteApplicationOutput struct {
3349	_ struct{} `type:"structure"`
3350}
3351
3352// String returns the string representation
3353func (s DeleteApplicationOutput) String() string {
3354	return awsutil.Prettify(s)
3355}
3356
3357// GoString returns the string representation
3358func (s DeleteApplicationOutput) GoString() string {
3359	return s.String()
3360}
3361
3362type DeleteComponentInput struct {
3363	_ struct{} `type:"structure"`
3364
3365	// The name of the component.
3366	//
3367	// ComponentName is a required field
3368	ComponentName *string `type:"string" required:"true"`
3369
3370	// The name of the resource group.
3371	//
3372	// ResourceGroupName is a required field
3373	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3374}
3375
3376// String returns the string representation
3377func (s DeleteComponentInput) String() string {
3378	return awsutil.Prettify(s)
3379}
3380
3381// GoString returns the string representation
3382func (s DeleteComponentInput) GoString() string {
3383	return s.String()
3384}
3385
3386// Validate inspects the fields of the type to determine if they are valid.
3387func (s *DeleteComponentInput) Validate() error {
3388	invalidParams := request.ErrInvalidParams{Context: "DeleteComponentInput"}
3389	if s.ComponentName == nil {
3390		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
3391	}
3392	if s.ResourceGroupName == nil {
3393		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3394	}
3395	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3396		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3397	}
3398
3399	if invalidParams.Len() > 0 {
3400		return invalidParams
3401	}
3402	return nil
3403}
3404
3405// SetComponentName sets the ComponentName field's value.
3406func (s *DeleteComponentInput) SetComponentName(v string) *DeleteComponentInput {
3407	s.ComponentName = &v
3408	return s
3409}
3410
3411// SetResourceGroupName sets the ResourceGroupName field's value.
3412func (s *DeleteComponentInput) SetResourceGroupName(v string) *DeleteComponentInput {
3413	s.ResourceGroupName = &v
3414	return s
3415}
3416
3417type DeleteComponentOutput struct {
3418	_ struct{} `type:"structure"`
3419}
3420
3421// String returns the string representation
3422func (s DeleteComponentOutput) String() string {
3423	return awsutil.Prettify(s)
3424}
3425
3426// GoString returns the string representation
3427func (s DeleteComponentOutput) GoString() string {
3428	return s.String()
3429}
3430
3431type DeleteLogPatternInput struct {
3432	_ struct{} `type:"structure"`
3433
3434	// The name of the log pattern.
3435	//
3436	// PatternName is a required field
3437	PatternName *string `min:"1" type:"string" required:"true"`
3438
3439	// The name of the log pattern set.
3440	//
3441	// PatternSetName is a required field
3442	PatternSetName *string `min:"1" type:"string" required:"true"`
3443
3444	// The name of the resource group.
3445	//
3446	// ResourceGroupName is a required field
3447	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3448}
3449
3450// String returns the string representation
3451func (s DeleteLogPatternInput) String() string {
3452	return awsutil.Prettify(s)
3453}
3454
3455// GoString returns the string representation
3456func (s DeleteLogPatternInput) GoString() string {
3457	return s.String()
3458}
3459
3460// Validate inspects the fields of the type to determine if they are valid.
3461func (s *DeleteLogPatternInput) Validate() error {
3462	invalidParams := request.ErrInvalidParams{Context: "DeleteLogPatternInput"}
3463	if s.PatternName == nil {
3464		invalidParams.Add(request.NewErrParamRequired("PatternName"))
3465	}
3466	if s.PatternName != nil && len(*s.PatternName) < 1 {
3467		invalidParams.Add(request.NewErrParamMinLen("PatternName", 1))
3468	}
3469	if s.PatternSetName == nil {
3470		invalidParams.Add(request.NewErrParamRequired("PatternSetName"))
3471	}
3472	if s.PatternSetName != nil && len(*s.PatternSetName) < 1 {
3473		invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1))
3474	}
3475	if s.ResourceGroupName == nil {
3476		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3477	}
3478	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3479		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3480	}
3481
3482	if invalidParams.Len() > 0 {
3483		return invalidParams
3484	}
3485	return nil
3486}
3487
3488// SetPatternName sets the PatternName field's value.
3489func (s *DeleteLogPatternInput) SetPatternName(v string) *DeleteLogPatternInput {
3490	s.PatternName = &v
3491	return s
3492}
3493
3494// SetPatternSetName sets the PatternSetName field's value.
3495func (s *DeleteLogPatternInput) SetPatternSetName(v string) *DeleteLogPatternInput {
3496	s.PatternSetName = &v
3497	return s
3498}
3499
3500// SetResourceGroupName sets the ResourceGroupName field's value.
3501func (s *DeleteLogPatternInput) SetResourceGroupName(v string) *DeleteLogPatternInput {
3502	s.ResourceGroupName = &v
3503	return s
3504}
3505
3506type DeleteLogPatternOutput struct {
3507	_ struct{} `type:"structure"`
3508}
3509
3510// String returns the string representation
3511func (s DeleteLogPatternOutput) String() string {
3512	return awsutil.Prettify(s)
3513}
3514
3515// GoString returns the string representation
3516func (s DeleteLogPatternOutput) GoString() string {
3517	return s.String()
3518}
3519
3520type DescribeApplicationInput struct {
3521	_ struct{} `type:"structure"`
3522
3523	// The name of the resource group.
3524	//
3525	// ResourceGroupName is a required field
3526	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3527}
3528
3529// String returns the string representation
3530func (s DescribeApplicationInput) String() string {
3531	return awsutil.Prettify(s)
3532}
3533
3534// GoString returns the string representation
3535func (s DescribeApplicationInput) GoString() string {
3536	return s.String()
3537}
3538
3539// Validate inspects the fields of the type to determine if they are valid.
3540func (s *DescribeApplicationInput) Validate() error {
3541	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationInput"}
3542	if s.ResourceGroupName == nil {
3543		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3544	}
3545	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3546		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3547	}
3548
3549	if invalidParams.Len() > 0 {
3550		return invalidParams
3551	}
3552	return nil
3553}
3554
3555// SetResourceGroupName sets the ResourceGroupName field's value.
3556func (s *DescribeApplicationInput) SetResourceGroupName(v string) *DescribeApplicationInput {
3557	s.ResourceGroupName = &v
3558	return s
3559}
3560
3561type DescribeApplicationOutput struct {
3562	_ struct{} `type:"structure"`
3563
3564	// Information about the application.
3565	ApplicationInfo *ApplicationInfo `type:"structure"`
3566}
3567
3568// String returns the string representation
3569func (s DescribeApplicationOutput) String() string {
3570	return awsutil.Prettify(s)
3571}
3572
3573// GoString returns the string representation
3574func (s DescribeApplicationOutput) GoString() string {
3575	return s.String()
3576}
3577
3578// SetApplicationInfo sets the ApplicationInfo field's value.
3579func (s *DescribeApplicationOutput) SetApplicationInfo(v *ApplicationInfo) *DescribeApplicationOutput {
3580	s.ApplicationInfo = v
3581	return s
3582}
3583
3584type DescribeComponentConfigurationInput struct {
3585	_ struct{} `type:"structure"`
3586
3587	// The name of the component.
3588	//
3589	// ComponentName is a required field
3590	ComponentName *string `type:"string" required:"true"`
3591
3592	// The name of the resource group.
3593	//
3594	// ResourceGroupName is a required field
3595	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3596}
3597
3598// String returns the string representation
3599func (s DescribeComponentConfigurationInput) String() string {
3600	return awsutil.Prettify(s)
3601}
3602
3603// GoString returns the string representation
3604func (s DescribeComponentConfigurationInput) GoString() string {
3605	return s.String()
3606}
3607
3608// Validate inspects the fields of the type to determine if they are valid.
3609func (s *DescribeComponentConfigurationInput) Validate() error {
3610	invalidParams := request.ErrInvalidParams{Context: "DescribeComponentConfigurationInput"}
3611	if s.ComponentName == nil {
3612		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
3613	}
3614	if s.ResourceGroupName == nil {
3615		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3616	}
3617	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3618		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3619	}
3620
3621	if invalidParams.Len() > 0 {
3622		return invalidParams
3623	}
3624	return nil
3625}
3626
3627// SetComponentName sets the ComponentName field's value.
3628func (s *DescribeComponentConfigurationInput) SetComponentName(v string) *DescribeComponentConfigurationInput {
3629	s.ComponentName = &v
3630	return s
3631}
3632
3633// SetResourceGroupName sets the ResourceGroupName field's value.
3634func (s *DescribeComponentConfigurationInput) SetResourceGroupName(v string) *DescribeComponentConfigurationInput {
3635	s.ResourceGroupName = &v
3636	return s
3637}
3638
3639type DescribeComponentConfigurationOutput struct {
3640	_ struct{} `type:"structure"`
3641
3642	// The configuration settings of the component. The value is the escaped JSON
3643	// of the configuration.
3644	ComponentConfiguration *string `min:"1" type:"string"`
3645
3646	// Indicates whether the application component is monitored.
3647	Monitor *bool `type:"boolean"`
3648
3649	// The tier of the application component. Supported tiers include DOT_NET_CORE,
3650	// DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT
3651	Tier *string `min:"1" type:"string" enum:"Tier"`
3652}
3653
3654// String returns the string representation
3655func (s DescribeComponentConfigurationOutput) String() string {
3656	return awsutil.Prettify(s)
3657}
3658
3659// GoString returns the string representation
3660func (s DescribeComponentConfigurationOutput) GoString() string {
3661	return s.String()
3662}
3663
3664// SetComponentConfiguration sets the ComponentConfiguration field's value.
3665func (s *DescribeComponentConfigurationOutput) SetComponentConfiguration(v string) *DescribeComponentConfigurationOutput {
3666	s.ComponentConfiguration = &v
3667	return s
3668}
3669
3670// SetMonitor sets the Monitor field's value.
3671func (s *DescribeComponentConfigurationOutput) SetMonitor(v bool) *DescribeComponentConfigurationOutput {
3672	s.Monitor = &v
3673	return s
3674}
3675
3676// SetTier sets the Tier field's value.
3677func (s *DescribeComponentConfigurationOutput) SetTier(v string) *DescribeComponentConfigurationOutput {
3678	s.Tier = &v
3679	return s
3680}
3681
3682type DescribeComponentConfigurationRecommendationInput struct {
3683	_ struct{} `type:"structure"`
3684
3685	// The name of the component.
3686	//
3687	// ComponentName is a required field
3688	ComponentName *string `type:"string" required:"true"`
3689
3690	// The name of the resource group.
3691	//
3692	// ResourceGroupName is a required field
3693	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3694
3695	// The tier of the application component. Supported tiers include DOT_NET_CORE,
3696	// DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT.
3697	//
3698	// Tier is a required field
3699	Tier *string `min:"1" type:"string" required:"true" enum:"Tier"`
3700}
3701
3702// String returns the string representation
3703func (s DescribeComponentConfigurationRecommendationInput) String() string {
3704	return awsutil.Prettify(s)
3705}
3706
3707// GoString returns the string representation
3708func (s DescribeComponentConfigurationRecommendationInput) GoString() string {
3709	return s.String()
3710}
3711
3712// Validate inspects the fields of the type to determine if they are valid.
3713func (s *DescribeComponentConfigurationRecommendationInput) Validate() error {
3714	invalidParams := request.ErrInvalidParams{Context: "DescribeComponentConfigurationRecommendationInput"}
3715	if s.ComponentName == nil {
3716		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
3717	}
3718	if s.ResourceGroupName == nil {
3719		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3720	}
3721	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3722		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3723	}
3724	if s.Tier == nil {
3725		invalidParams.Add(request.NewErrParamRequired("Tier"))
3726	}
3727	if s.Tier != nil && len(*s.Tier) < 1 {
3728		invalidParams.Add(request.NewErrParamMinLen("Tier", 1))
3729	}
3730
3731	if invalidParams.Len() > 0 {
3732		return invalidParams
3733	}
3734	return nil
3735}
3736
3737// SetComponentName sets the ComponentName field's value.
3738func (s *DescribeComponentConfigurationRecommendationInput) SetComponentName(v string) *DescribeComponentConfigurationRecommendationInput {
3739	s.ComponentName = &v
3740	return s
3741}
3742
3743// SetResourceGroupName sets the ResourceGroupName field's value.
3744func (s *DescribeComponentConfigurationRecommendationInput) SetResourceGroupName(v string) *DescribeComponentConfigurationRecommendationInput {
3745	s.ResourceGroupName = &v
3746	return s
3747}
3748
3749// SetTier sets the Tier field's value.
3750func (s *DescribeComponentConfigurationRecommendationInput) SetTier(v string) *DescribeComponentConfigurationRecommendationInput {
3751	s.Tier = &v
3752	return s
3753}
3754
3755type DescribeComponentConfigurationRecommendationOutput struct {
3756	_ struct{} `type:"structure"`
3757
3758	// The recommended configuration settings of the component. The value is the
3759	// escaped JSON of the configuration.
3760	ComponentConfiguration *string `min:"1" type:"string"`
3761}
3762
3763// String returns the string representation
3764func (s DescribeComponentConfigurationRecommendationOutput) String() string {
3765	return awsutil.Prettify(s)
3766}
3767
3768// GoString returns the string representation
3769func (s DescribeComponentConfigurationRecommendationOutput) GoString() string {
3770	return s.String()
3771}
3772
3773// SetComponentConfiguration sets the ComponentConfiguration field's value.
3774func (s *DescribeComponentConfigurationRecommendationOutput) SetComponentConfiguration(v string) *DescribeComponentConfigurationRecommendationOutput {
3775	s.ComponentConfiguration = &v
3776	return s
3777}
3778
3779type DescribeComponentInput struct {
3780	_ struct{} `type:"structure"`
3781
3782	// The name of the component.
3783	//
3784	// ComponentName is a required field
3785	ComponentName *string `type:"string" required:"true"`
3786
3787	// The name of the resource group.
3788	//
3789	// ResourceGroupName is a required field
3790	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3791}
3792
3793// String returns the string representation
3794func (s DescribeComponentInput) String() string {
3795	return awsutil.Prettify(s)
3796}
3797
3798// GoString returns the string representation
3799func (s DescribeComponentInput) GoString() string {
3800	return s.String()
3801}
3802
3803// Validate inspects the fields of the type to determine if they are valid.
3804func (s *DescribeComponentInput) Validate() error {
3805	invalidParams := request.ErrInvalidParams{Context: "DescribeComponentInput"}
3806	if s.ComponentName == nil {
3807		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
3808	}
3809	if s.ResourceGroupName == nil {
3810		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3811	}
3812	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3813		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3814	}
3815
3816	if invalidParams.Len() > 0 {
3817		return invalidParams
3818	}
3819	return nil
3820}
3821
3822// SetComponentName sets the ComponentName field's value.
3823func (s *DescribeComponentInput) SetComponentName(v string) *DescribeComponentInput {
3824	s.ComponentName = &v
3825	return s
3826}
3827
3828// SetResourceGroupName sets the ResourceGroupName field's value.
3829func (s *DescribeComponentInput) SetResourceGroupName(v string) *DescribeComponentInput {
3830	s.ResourceGroupName = &v
3831	return s
3832}
3833
3834type DescribeComponentOutput struct {
3835	_ struct{} `type:"structure"`
3836
3837	// Describes a standalone resource or similarly grouped resources that the application
3838	// is made up of.
3839	ApplicationComponent *ApplicationComponent `type:"structure"`
3840
3841	// The list of resource ARNs that belong to the component.
3842	ResourceList []*string `type:"list"`
3843}
3844
3845// String returns the string representation
3846func (s DescribeComponentOutput) String() string {
3847	return awsutil.Prettify(s)
3848}
3849
3850// GoString returns the string representation
3851func (s DescribeComponentOutput) GoString() string {
3852	return s.String()
3853}
3854
3855// SetApplicationComponent sets the ApplicationComponent field's value.
3856func (s *DescribeComponentOutput) SetApplicationComponent(v *ApplicationComponent) *DescribeComponentOutput {
3857	s.ApplicationComponent = v
3858	return s
3859}
3860
3861// SetResourceList sets the ResourceList field's value.
3862func (s *DescribeComponentOutput) SetResourceList(v []*string) *DescribeComponentOutput {
3863	s.ResourceList = v
3864	return s
3865}
3866
3867type DescribeLogPatternInput struct {
3868	_ struct{} `type:"structure"`
3869
3870	// The name of the log pattern.
3871	//
3872	// PatternName is a required field
3873	PatternName *string `min:"1" type:"string" required:"true"`
3874
3875	// The name of the log pattern set.
3876	//
3877	// PatternSetName is a required field
3878	PatternSetName *string `min:"1" type:"string" required:"true"`
3879
3880	// The name of the resource group.
3881	//
3882	// ResourceGroupName is a required field
3883	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3884}
3885
3886// String returns the string representation
3887func (s DescribeLogPatternInput) String() string {
3888	return awsutil.Prettify(s)
3889}
3890
3891// GoString returns the string representation
3892func (s DescribeLogPatternInput) GoString() string {
3893	return s.String()
3894}
3895
3896// Validate inspects the fields of the type to determine if they are valid.
3897func (s *DescribeLogPatternInput) Validate() error {
3898	invalidParams := request.ErrInvalidParams{Context: "DescribeLogPatternInput"}
3899	if s.PatternName == nil {
3900		invalidParams.Add(request.NewErrParamRequired("PatternName"))
3901	}
3902	if s.PatternName != nil && len(*s.PatternName) < 1 {
3903		invalidParams.Add(request.NewErrParamMinLen("PatternName", 1))
3904	}
3905	if s.PatternSetName == nil {
3906		invalidParams.Add(request.NewErrParamRequired("PatternSetName"))
3907	}
3908	if s.PatternSetName != nil && len(*s.PatternSetName) < 1 {
3909		invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1))
3910	}
3911	if s.ResourceGroupName == nil {
3912		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3913	}
3914	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3915		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3916	}
3917
3918	if invalidParams.Len() > 0 {
3919		return invalidParams
3920	}
3921	return nil
3922}
3923
3924// SetPatternName sets the PatternName field's value.
3925func (s *DescribeLogPatternInput) SetPatternName(v string) *DescribeLogPatternInput {
3926	s.PatternName = &v
3927	return s
3928}
3929
3930// SetPatternSetName sets the PatternSetName field's value.
3931func (s *DescribeLogPatternInput) SetPatternSetName(v string) *DescribeLogPatternInput {
3932	s.PatternSetName = &v
3933	return s
3934}
3935
3936// SetResourceGroupName sets the ResourceGroupName field's value.
3937func (s *DescribeLogPatternInput) SetResourceGroupName(v string) *DescribeLogPatternInput {
3938	s.ResourceGroupName = &v
3939	return s
3940}
3941
3942type DescribeLogPatternOutput struct {
3943	_ struct{} `type:"structure"`
3944
3945	// The successfully created log pattern.
3946	LogPattern *LogPattern `type:"structure"`
3947
3948	// The name of the resource group.
3949	ResourceGroupName *string `min:"1" type:"string"`
3950}
3951
3952// String returns the string representation
3953func (s DescribeLogPatternOutput) String() string {
3954	return awsutil.Prettify(s)
3955}
3956
3957// GoString returns the string representation
3958func (s DescribeLogPatternOutput) GoString() string {
3959	return s.String()
3960}
3961
3962// SetLogPattern sets the LogPattern field's value.
3963func (s *DescribeLogPatternOutput) SetLogPattern(v *LogPattern) *DescribeLogPatternOutput {
3964	s.LogPattern = v
3965	return s
3966}
3967
3968// SetResourceGroupName sets the ResourceGroupName field's value.
3969func (s *DescribeLogPatternOutput) SetResourceGroupName(v string) *DescribeLogPatternOutput {
3970	s.ResourceGroupName = &v
3971	return s
3972}
3973
3974type DescribeObservationInput struct {
3975	_ struct{} `type:"structure"`
3976
3977	// The ID of the observation.
3978	//
3979	// ObservationId is a required field
3980	ObservationId *string `min:"38" type:"string" required:"true"`
3981}
3982
3983// String returns the string representation
3984func (s DescribeObservationInput) String() string {
3985	return awsutil.Prettify(s)
3986}
3987
3988// GoString returns the string representation
3989func (s DescribeObservationInput) GoString() string {
3990	return s.String()
3991}
3992
3993// Validate inspects the fields of the type to determine if they are valid.
3994func (s *DescribeObservationInput) Validate() error {
3995	invalidParams := request.ErrInvalidParams{Context: "DescribeObservationInput"}
3996	if s.ObservationId == nil {
3997		invalidParams.Add(request.NewErrParamRequired("ObservationId"))
3998	}
3999	if s.ObservationId != nil && len(*s.ObservationId) < 38 {
4000		invalidParams.Add(request.NewErrParamMinLen("ObservationId", 38))
4001	}
4002
4003	if invalidParams.Len() > 0 {
4004		return invalidParams
4005	}
4006	return nil
4007}
4008
4009// SetObservationId sets the ObservationId field's value.
4010func (s *DescribeObservationInput) SetObservationId(v string) *DescribeObservationInput {
4011	s.ObservationId = &v
4012	return s
4013}
4014
4015type DescribeObservationOutput struct {
4016	_ struct{} `type:"structure"`
4017
4018	// Information about the observation.
4019	Observation *Observation `type:"structure"`
4020}
4021
4022// String returns the string representation
4023func (s DescribeObservationOutput) String() string {
4024	return awsutil.Prettify(s)
4025}
4026
4027// GoString returns the string representation
4028func (s DescribeObservationOutput) GoString() string {
4029	return s.String()
4030}
4031
4032// SetObservation sets the Observation field's value.
4033func (s *DescribeObservationOutput) SetObservation(v *Observation) *DescribeObservationOutput {
4034	s.Observation = v
4035	return s
4036}
4037
4038type DescribeProblemInput struct {
4039	_ struct{} `type:"structure"`
4040
4041	// The ID of the problem.
4042	//
4043	// ProblemId is a required field
4044	ProblemId *string `min:"38" type:"string" required:"true"`
4045}
4046
4047// String returns the string representation
4048func (s DescribeProblemInput) String() string {
4049	return awsutil.Prettify(s)
4050}
4051
4052// GoString returns the string representation
4053func (s DescribeProblemInput) GoString() string {
4054	return s.String()
4055}
4056
4057// Validate inspects the fields of the type to determine if they are valid.
4058func (s *DescribeProblemInput) Validate() error {
4059	invalidParams := request.ErrInvalidParams{Context: "DescribeProblemInput"}
4060	if s.ProblemId == nil {
4061		invalidParams.Add(request.NewErrParamRequired("ProblemId"))
4062	}
4063	if s.ProblemId != nil && len(*s.ProblemId) < 38 {
4064		invalidParams.Add(request.NewErrParamMinLen("ProblemId", 38))
4065	}
4066
4067	if invalidParams.Len() > 0 {
4068		return invalidParams
4069	}
4070	return nil
4071}
4072
4073// SetProblemId sets the ProblemId field's value.
4074func (s *DescribeProblemInput) SetProblemId(v string) *DescribeProblemInput {
4075	s.ProblemId = &v
4076	return s
4077}
4078
4079type DescribeProblemObservationsInput struct {
4080	_ struct{} `type:"structure"`
4081
4082	// The ID of the problem.
4083	//
4084	// ProblemId is a required field
4085	ProblemId *string `min:"38" type:"string" required:"true"`
4086}
4087
4088// String returns the string representation
4089func (s DescribeProblemObservationsInput) String() string {
4090	return awsutil.Prettify(s)
4091}
4092
4093// GoString returns the string representation
4094func (s DescribeProblemObservationsInput) GoString() string {
4095	return s.String()
4096}
4097
4098// Validate inspects the fields of the type to determine if they are valid.
4099func (s *DescribeProblemObservationsInput) Validate() error {
4100	invalidParams := request.ErrInvalidParams{Context: "DescribeProblemObservationsInput"}
4101	if s.ProblemId == nil {
4102		invalidParams.Add(request.NewErrParamRequired("ProblemId"))
4103	}
4104	if s.ProblemId != nil && len(*s.ProblemId) < 38 {
4105		invalidParams.Add(request.NewErrParamMinLen("ProblemId", 38))
4106	}
4107
4108	if invalidParams.Len() > 0 {
4109		return invalidParams
4110	}
4111	return nil
4112}
4113
4114// SetProblemId sets the ProblemId field's value.
4115func (s *DescribeProblemObservationsInput) SetProblemId(v string) *DescribeProblemObservationsInput {
4116	s.ProblemId = &v
4117	return s
4118}
4119
4120type DescribeProblemObservationsOutput struct {
4121	_ struct{} `type:"structure"`
4122
4123	// Observations related to the problem.
4124	RelatedObservations *RelatedObservations `type:"structure"`
4125}
4126
4127// String returns the string representation
4128func (s DescribeProblemObservationsOutput) String() string {
4129	return awsutil.Prettify(s)
4130}
4131
4132// GoString returns the string representation
4133func (s DescribeProblemObservationsOutput) GoString() string {
4134	return s.String()
4135}
4136
4137// SetRelatedObservations sets the RelatedObservations field's value.
4138func (s *DescribeProblemObservationsOutput) SetRelatedObservations(v *RelatedObservations) *DescribeProblemObservationsOutput {
4139	s.RelatedObservations = v
4140	return s
4141}
4142
4143type DescribeProblemOutput struct {
4144	_ struct{} `type:"structure"`
4145
4146	// Information about the problem.
4147	Problem *Problem `type:"structure"`
4148}
4149
4150// String returns the string representation
4151func (s DescribeProblemOutput) String() string {
4152	return awsutil.Prettify(s)
4153}
4154
4155// GoString returns the string representation
4156func (s DescribeProblemOutput) GoString() string {
4157	return s.String()
4158}
4159
4160// SetProblem sets the Problem field's value.
4161func (s *DescribeProblemOutput) SetProblem(v *Problem) *DescribeProblemOutput {
4162	s.Problem = v
4163	return s
4164}
4165
4166// The server encountered an internal error and is unable to complete the request.
4167type InternalServerException struct {
4168	_            struct{}                  `type:"structure"`
4169	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4170
4171	Message_ *string `locationName:"Message" type:"string"`
4172}
4173
4174// String returns the string representation
4175func (s InternalServerException) String() string {
4176	return awsutil.Prettify(s)
4177}
4178
4179// GoString returns the string representation
4180func (s InternalServerException) GoString() string {
4181	return s.String()
4182}
4183
4184func newErrorInternalServerException(v protocol.ResponseMetadata) error {
4185	return &InternalServerException{
4186		RespMetadata: v,
4187	}
4188}
4189
4190// Code returns the exception type name.
4191func (s *InternalServerException) Code() string {
4192	return "InternalServerException"
4193}
4194
4195// Message returns the exception's message.
4196func (s *InternalServerException) Message() string {
4197	if s.Message_ != nil {
4198		return *s.Message_
4199	}
4200	return ""
4201}
4202
4203// OrigErr always returns nil, satisfies awserr.Error interface.
4204func (s *InternalServerException) OrigErr() error {
4205	return nil
4206}
4207
4208func (s *InternalServerException) Error() string {
4209	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4210}
4211
4212// Status code returns the HTTP status code for the request's response error.
4213func (s *InternalServerException) StatusCode() int {
4214	return s.RespMetadata.StatusCode
4215}
4216
4217// RequestID returns the service's response RequestID for request.
4218func (s *InternalServerException) RequestID() string {
4219	return s.RespMetadata.RequestID
4220}
4221
4222type ListApplicationsInput struct {
4223	_ struct{} `type:"structure"`
4224
4225	// The maximum number of results to return in a single call. To retrieve the
4226	// remaining results, make another call with the returned NextToken value.
4227	MaxResults *int64 `min:"1" type:"integer"`
4228
4229	// The token to request the next page of results.
4230	NextToken *string `type:"string"`
4231}
4232
4233// String returns the string representation
4234func (s ListApplicationsInput) String() string {
4235	return awsutil.Prettify(s)
4236}
4237
4238// GoString returns the string representation
4239func (s ListApplicationsInput) GoString() string {
4240	return s.String()
4241}
4242
4243// Validate inspects the fields of the type to determine if they are valid.
4244func (s *ListApplicationsInput) Validate() error {
4245	invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"}
4246	if s.MaxResults != nil && *s.MaxResults < 1 {
4247		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4248	}
4249
4250	if invalidParams.Len() > 0 {
4251		return invalidParams
4252	}
4253	return nil
4254}
4255
4256// SetMaxResults sets the MaxResults field's value.
4257func (s *ListApplicationsInput) SetMaxResults(v int64) *ListApplicationsInput {
4258	s.MaxResults = &v
4259	return s
4260}
4261
4262// SetNextToken sets the NextToken field's value.
4263func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput {
4264	s.NextToken = &v
4265	return s
4266}
4267
4268type ListApplicationsOutput struct {
4269	_ struct{} `type:"structure"`
4270
4271	// The list of applications.
4272	ApplicationInfoList []*ApplicationInfo `type:"list"`
4273
4274	// The token used to retrieve the next page of results. This value is null when
4275	// there are no more results to return.
4276	NextToken *string `type:"string"`
4277}
4278
4279// String returns the string representation
4280func (s ListApplicationsOutput) String() string {
4281	return awsutil.Prettify(s)
4282}
4283
4284// GoString returns the string representation
4285func (s ListApplicationsOutput) GoString() string {
4286	return s.String()
4287}
4288
4289// SetApplicationInfoList sets the ApplicationInfoList field's value.
4290func (s *ListApplicationsOutput) SetApplicationInfoList(v []*ApplicationInfo) *ListApplicationsOutput {
4291	s.ApplicationInfoList = v
4292	return s
4293}
4294
4295// SetNextToken sets the NextToken field's value.
4296func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput {
4297	s.NextToken = &v
4298	return s
4299}
4300
4301type ListComponentsInput struct {
4302	_ struct{} `type:"structure"`
4303
4304	// The maximum number of results to return in a single call. To retrieve the
4305	// remaining results, make another call with the returned NextToken value.
4306	MaxResults *int64 `min:"1" type:"integer"`
4307
4308	// The token to request the next page of results.
4309	NextToken *string `type:"string"`
4310
4311	// The name of the resource group.
4312	//
4313	// ResourceGroupName is a required field
4314	ResourceGroupName *string `min:"1" type:"string" required:"true"`
4315}
4316
4317// String returns the string representation
4318func (s ListComponentsInput) String() string {
4319	return awsutil.Prettify(s)
4320}
4321
4322// GoString returns the string representation
4323func (s ListComponentsInput) GoString() string {
4324	return s.String()
4325}
4326
4327// Validate inspects the fields of the type to determine if they are valid.
4328func (s *ListComponentsInput) Validate() error {
4329	invalidParams := request.ErrInvalidParams{Context: "ListComponentsInput"}
4330	if s.MaxResults != nil && *s.MaxResults < 1 {
4331		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4332	}
4333	if s.ResourceGroupName == nil {
4334		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
4335	}
4336	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
4337		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
4338	}
4339
4340	if invalidParams.Len() > 0 {
4341		return invalidParams
4342	}
4343	return nil
4344}
4345
4346// SetMaxResults sets the MaxResults field's value.
4347func (s *ListComponentsInput) SetMaxResults(v int64) *ListComponentsInput {
4348	s.MaxResults = &v
4349	return s
4350}
4351
4352// SetNextToken sets the NextToken field's value.
4353func (s *ListComponentsInput) SetNextToken(v string) *ListComponentsInput {
4354	s.NextToken = &v
4355	return s
4356}
4357
4358// SetResourceGroupName sets the ResourceGroupName field's value.
4359func (s *ListComponentsInput) SetResourceGroupName(v string) *ListComponentsInput {
4360	s.ResourceGroupName = &v
4361	return s
4362}
4363
4364type ListComponentsOutput struct {
4365	_ struct{} `type:"structure"`
4366
4367	// The list of application components.
4368	ApplicationComponentList []*ApplicationComponent `type:"list"`
4369
4370	// The token to request the next page of results.
4371	NextToken *string `type:"string"`
4372}
4373
4374// String returns the string representation
4375func (s ListComponentsOutput) String() string {
4376	return awsutil.Prettify(s)
4377}
4378
4379// GoString returns the string representation
4380func (s ListComponentsOutput) GoString() string {
4381	return s.String()
4382}
4383
4384// SetApplicationComponentList sets the ApplicationComponentList field's value.
4385func (s *ListComponentsOutput) SetApplicationComponentList(v []*ApplicationComponent) *ListComponentsOutput {
4386	s.ApplicationComponentList = v
4387	return s
4388}
4389
4390// SetNextToken sets the NextToken field's value.
4391func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput {
4392	s.NextToken = &v
4393	return s
4394}
4395
4396type ListConfigurationHistoryInput struct {
4397	_ struct{} `type:"structure"`
4398
4399	// The end time of the event.
4400	EndTime *time.Time `type:"timestamp"`
4401
4402	// The status of the configuration update event. Possible values include INFO,
4403	// WARN, and ERROR.
4404	EventStatus *string `type:"string" enum:"ConfigurationEventStatus"`
4405
4406	// The maximum number of results returned by ListConfigurationHistory in paginated
4407	// output. When this parameter is used, ListConfigurationHistory returns only
4408	// MaxResults in a single page along with a NextToken response element. The
4409	// remaining results of the initial request can be seen by sending another ListConfigurationHistory
4410	// request with the returned NextToken value. If this parameter is not used,
4411	// then ListConfigurationHistory returns all results.
4412	MaxResults *int64 `min:"1" type:"integer"`
4413
4414	// The NextToken value returned from a previous paginated ListConfigurationHistory
4415	// request where MaxResults was used and the results exceeded the value of that
4416	// parameter. Pagination continues from the end of the previous results that
4417	// returned the NextToken value. This value is null when there are no more results
4418	// to return.
4419	NextToken *string `type:"string"`
4420
4421	// Resource group to which the application belongs.
4422	ResourceGroupName *string `min:"1" type:"string"`
4423
4424	// The start time of the event.
4425	StartTime *time.Time `type:"timestamp"`
4426}
4427
4428// String returns the string representation
4429func (s ListConfigurationHistoryInput) String() string {
4430	return awsutil.Prettify(s)
4431}
4432
4433// GoString returns the string representation
4434func (s ListConfigurationHistoryInput) GoString() string {
4435	return s.String()
4436}
4437
4438// Validate inspects the fields of the type to determine if they are valid.
4439func (s *ListConfigurationHistoryInput) Validate() error {
4440	invalidParams := request.ErrInvalidParams{Context: "ListConfigurationHistoryInput"}
4441	if s.MaxResults != nil && *s.MaxResults < 1 {
4442		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4443	}
4444	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
4445		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
4446	}
4447
4448	if invalidParams.Len() > 0 {
4449		return invalidParams
4450	}
4451	return nil
4452}
4453
4454// SetEndTime sets the EndTime field's value.
4455func (s *ListConfigurationHistoryInput) SetEndTime(v time.Time) *ListConfigurationHistoryInput {
4456	s.EndTime = &v
4457	return s
4458}
4459
4460// SetEventStatus sets the EventStatus field's value.
4461func (s *ListConfigurationHistoryInput) SetEventStatus(v string) *ListConfigurationHistoryInput {
4462	s.EventStatus = &v
4463	return s
4464}
4465
4466// SetMaxResults sets the MaxResults field's value.
4467func (s *ListConfigurationHistoryInput) SetMaxResults(v int64) *ListConfigurationHistoryInput {
4468	s.MaxResults = &v
4469	return s
4470}
4471
4472// SetNextToken sets the NextToken field's value.
4473func (s *ListConfigurationHistoryInput) SetNextToken(v string) *ListConfigurationHistoryInput {
4474	s.NextToken = &v
4475	return s
4476}
4477
4478// SetResourceGroupName sets the ResourceGroupName field's value.
4479func (s *ListConfigurationHistoryInput) SetResourceGroupName(v string) *ListConfigurationHistoryInput {
4480	s.ResourceGroupName = &v
4481	return s
4482}
4483
4484// SetStartTime sets the StartTime field's value.
4485func (s *ListConfigurationHistoryInput) SetStartTime(v time.Time) *ListConfigurationHistoryInput {
4486	s.StartTime = &v
4487	return s
4488}
4489
4490type ListConfigurationHistoryOutput struct {
4491	_ struct{} `type:"structure"`
4492
4493	// The list of configuration events and their corresponding details.
4494	EventList []*ConfigurationEvent `type:"list"`
4495
4496	// The NextToken value to include in a future ListConfigurationHistory request.
4497	// When the results of a ListConfigurationHistory request exceed MaxResults,
4498	// this value can be used to retrieve the next page of results. This value is
4499	// null when there are no more results to return.
4500	NextToken *string `type:"string"`
4501}
4502
4503// String returns the string representation
4504func (s ListConfigurationHistoryOutput) String() string {
4505	return awsutil.Prettify(s)
4506}
4507
4508// GoString returns the string representation
4509func (s ListConfigurationHistoryOutput) GoString() string {
4510	return s.String()
4511}
4512
4513// SetEventList sets the EventList field's value.
4514func (s *ListConfigurationHistoryOutput) SetEventList(v []*ConfigurationEvent) *ListConfigurationHistoryOutput {
4515	s.EventList = v
4516	return s
4517}
4518
4519// SetNextToken sets the NextToken field's value.
4520func (s *ListConfigurationHistoryOutput) SetNextToken(v string) *ListConfigurationHistoryOutput {
4521	s.NextToken = &v
4522	return s
4523}
4524
4525type ListLogPatternSetsInput struct {
4526	_ struct{} `type:"structure"`
4527
4528	// The maximum number of results to return in a single call. To retrieve the
4529	// remaining results, make another call with the returned NextToken value.
4530	MaxResults *int64 `min:"1" type:"integer"`
4531
4532	// The token to request the next page of results.
4533	NextToken *string `type:"string"`
4534
4535	// The name of the resource group.
4536	//
4537	// ResourceGroupName is a required field
4538	ResourceGroupName *string `min:"1" type:"string" required:"true"`
4539}
4540
4541// String returns the string representation
4542func (s ListLogPatternSetsInput) String() string {
4543	return awsutil.Prettify(s)
4544}
4545
4546// GoString returns the string representation
4547func (s ListLogPatternSetsInput) GoString() string {
4548	return s.String()
4549}
4550
4551// Validate inspects the fields of the type to determine if they are valid.
4552func (s *ListLogPatternSetsInput) Validate() error {
4553	invalidParams := request.ErrInvalidParams{Context: "ListLogPatternSetsInput"}
4554	if s.MaxResults != nil && *s.MaxResults < 1 {
4555		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4556	}
4557	if s.ResourceGroupName == nil {
4558		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
4559	}
4560	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
4561		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
4562	}
4563
4564	if invalidParams.Len() > 0 {
4565		return invalidParams
4566	}
4567	return nil
4568}
4569
4570// SetMaxResults sets the MaxResults field's value.
4571func (s *ListLogPatternSetsInput) SetMaxResults(v int64) *ListLogPatternSetsInput {
4572	s.MaxResults = &v
4573	return s
4574}
4575
4576// SetNextToken sets the NextToken field's value.
4577func (s *ListLogPatternSetsInput) SetNextToken(v string) *ListLogPatternSetsInput {
4578	s.NextToken = &v
4579	return s
4580}
4581
4582// SetResourceGroupName sets the ResourceGroupName field's value.
4583func (s *ListLogPatternSetsInput) SetResourceGroupName(v string) *ListLogPatternSetsInput {
4584	s.ResourceGroupName = &v
4585	return s
4586}
4587
4588type ListLogPatternSetsOutput struct {
4589	_ struct{} `type:"structure"`
4590
4591	// The list of log pattern sets.
4592	LogPatternSets []*string `type:"list"`
4593
4594	// The token used to retrieve the next page of results. This value is null when
4595	// there are no more results to return.
4596	NextToken *string `type:"string"`
4597
4598	// The name of the resource group.
4599	ResourceGroupName *string `min:"1" type:"string"`
4600}
4601
4602// String returns the string representation
4603func (s ListLogPatternSetsOutput) String() string {
4604	return awsutil.Prettify(s)
4605}
4606
4607// GoString returns the string representation
4608func (s ListLogPatternSetsOutput) GoString() string {
4609	return s.String()
4610}
4611
4612// SetLogPatternSets sets the LogPatternSets field's value.
4613func (s *ListLogPatternSetsOutput) SetLogPatternSets(v []*string) *ListLogPatternSetsOutput {
4614	s.LogPatternSets = v
4615	return s
4616}
4617
4618// SetNextToken sets the NextToken field's value.
4619func (s *ListLogPatternSetsOutput) SetNextToken(v string) *ListLogPatternSetsOutput {
4620	s.NextToken = &v
4621	return s
4622}
4623
4624// SetResourceGroupName sets the ResourceGroupName field's value.
4625func (s *ListLogPatternSetsOutput) SetResourceGroupName(v string) *ListLogPatternSetsOutput {
4626	s.ResourceGroupName = &v
4627	return s
4628}
4629
4630type ListLogPatternsInput struct {
4631	_ struct{} `type:"structure"`
4632
4633	// The maximum number of results to return in a single call. To retrieve the
4634	// remaining results, make another call with the returned NextToken value.
4635	MaxResults *int64 `min:"1" type:"integer"`
4636
4637	// The token to request the next page of results.
4638	NextToken *string `type:"string"`
4639
4640	// The name of the log pattern set.
4641	PatternSetName *string `min:"1" type:"string"`
4642
4643	// The name of the resource group.
4644	//
4645	// ResourceGroupName is a required field
4646	ResourceGroupName *string `min:"1" type:"string" required:"true"`
4647}
4648
4649// String returns the string representation
4650func (s ListLogPatternsInput) String() string {
4651	return awsutil.Prettify(s)
4652}
4653
4654// GoString returns the string representation
4655func (s ListLogPatternsInput) GoString() string {
4656	return s.String()
4657}
4658
4659// Validate inspects the fields of the type to determine if they are valid.
4660func (s *ListLogPatternsInput) Validate() error {
4661	invalidParams := request.ErrInvalidParams{Context: "ListLogPatternsInput"}
4662	if s.MaxResults != nil && *s.MaxResults < 1 {
4663		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4664	}
4665	if s.PatternSetName != nil && len(*s.PatternSetName) < 1 {
4666		invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1))
4667	}
4668	if s.ResourceGroupName == nil {
4669		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
4670	}
4671	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
4672		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
4673	}
4674
4675	if invalidParams.Len() > 0 {
4676		return invalidParams
4677	}
4678	return nil
4679}
4680
4681// SetMaxResults sets the MaxResults field's value.
4682func (s *ListLogPatternsInput) SetMaxResults(v int64) *ListLogPatternsInput {
4683	s.MaxResults = &v
4684	return s
4685}
4686
4687// SetNextToken sets the NextToken field's value.
4688func (s *ListLogPatternsInput) SetNextToken(v string) *ListLogPatternsInput {
4689	s.NextToken = &v
4690	return s
4691}
4692
4693// SetPatternSetName sets the PatternSetName field's value.
4694func (s *ListLogPatternsInput) SetPatternSetName(v string) *ListLogPatternsInput {
4695	s.PatternSetName = &v
4696	return s
4697}
4698
4699// SetResourceGroupName sets the ResourceGroupName field's value.
4700func (s *ListLogPatternsInput) SetResourceGroupName(v string) *ListLogPatternsInput {
4701	s.ResourceGroupName = &v
4702	return s
4703}
4704
4705type ListLogPatternsOutput struct {
4706	_ struct{} `type:"structure"`
4707
4708	// The list of log patterns.
4709	LogPatterns []*LogPattern `type:"list"`
4710
4711	// The token used to retrieve the next page of results. This value is null when
4712	// there are no more results to return.
4713	NextToken *string `type:"string"`
4714
4715	// The name of the resource group.
4716	ResourceGroupName *string `min:"1" type:"string"`
4717}
4718
4719// String returns the string representation
4720func (s ListLogPatternsOutput) String() string {
4721	return awsutil.Prettify(s)
4722}
4723
4724// GoString returns the string representation
4725func (s ListLogPatternsOutput) GoString() string {
4726	return s.String()
4727}
4728
4729// SetLogPatterns sets the LogPatterns field's value.
4730func (s *ListLogPatternsOutput) SetLogPatterns(v []*LogPattern) *ListLogPatternsOutput {
4731	s.LogPatterns = v
4732	return s
4733}
4734
4735// SetNextToken sets the NextToken field's value.
4736func (s *ListLogPatternsOutput) SetNextToken(v string) *ListLogPatternsOutput {
4737	s.NextToken = &v
4738	return s
4739}
4740
4741// SetResourceGroupName sets the ResourceGroupName field's value.
4742func (s *ListLogPatternsOutput) SetResourceGroupName(v string) *ListLogPatternsOutput {
4743	s.ResourceGroupName = &v
4744	return s
4745}
4746
4747type ListProblemsInput struct {
4748	_ struct{} `type:"structure"`
4749
4750	// The time when the problem ended, in epoch seconds. If not specified, problems
4751	// within the past seven days are returned.
4752	EndTime *time.Time `type:"timestamp"`
4753
4754	// The maximum number of results to return in a single call. To retrieve the
4755	// remaining results, make another call with the returned NextToken value.
4756	MaxResults *int64 `min:"1" type:"integer"`
4757
4758	// The token to request the next page of results.
4759	NextToken *string `type:"string"`
4760
4761	// The name of the resource group.
4762	ResourceGroupName *string `min:"1" type:"string"`
4763
4764	// The time when the problem was detected, in epoch seconds. If you don't specify
4765	// a time frame for the request, problems within the past seven days are returned.
4766	StartTime *time.Time `type:"timestamp"`
4767}
4768
4769// String returns the string representation
4770func (s ListProblemsInput) String() string {
4771	return awsutil.Prettify(s)
4772}
4773
4774// GoString returns the string representation
4775func (s ListProblemsInput) GoString() string {
4776	return s.String()
4777}
4778
4779// Validate inspects the fields of the type to determine if they are valid.
4780func (s *ListProblemsInput) Validate() error {
4781	invalidParams := request.ErrInvalidParams{Context: "ListProblemsInput"}
4782	if s.MaxResults != nil && *s.MaxResults < 1 {
4783		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4784	}
4785	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
4786		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
4787	}
4788
4789	if invalidParams.Len() > 0 {
4790		return invalidParams
4791	}
4792	return nil
4793}
4794
4795// SetEndTime sets the EndTime field's value.
4796func (s *ListProblemsInput) SetEndTime(v time.Time) *ListProblemsInput {
4797	s.EndTime = &v
4798	return s
4799}
4800
4801// SetMaxResults sets the MaxResults field's value.
4802func (s *ListProblemsInput) SetMaxResults(v int64) *ListProblemsInput {
4803	s.MaxResults = &v
4804	return s
4805}
4806
4807// SetNextToken sets the NextToken field's value.
4808func (s *ListProblemsInput) SetNextToken(v string) *ListProblemsInput {
4809	s.NextToken = &v
4810	return s
4811}
4812
4813// SetResourceGroupName sets the ResourceGroupName field's value.
4814func (s *ListProblemsInput) SetResourceGroupName(v string) *ListProblemsInput {
4815	s.ResourceGroupName = &v
4816	return s
4817}
4818
4819// SetStartTime sets the StartTime field's value.
4820func (s *ListProblemsInput) SetStartTime(v time.Time) *ListProblemsInput {
4821	s.StartTime = &v
4822	return s
4823}
4824
4825type ListProblemsOutput struct {
4826	_ struct{} `type:"structure"`
4827
4828	// The token used to retrieve the next page of results. This value is null when
4829	// there are no more results to return.
4830	NextToken *string `type:"string"`
4831
4832	// The list of problems.
4833	ProblemList []*Problem `type:"list"`
4834}
4835
4836// String returns the string representation
4837func (s ListProblemsOutput) String() string {
4838	return awsutil.Prettify(s)
4839}
4840
4841// GoString returns the string representation
4842func (s ListProblemsOutput) GoString() string {
4843	return s.String()
4844}
4845
4846// SetNextToken sets the NextToken field's value.
4847func (s *ListProblemsOutput) SetNextToken(v string) *ListProblemsOutput {
4848	s.NextToken = &v
4849	return s
4850}
4851
4852// SetProblemList sets the ProblemList field's value.
4853func (s *ListProblemsOutput) SetProblemList(v []*Problem) *ListProblemsOutput {
4854	s.ProblemList = v
4855	return s
4856}
4857
4858type ListTagsForResourceInput struct {
4859	_ struct{} `type:"structure"`
4860
4861	// The Amazon Resource Name (ARN) of the application that you want to retrieve
4862	// tag information for.
4863	//
4864	// ResourceARN is a required field
4865	ResourceARN *string `min:"1" type:"string" required:"true"`
4866}
4867
4868// String returns the string representation
4869func (s ListTagsForResourceInput) String() string {
4870	return awsutil.Prettify(s)
4871}
4872
4873// GoString returns the string representation
4874func (s ListTagsForResourceInput) GoString() string {
4875	return s.String()
4876}
4877
4878// Validate inspects the fields of the type to determine if they are valid.
4879func (s *ListTagsForResourceInput) Validate() error {
4880	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
4881	if s.ResourceARN == nil {
4882		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
4883	}
4884	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
4885		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
4886	}
4887
4888	if invalidParams.Len() > 0 {
4889		return invalidParams
4890	}
4891	return nil
4892}
4893
4894// SetResourceARN sets the ResourceARN field's value.
4895func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
4896	s.ResourceARN = &v
4897	return s
4898}
4899
4900type ListTagsForResourceOutput struct {
4901	_ struct{} `type:"structure"`
4902
4903	// An array that lists all the tags that are associated with the application.
4904	// Each tag consists of a required tag key (Key) and an associated tag value
4905	// (Value).
4906	Tags []*Tag `type:"list"`
4907}
4908
4909// String returns the string representation
4910func (s ListTagsForResourceOutput) String() string {
4911	return awsutil.Prettify(s)
4912}
4913
4914// GoString returns the string representation
4915func (s ListTagsForResourceOutput) GoString() string {
4916	return s.String()
4917}
4918
4919// SetTags sets the Tags field's value.
4920func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
4921	s.Tags = v
4922	return s
4923}
4924
4925// An object that defines the log patterns that belongs to a LogPatternSet.
4926type LogPattern struct {
4927	_ struct{} `type:"structure"`
4928
4929	// A regular expression that defines the log pattern. A log pattern can contains
4930	// at many as 50 characters, and it cannot be empty.
4931	Pattern *string `min:"1" type:"string"`
4932
4933	// The name of the log pattern. A log pattern name can contains at many as 50
4934	// characters, and it cannot be empty. The characters can be Unicode letters,
4935	// digits or one of the following symbols: period, dash, underscore.
4936	PatternName *string `min:"1" type:"string"`
4937
4938	// The name of the log pattern. A log pattern name can contains at many as 30
4939	// characters, and it cannot be empty. The characters can be Unicode letters,
4940	// digits or one of the following symbols: period, dash, underscore.
4941	PatternSetName *string `min:"1" type:"string"`
4942
4943	// Rank of the log pattern.
4944	Rank *int64 `type:"integer"`
4945}
4946
4947// String returns the string representation
4948func (s LogPattern) String() string {
4949	return awsutil.Prettify(s)
4950}
4951
4952// GoString returns the string representation
4953func (s LogPattern) GoString() string {
4954	return s.String()
4955}
4956
4957// SetPattern sets the Pattern field's value.
4958func (s *LogPattern) SetPattern(v string) *LogPattern {
4959	s.Pattern = &v
4960	return s
4961}
4962
4963// SetPatternName sets the PatternName field's value.
4964func (s *LogPattern) SetPatternName(v string) *LogPattern {
4965	s.PatternName = &v
4966	return s
4967}
4968
4969// SetPatternSetName sets the PatternSetName field's value.
4970func (s *LogPattern) SetPatternSetName(v string) *LogPattern {
4971	s.PatternSetName = &v
4972	return s
4973}
4974
4975// SetRank sets the Rank field's value.
4976func (s *LogPattern) SetRank(v int64) *LogPattern {
4977	s.Rank = &v
4978	return s
4979}
4980
4981// Describes an anomaly or error with the application.
4982type Observation struct {
4983	_ struct{} `type:"structure"`
4984
4985	// The detail type of the CloudWatch Event-based observation, for example, EC2
4986	// Instance State-change Notification.
4987	CloudWatchEventDetailType *string `type:"string"`
4988
4989	// The ID of the CloudWatch Event-based observation related to the detected
4990	// problem.
4991	CloudWatchEventId *string `type:"string"`
4992
4993	// The source of the CloudWatch Event.
4994	CloudWatchEventSource *string `type:"string" enum:"CloudWatchEventSource"`
4995
4996	// The CodeDeploy application to which the deployment belongs.
4997	CodeDeployApplication *string `type:"string"`
4998
4999	// The deployment group to which the CodeDeploy deployment belongs.
5000	CodeDeployDeploymentGroup *string `type:"string"`
5001
5002	// The deployment ID of the CodeDeploy-based observation related to the detected
5003	// problem.
5004	CodeDeployDeploymentId *string `type:"string"`
5005
5006	// The instance group to which the CodeDeploy instance belongs.
5007	CodeDeployInstanceGroupId *string `type:"string"`
5008
5009	// The status of the CodeDeploy deployment, for example SUCCESS or FAILURE.
5010	CodeDeployState *string `type:"string"`
5011
5012	// The state of the instance, such as STOPPING or TERMINATING.
5013	Ec2State *string `type:"string"`
5014
5015	// The time when the observation ended, in epoch seconds.
5016	EndTime *time.Time `type:"timestamp"`
5017
5018	// The Amazon Resource Name (ARN) of the AWS Health Event-based observation.
5019	HealthEventArn *string `type:"string"`
5020
5021	// The description of the AWS Health event provided by the service, such as
5022	// Amazon EC2.
5023	HealthEventDescription *string `type:"string"`
5024
5025	// The category of the AWS Health event, such as issue.
5026	HealthEventTypeCategory *string `type:"string"`
5027
5028	// The type of the AWS Health event, for example, AWS_EC2_POWER_CONNECTIVITY_ISSUE.
5029	HealthEventTypeCode *string `type:"string"`
5030
5031	// The service to which the AWS Health Event belongs, such as EC2.
5032	HealthService *string `type:"string"`
5033
5034	// The ID of the observation type.
5035	Id *string `min:"38" type:"string"`
5036
5037	// The timestamp in the CloudWatch Logs that specifies when the matched line
5038	// occurred.
5039	LineTime *time.Time `type:"timestamp"`
5040
5041	// The log filter of the observation.
5042	LogFilter *string `type:"string" enum:"LogFilter"`
5043
5044	// The log group name.
5045	LogGroup *string `type:"string"`
5046
5047	// The log text of the observation.
5048	LogText *string `type:"string"`
5049
5050	// The name of the observation metric.
5051	MetricName *string `type:"string"`
5052
5053	// The namespace of the observation metric.
5054	MetricNamespace *string `type:"string"`
5055
5056	// The source resource ARN of the observation.
5057	SourceARN *string `type:"string"`
5058
5059	// The source type of the observation.
5060	SourceType *string `type:"string"`
5061
5062	// The time when the observation was first detected, in epoch seconds.
5063	StartTime *time.Time `type:"timestamp"`
5064
5065	// The unit of the source observation metric.
5066	Unit *string `type:"string"`
5067
5068	// The value of the source observation metric.
5069	Value *float64 `type:"double"`
5070
5071	// The X-Ray request error percentage for this node.
5072	XRayErrorPercent *int64 `type:"integer"`
5073
5074	// The X-Ray request fault percentage for this node.
5075	XRayFaultPercent *int64 `type:"integer"`
5076
5077	// The name of the X-Ray node.
5078	XRayNodeName *string `type:"string"`
5079
5080	// The type of the X-Ray node.
5081	XRayNodeType *string `type:"string"`
5082
5083	// The X-Ray node request average latency for this node.
5084	XRayRequestAverageLatency *int64 `type:"long"`
5085
5086	// The X-Ray request count for this node.
5087	XRayRequestCount *int64 `type:"integer"`
5088
5089	// The X-Ray request throttle percentage for this node.
5090	XRayThrottlePercent *int64 `type:"integer"`
5091}
5092
5093// String returns the string representation
5094func (s Observation) String() string {
5095	return awsutil.Prettify(s)
5096}
5097
5098// GoString returns the string representation
5099func (s Observation) GoString() string {
5100	return s.String()
5101}
5102
5103// SetCloudWatchEventDetailType sets the CloudWatchEventDetailType field's value.
5104func (s *Observation) SetCloudWatchEventDetailType(v string) *Observation {
5105	s.CloudWatchEventDetailType = &v
5106	return s
5107}
5108
5109// SetCloudWatchEventId sets the CloudWatchEventId field's value.
5110func (s *Observation) SetCloudWatchEventId(v string) *Observation {
5111	s.CloudWatchEventId = &v
5112	return s
5113}
5114
5115// SetCloudWatchEventSource sets the CloudWatchEventSource field's value.
5116func (s *Observation) SetCloudWatchEventSource(v string) *Observation {
5117	s.CloudWatchEventSource = &v
5118	return s
5119}
5120
5121// SetCodeDeployApplication sets the CodeDeployApplication field's value.
5122func (s *Observation) SetCodeDeployApplication(v string) *Observation {
5123	s.CodeDeployApplication = &v
5124	return s
5125}
5126
5127// SetCodeDeployDeploymentGroup sets the CodeDeployDeploymentGroup field's value.
5128func (s *Observation) SetCodeDeployDeploymentGroup(v string) *Observation {
5129	s.CodeDeployDeploymentGroup = &v
5130	return s
5131}
5132
5133// SetCodeDeployDeploymentId sets the CodeDeployDeploymentId field's value.
5134func (s *Observation) SetCodeDeployDeploymentId(v string) *Observation {
5135	s.CodeDeployDeploymentId = &v
5136	return s
5137}
5138
5139// SetCodeDeployInstanceGroupId sets the CodeDeployInstanceGroupId field's value.
5140func (s *Observation) SetCodeDeployInstanceGroupId(v string) *Observation {
5141	s.CodeDeployInstanceGroupId = &v
5142	return s
5143}
5144
5145// SetCodeDeployState sets the CodeDeployState field's value.
5146func (s *Observation) SetCodeDeployState(v string) *Observation {
5147	s.CodeDeployState = &v
5148	return s
5149}
5150
5151// SetEc2State sets the Ec2State field's value.
5152func (s *Observation) SetEc2State(v string) *Observation {
5153	s.Ec2State = &v
5154	return s
5155}
5156
5157// SetEndTime sets the EndTime field's value.
5158func (s *Observation) SetEndTime(v time.Time) *Observation {
5159	s.EndTime = &v
5160	return s
5161}
5162
5163// SetHealthEventArn sets the HealthEventArn field's value.
5164func (s *Observation) SetHealthEventArn(v string) *Observation {
5165	s.HealthEventArn = &v
5166	return s
5167}
5168
5169// SetHealthEventDescription sets the HealthEventDescription field's value.
5170func (s *Observation) SetHealthEventDescription(v string) *Observation {
5171	s.HealthEventDescription = &v
5172	return s
5173}
5174
5175// SetHealthEventTypeCategory sets the HealthEventTypeCategory field's value.
5176func (s *Observation) SetHealthEventTypeCategory(v string) *Observation {
5177	s.HealthEventTypeCategory = &v
5178	return s
5179}
5180
5181// SetHealthEventTypeCode sets the HealthEventTypeCode field's value.
5182func (s *Observation) SetHealthEventTypeCode(v string) *Observation {
5183	s.HealthEventTypeCode = &v
5184	return s
5185}
5186
5187// SetHealthService sets the HealthService field's value.
5188func (s *Observation) SetHealthService(v string) *Observation {
5189	s.HealthService = &v
5190	return s
5191}
5192
5193// SetId sets the Id field's value.
5194func (s *Observation) SetId(v string) *Observation {
5195	s.Id = &v
5196	return s
5197}
5198
5199// SetLineTime sets the LineTime field's value.
5200func (s *Observation) SetLineTime(v time.Time) *Observation {
5201	s.LineTime = &v
5202	return s
5203}
5204
5205// SetLogFilter sets the LogFilter field's value.
5206func (s *Observation) SetLogFilter(v string) *Observation {
5207	s.LogFilter = &v
5208	return s
5209}
5210
5211// SetLogGroup sets the LogGroup field's value.
5212func (s *Observation) SetLogGroup(v string) *Observation {
5213	s.LogGroup = &v
5214	return s
5215}
5216
5217// SetLogText sets the LogText field's value.
5218func (s *Observation) SetLogText(v string) *Observation {
5219	s.LogText = &v
5220	return s
5221}
5222
5223// SetMetricName sets the MetricName field's value.
5224func (s *Observation) SetMetricName(v string) *Observation {
5225	s.MetricName = &v
5226	return s
5227}
5228
5229// SetMetricNamespace sets the MetricNamespace field's value.
5230func (s *Observation) SetMetricNamespace(v string) *Observation {
5231	s.MetricNamespace = &v
5232	return s
5233}
5234
5235// SetSourceARN sets the SourceARN field's value.
5236func (s *Observation) SetSourceARN(v string) *Observation {
5237	s.SourceARN = &v
5238	return s
5239}
5240
5241// SetSourceType sets the SourceType field's value.
5242func (s *Observation) SetSourceType(v string) *Observation {
5243	s.SourceType = &v
5244	return s
5245}
5246
5247// SetStartTime sets the StartTime field's value.
5248func (s *Observation) SetStartTime(v time.Time) *Observation {
5249	s.StartTime = &v
5250	return s
5251}
5252
5253// SetUnit sets the Unit field's value.
5254func (s *Observation) SetUnit(v string) *Observation {
5255	s.Unit = &v
5256	return s
5257}
5258
5259// SetValue sets the Value field's value.
5260func (s *Observation) SetValue(v float64) *Observation {
5261	s.Value = &v
5262	return s
5263}
5264
5265// SetXRayErrorPercent sets the XRayErrorPercent field's value.
5266func (s *Observation) SetXRayErrorPercent(v int64) *Observation {
5267	s.XRayErrorPercent = &v
5268	return s
5269}
5270
5271// SetXRayFaultPercent sets the XRayFaultPercent field's value.
5272func (s *Observation) SetXRayFaultPercent(v int64) *Observation {
5273	s.XRayFaultPercent = &v
5274	return s
5275}
5276
5277// SetXRayNodeName sets the XRayNodeName field's value.
5278func (s *Observation) SetXRayNodeName(v string) *Observation {
5279	s.XRayNodeName = &v
5280	return s
5281}
5282
5283// SetXRayNodeType sets the XRayNodeType field's value.
5284func (s *Observation) SetXRayNodeType(v string) *Observation {
5285	s.XRayNodeType = &v
5286	return s
5287}
5288
5289// SetXRayRequestAverageLatency sets the XRayRequestAverageLatency field's value.
5290func (s *Observation) SetXRayRequestAverageLatency(v int64) *Observation {
5291	s.XRayRequestAverageLatency = &v
5292	return s
5293}
5294
5295// SetXRayRequestCount sets the XRayRequestCount field's value.
5296func (s *Observation) SetXRayRequestCount(v int64) *Observation {
5297	s.XRayRequestCount = &v
5298	return s
5299}
5300
5301// SetXRayThrottlePercent sets the XRayThrottlePercent field's value.
5302func (s *Observation) SetXRayThrottlePercent(v int64) *Observation {
5303	s.XRayThrottlePercent = &v
5304	return s
5305}
5306
5307// Describes a problem that is detected by correlating observations.
5308type Problem struct {
5309	_ struct{} `type:"structure"`
5310
5311	// The resource affected by the problem.
5312	AffectedResource *string `type:"string"`
5313
5314	// The time when the problem ended, in epoch seconds.
5315	EndTime *time.Time `type:"timestamp"`
5316
5317	// Feedback provided by the user about the problem.
5318	Feedback map[string]*string `type:"map"`
5319
5320	// The ID of the problem.
5321	Id *string `min:"38" type:"string"`
5322
5323	// A detailed analysis of the problem using machine learning.
5324	Insights *string `type:"string"`
5325
5326	// The name of the resource group affected by the problem.
5327	ResourceGroupName *string `min:"1" type:"string"`
5328
5329	// A measure of the level of impact of the problem.
5330	SeverityLevel *string `type:"string" enum:"SeverityLevel"`
5331
5332	// The time when the problem started, in epoch seconds.
5333	StartTime *time.Time `type:"timestamp"`
5334
5335	// The status of the problem.
5336	Status *string `type:"string" enum:"Status"`
5337
5338	// The name of the problem.
5339	Title *string `type:"string"`
5340}
5341
5342// String returns the string representation
5343func (s Problem) String() string {
5344	return awsutil.Prettify(s)
5345}
5346
5347// GoString returns the string representation
5348func (s Problem) GoString() string {
5349	return s.String()
5350}
5351
5352// SetAffectedResource sets the AffectedResource field's value.
5353func (s *Problem) SetAffectedResource(v string) *Problem {
5354	s.AffectedResource = &v
5355	return s
5356}
5357
5358// SetEndTime sets the EndTime field's value.
5359func (s *Problem) SetEndTime(v time.Time) *Problem {
5360	s.EndTime = &v
5361	return s
5362}
5363
5364// SetFeedback sets the Feedback field's value.
5365func (s *Problem) SetFeedback(v map[string]*string) *Problem {
5366	s.Feedback = v
5367	return s
5368}
5369
5370// SetId sets the Id field's value.
5371func (s *Problem) SetId(v string) *Problem {
5372	s.Id = &v
5373	return s
5374}
5375
5376// SetInsights sets the Insights field's value.
5377func (s *Problem) SetInsights(v string) *Problem {
5378	s.Insights = &v
5379	return s
5380}
5381
5382// SetResourceGroupName sets the ResourceGroupName field's value.
5383func (s *Problem) SetResourceGroupName(v string) *Problem {
5384	s.ResourceGroupName = &v
5385	return s
5386}
5387
5388// SetSeverityLevel sets the SeverityLevel field's value.
5389func (s *Problem) SetSeverityLevel(v string) *Problem {
5390	s.SeverityLevel = &v
5391	return s
5392}
5393
5394// SetStartTime sets the StartTime field's value.
5395func (s *Problem) SetStartTime(v time.Time) *Problem {
5396	s.StartTime = &v
5397	return s
5398}
5399
5400// SetStatus sets the Status field's value.
5401func (s *Problem) SetStatus(v string) *Problem {
5402	s.Status = &v
5403	return s
5404}
5405
5406// SetTitle sets the Title field's value.
5407func (s *Problem) SetTitle(v string) *Problem {
5408	s.Title = &v
5409	return s
5410}
5411
5412// Describes observations related to the problem.
5413type RelatedObservations struct {
5414	_ struct{} `type:"structure"`
5415
5416	// The list of observations related to the problem.
5417	ObservationList []*Observation `type:"list"`
5418}
5419
5420// String returns the string representation
5421func (s RelatedObservations) String() string {
5422	return awsutil.Prettify(s)
5423}
5424
5425// GoString returns the string representation
5426func (s RelatedObservations) GoString() string {
5427	return s.String()
5428}
5429
5430// SetObservationList sets the ObservationList field's value.
5431func (s *RelatedObservations) SetObservationList(v []*Observation) *RelatedObservations {
5432	s.ObservationList = v
5433	return s
5434}
5435
5436// The resource is already created or in use.
5437type ResourceInUseException struct {
5438	_            struct{}                  `type:"structure"`
5439	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5440
5441	Message_ *string `locationName:"Message" type:"string"`
5442}
5443
5444// String returns the string representation
5445func (s ResourceInUseException) String() string {
5446	return awsutil.Prettify(s)
5447}
5448
5449// GoString returns the string representation
5450func (s ResourceInUseException) GoString() string {
5451	return s.String()
5452}
5453
5454func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
5455	return &ResourceInUseException{
5456		RespMetadata: v,
5457	}
5458}
5459
5460// Code returns the exception type name.
5461func (s *ResourceInUseException) Code() string {
5462	return "ResourceInUseException"
5463}
5464
5465// Message returns the exception's message.
5466func (s *ResourceInUseException) Message() string {
5467	if s.Message_ != nil {
5468		return *s.Message_
5469	}
5470	return ""
5471}
5472
5473// OrigErr always returns nil, satisfies awserr.Error interface.
5474func (s *ResourceInUseException) OrigErr() error {
5475	return nil
5476}
5477
5478func (s *ResourceInUseException) Error() string {
5479	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5480}
5481
5482// Status code returns the HTTP status code for the request's response error.
5483func (s *ResourceInUseException) StatusCode() int {
5484	return s.RespMetadata.StatusCode
5485}
5486
5487// RequestID returns the service's response RequestID for request.
5488func (s *ResourceInUseException) RequestID() string {
5489	return s.RespMetadata.RequestID
5490}
5491
5492// The resource does not exist in the customer account.
5493type ResourceNotFoundException struct {
5494	_            struct{}                  `type:"structure"`
5495	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5496
5497	Message_ *string `locationName:"Message" type:"string"`
5498}
5499
5500// String returns the string representation
5501func (s ResourceNotFoundException) String() string {
5502	return awsutil.Prettify(s)
5503}
5504
5505// GoString returns the string representation
5506func (s ResourceNotFoundException) GoString() string {
5507	return s.String()
5508}
5509
5510func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
5511	return &ResourceNotFoundException{
5512		RespMetadata: v,
5513	}
5514}
5515
5516// Code returns the exception type name.
5517func (s *ResourceNotFoundException) Code() string {
5518	return "ResourceNotFoundException"
5519}
5520
5521// Message returns the exception's message.
5522func (s *ResourceNotFoundException) Message() string {
5523	if s.Message_ != nil {
5524		return *s.Message_
5525	}
5526	return ""
5527}
5528
5529// OrigErr always returns nil, satisfies awserr.Error interface.
5530func (s *ResourceNotFoundException) OrigErr() error {
5531	return nil
5532}
5533
5534func (s *ResourceNotFoundException) Error() string {
5535	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5536}
5537
5538// Status code returns the HTTP status code for the request's response error.
5539func (s *ResourceNotFoundException) StatusCode() int {
5540	return s.RespMetadata.StatusCode
5541}
5542
5543// RequestID returns the service's response RequestID for request.
5544func (s *ResourceNotFoundException) RequestID() string {
5545	return s.RespMetadata.RequestID
5546}
5547
5548// An object that defines the tags associated with an application. A tag is
5549// a label that you optionally define and associate with an application. Tags
5550// can help you categorize and manage resources in different ways, such as by
5551// purpose, owner, environment, or other criteria.
5552//
5553// Each tag consists of a required tag key and an associated tag value, both
5554// of which you define. A tag key is a general label that acts as a category
5555// for a more specific tag value. A tag value acts as a descriptor within a
5556// tag key. A tag key can contain as many as 128 characters. A tag value can
5557// contain as many as 256 characters. The characters can be Unicode letters,
5558// digits, white space, or one of the following symbols: _ . : / = + -. The
5559// following additional restrictions apply to tags:
5560//
5561//    * Tag keys and values are case sensitive.
5562//
5563//    * For each associated resource, each tag key must be unique and it can
5564//    have only one value.
5565//
5566//    * The aws: prefix is reserved for use by AWS; you can’t use it in any
5567//    tag keys or values that you define. In addition, you can't edit or remove
5568//    tag keys or values that use this prefix.
5569type Tag struct {
5570	_ struct{} `type:"structure"`
5571
5572	// One part of a key-value pair that defines a tag. The maximum length of a
5573	// tag key is 128 characters. The minimum length is 1 character.
5574	//
5575	// Key is a required field
5576	Key *string `min:"1" type:"string" required:"true"`
5577
5578	// The optional part of a key-value pair that defines a tag. The maximum length
5579	// of a tag value is 256 characters. The minimum length is 0 characters. If
5580	// you don't want an application to have a specific tag value, don't specify
5581	// a value for this parameter.
5582	//
5583	// Value is a required field
5584	Value *string `type:"string" required:"true"`
5585}
5586
5587// String returns the string representation
5588func (s Tag) String() string {
5589	return awsutil.Prettify(s)
5590}
5591
5592// GoString returns the string representation
5593func (s Tag) GoString() string {
5594	return s.String()
5595}
5596
5597// Validate inspects the fields of the type to determine if they are valid.
5598func (s *Tag) Validate() error {
5599	invalidParams := request.ErrInvalidParams{Context: "Tag"}
5600	if s.Key == nil {
5601		invalidParams.Add(request.NewErrParamRequired("Key"))
5602	}
5603	if s.Key != nil && len(*s.Key) < 1 {
5604		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
5605	}
5606	if s.Value == nil {
5607		invalidParams.Add(request.NewErrParamRequired("Value"))
5608	}
5609
5610	if invalidParams.Len() > 0 {
5611		return invalidParams
5612	}
5613	return nil
5614}
5615
5616// SetKey sets the Key field's value.
5617func (s *Tag) SetKey(v string) *Tag {
5618	s.Key = &v
5619	return s
5620}
5621
5622// SetValue sets the Value field's value.
5623func (s *Tag) SetValue(v string) *Tag {
5624	s.Value = &v
5625	return s
5626}
5627
5628type TagResourceInput struct {
5629	_ struct{} `type:"structure"`
5630
5631	// The Amazon Resource Name (ARN) of the application that you want to add one
5632	// or more tags to.
5633	//
5634	// ResourceARN is a required field
5635	ResourceARN *string `min:"1" type:"string" required:"true"`
5636
5637	// A list of tags that to add to the application. A tag consists of a required
5638	// tag key (Key) and an associated tag value (Value). The maximum length of
5639	// a tag key is 128 characters. The maximum length of a tag value is 256 characters.
5640	//
5641	// Tags is a required field
5642	Tags []*Tag `type:"list" required:"true"`
5643}
5644
5645// String returns the string representation
5646func (s TagResourceInput) String() string {
5647	return awsutil.Prettify(s)
5648}
5649
5650// GoString returns the string representation
5651func (s TagResourceInput) GoString() string {
5652	return s.String()
5653}
5654
5655// Validate inspects the fields of the type to determine if they are valid.
5656func (s *TagResourceInput) Validate() error {
5657	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
5658	if s.ResourceARN == nil {
5659		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
5660	}
5661	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
5662		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
5663	}
5664	if s.Tags == nil {
5665		invalidParams.Add(request.NewErrParamRequired("Tags"))
5666	}
5667	if s.Tags != nil {
5668		for i, v := range s.Tags {
5669			if v == nil {
5670				continue
5671			}
5672			if err := v.Validate(); err != nil {
5673				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5674			}
5675		}
5676	}
5677
5678	if invalidParams.Len() > 0 {
5679		return invalidParams
5680	}
5681	return nil
5682}
5683
5684// SetResourceARN sets the ResourceARN field's value.
5685func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
5686	s.ResourceARN = &v
5687	return s
5688}
5689
5690// SetTags sets the Tags field's value.
5691func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
5692	s.Tags = v
5693	return s
5694}
5695
5696type TagResourceOutput struct {
5697	_ struct{} `type:"structure"`
5698}
5699
5700// String returns the string representation
5701func (s TagResourceOutput) String() string {
5702	return awsutil.Prettify(s)
5703}
5704
5705// GoString returns the string representation
5706func (s TagResourceOutput) GoString() string {
5707	return s.String()
5708}
5709
5710// Tags are already registered for the specified application ARN.
5711type TagsAlreadyExistException struct {
5712	_            struct{}                  `type:"structure"`
5713	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5714
5715	Message_ *string `locationName:"Message" type:"string"`
5716}
5717
5718// String returns the string representation
5719func (s TagsAlreadyExistException) String() string {
5720	return awsutil.Prettify(s)
5721}
5722
5723// GoString returns the string representation
5724func (s TagsAlreadyExistException) GoString() string {
5725	return s.String()
5726}
5727
5728func newErrorTagsAlreadyExistException(v protocol.ResponseMetadata) error {
5729	return &TagsAlreadyExistException{
5730		RespMetadata: v,
5731	}
5732}
5733
5734// Code returns the exception type name.
5735func (s *TagsAlreadyExistException) Code() string {
5736	return "TagsAlreadyExistException"
5737}
5738
5739// Message returns the exception's message.
5740func (s *TagsAlreadyExistException) Message() string {
5741	if s.Message_ != nil {
5742		return *s.Message_
5743	}
5744	return ""
5745}
5746
5747// OrigErr always returns nil, satisfies awserr.Error interface.
5748func (s *TagsAlreadyExistException) OrigErr() error {
5749	return nil
5750}
5751
5752func (s *TagsAlreadyExistException) Error() string {
5753	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5754}
5755
5756// Status code returns the HTTP status code for the request's response error.
5757func (s *TagsAlreadyExistException) StatusCode() int {
5758	return s.RespMetadata.StatusCode
5759}
5760
5761// RequestID returns the service's response RequestID for request.
5762func (s *TagsAlreadyExistException) RequestID() string {
5763	return s.RespMetadata.RequestID
5764}
5765
5766// The number of the provided tags is beyond the limit, or the number of total
5767// tags you are trying to attach to the specified resource exceeds the limit.
5768type TooManyTagsException struct {
5769	_            struct{}                  `type:"structure"`
5770	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5771
5772	Message_ *string `locationName:"Message" type:"string"`
5773
5774	// The name of the resource with too many tags.
5775	ResourceName *string `min:"1" type:"string"`
5776}
5777
5778// String returns the string representation
5779func (s TooManyTagsException) String() string {
5780	return awsutil.Prettify(s)
5781}
5782
5783// GoString returns the string representation
5784func (s TooManyTagsException) GoString() string {
5785	return s.String()
5786}
5787
5788func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
5789	return &TooManyTagsException{
5790		RespMetadata: v,
5791	}
5792}
5793
5794// Code returns the exception type name.
5795func (s *TooManyTagsException) Code() string {
5796	return "TooManyTagsException"
5797}
5798
5799// Message returns the exception's message.
5800func (s *TooManyTagsException) Message() string {
5801	if s.Message_ != nil {
5802		return *s.Message_
5803	}
5804	return ""
5805}
5806
5807// OrigErr always returns nil, satisfies awserr.Error interface.
5808func (s *TooManyTagsException) OrigErr() error {
5809	return nil
5810}
5811
5812func (s *TooManyTagsException) Error() string {
5813	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5814}
5815
5816// Status code returns the HTTP status code for the request's response error.
5817func (s *TooManyTagsException) StatusCode() int {
5818	return s.RespMetadata.StatusCode
5819}
5820
5821// RequestID returns the service's response RequestID for request.
5822func (s *TooManyTagsException) RequestID() string {
5823	return s.RespMetadata.RequestID
5824}
5825
5826type UntagResourceInput struct {
5827	_ struct{} `type:"structure"`
5828
5829	// The Amazon Resource Name (ARN) of the application that you want to remove
5830	// one or more tags from.
5831	//
5832	// ResourceARN is a required field
5833	ResourceARN *string `min:"1" type:"string" required:"true"`
5834
5835	// The tags (tag keys) that you want to remove from the resource. When you specify
5836	// a tag key, the action removes both that key and its associated tag value.
5837	//
5838	// To remove more than one tag from the application, append the TagKeys parameter
5839	// and argument for each additional tag to remove, separated by an ampersand.
5840	//
5841	// TagKeys is a required field
5842	TagKeys []*string `type:"list" required:"true"`
5843}
5844
5845// String returns the string representation
5846func (s UntagResourceInput) String() string {
5847	return awsutil.Prettify(s)
5848}
5849
5850// GoString returns the string representation
5851func (s UntagResourceInput) GoString() string {
5852	return s.String()
5853}
5854
5855// Validate inspects the fields of the type to determine if they are valid.
5856func (s *UntagResourceInput) Validate() error {
5857	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
5858	if s.ResourceARN == nil {
5859		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
5860	}
5861	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
5862		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
5863	}
5864	if s.TagKeys == nil {
5865		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
5866	}
5867
5868	if invalidParams.Len() > 0 {
5869		return invalidParams
5870	}
5871	return nil
5872}
5873
5874// SetResourceARN sets the ResourceARN field's value.
5875func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
5876	s.ResourceARN = &v
5877	return s
5878}
5879
5880// SetTagKeys sets the TagKeys field's value.
5881func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
5882	s.TagKeys = v
5883	return s
5884}
5885
5886type UntagResourceOutput struct {
5887	_ struct{} `type:"structure"`
5888}
5889
5890// String returns the string representation
5891func (s UntagResourceOutput) String() string {
5892	return awsutil.Prettify(s)
5893}
5894
5895// GoString returns the string representation
5896func (s UntagResourceOutput) GoString() string {
5897	return s.String()
5898}
5899
5900type UpdateApplicationInput struct {
5901	_ struct{} `type:"structure"`
5902
5903	// Indicates whether Application Insights can listen to CloudWatch events for
5904	// the application resources, such as instance terminated, failed deployment,
5905	// and others.
5906	CWEMonitorEnabled *bool `type:"boolean"`
5907
5908	// When set to true, creates opsItems for any problems detected on an application.
5909	OpsCenterEnabled *bool `type:"boolean"`
5910
5911	// The SNS topic provided to Application Insights that is associated to the
5912	// created opsItem. Allows you to receive notifications for updates to the opsItem.
5913	OpsItemSNSTopicArn *string `min:"20" type:"string"`
5914
5915	// Disassociates the SNS topic from the opsItem created for detected problems.
5916	RemoveSNSTopic *bool `type:"boolean"`
5917
5918	// The name of the resource group.
5919	//
5920	// ResourceGroupName is a required field
5921	ResourceGroupName *string `min:"1" type:"string" required:"true"`
5922}
5923
5924// String returns the string representation
5925func (s UpdateApplicationInput) String() string {
5926	return awsutil.Prettify(s)
5927}
5928
5929// GoString returns the string representation
5930func (s UpdateApplicationInput) GoString() string {
5931	return s.String()
5932}
5933
5934// Validate inspects the fields of the type to determine if they are valid.
5935func (s *UpdateApplicationInput) Validate() error {
5936	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
5937	if s.OpsItemSNSTopicArn != nil && len(*s.OpsItemSNSTopicArn) < 20 {
5938		invalidParams.Add(request.NewErrParamMinLen("OpsItemSNSTopicArn", 20))
5939	}
5940	if s.ResourceGroupName == nil {
5941		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
5942	}
5943	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
5944		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
5945	}
5946
5947	if invalidParams.Len() > 0 {
5948		return invalidParams
5949	}
5950	return nil
5951}
5952
5953// SetCWEMonitorEnabled sets the CWEMonitorEnabled field's value.
5954func (s *UpdateApplicationInput) SetCWEMonitorEnabled(v bool) *UpdateApplicationInput {
5955	s.CWEMonitorEnabled = &v
5956	return s
5957}
5958
5959// SetOpsCenterEnabled sets the OpsCenterEnabled field's value.
5960func (s *UpdateApplicationInput) SetOpsCenterEnabled(v bool) *UpdateApplicationInput {
5961	s.OpsCenterEnabled = &v
5962	return s
5963}
5964
5965// SetOpsItemSNSTopicArn sets the OpsItemSNSTopicArn field's value.
5966func (s *UpdateApplicationInput) SetOpsItemSNSTopicArn(v string) *UpdateApplicationInput {
5967	s.OpsItemSNSTopicArn = &v
5968	return s
5969}
5970
5971// SetRemoveSNSTopic sets the RemoveSNSTopic field's value.
5972func (s *UpdateApplicationInput) SetRemoveSNSTopic(v bool) *UpdateApplicationInput {
5973	s.RemoveSNSTopic = &v
5974	return s
5975}
5976
5977// SetResourceGroupName sets the ResourceGroupName field's value.
5978func (s *UpdateApplicationInput) SetResourceGroupName(v string) *UpdateApplicationInput {
5979	s.ResourceGroupName = &v
5980	return s
5981}
5982
5983type UpdateApplicationOutput struct {
5984	_ struct{} `type:"structure"`
5985
5986	// Information about the application.
5987	ApplicationInfo *ApplicationInfo `type:"structure"`
5988}
5989
5990// String returns the string representation
5991func (s UpdateApplicationOutput) String() string {
5992	return awsutil.Prettify(s)
5993}
5994
5995// GoString returns the string representation
5996func (s UpdateApplicationOutput) GoString() string {
5997	return s.String()
5998}
5999
6000// SetApplicationInfo sets the ApplicationInfo field's value.
6001func (s *UpdateApplicationOutput) SetApplicationInfo(v *ApplicationInfo) *UpdateApplicationOutput {
6002	s.ApplicationInfo = v
6003	return s
6004}
6005
6006type UpdateComponentConfigurationInput struct {
6007	_ struct{} `type:"structure"`
6008
6009	// The configuration settings of the component. The value is the escaped JSON
6010	// of the configuration. For more information about the JSON format, see Working
6011	// with JSON (https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/working-with-json.html).
6012	// You can send a request to DescribeComponentConfigurationRecommendation to
6013	// see the recommended configuration for a component. For the complete format
6014	// of the component configuration file, see Component Configuration (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/component-config.html).
6015	ComponentConfiguration *string `min:"1" type:"string"`
6016
6017	// The name of the component.
6018	//
6019	// ComponentName is a required field
6020	ComponentName *string `type:"string" required:"true"`
6021
6022	// Indicates whether the application component is monitored.
6023	Monitor *bool `type:"boolean"`
6024
6025	// The name of the resource group.
6026	//
6027	// ResourceGroupName is a required field
6028	ResourceGroupName *string `min:"1" type:"string" required:"true"`
6029
6030	// The tier of the application component. Supported tiers include DOT_NET_WORKER,
6031	// DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT.
6032	Tier *string `min:"1" type:"string" enum:"Tier"`
6033}
6034
6035// String returns the string representation
6036func (s UpdateComponentConfigurationInput) String() string {
6037	return awsutil.Prettify(s)
6038}
6039
6040// GoString returns the string representation
6041func (s UpdateComponentConfigurationInput) GoString() string {
6042	return s.String()
6043}
6044
6045// Validate inspects the fields of the type to determine if they are valid.
6046func (s *UpdateComponentConfigurationInput) Validate() error {
6047	invalidParams := request.ErrInvalidParams{Context: "UpdateComponentConfigurationInput"}
6048	if s.ComponentConfiguration != nil && len(*s.ComponentConfiguration) < 1 {
6049		invalidParams.Add(request.NewErrParamMinLen("ComponentConfiguration", 1))
6050	}
6051	if s.ComponentName == nil {
6052		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
6053	}
6054	if s.ResourceGroupName == nil {
6055		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
6056	}
6057	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
6058		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
6059	}
6060	if s.Tier != nil && len(*s.Tier) < 1 {
6061		invalidParams.Add(request.NewErrParamMinLen("Tier", 1))
6062	}
6063
6064	if invalidParams.Len() > 0 {
6065		return invalidParams
6066	}
6067	return nil
6068}
6069
6070// SetComponentConfiguration sets the ComponentConfiguration field's value.
6071func (s *UpdateComponentConfigurationInput) SetComponentConfiguration(v string) *UpdateComponentConfigurationInput {
6072	s.ComponentConfiguration = &v
6073	return s
6074}
6075
6076// SetComponentName sets the ComponentName field's value.
6077func (s *UpdateComponentConfigurationInput) SetComponentName(v string) *UpdateComponentConfigurationInput {
6078	s.ComponentName = &v
6079	return s
6080}
6081
6082// SetMonitor sets the Monitor field's value.
6083func (s *UpdateComponentConfigurationInput) SetMonitor(v bool) *UpdateComponentConfigurationInput {
6084	s.Monitor = &v
6085	return s
6086}
6087
6088// SetResourceGroupName sets the ResourceGroupName field's value.
6089func (s *UpdateComponentConfigurationInput) SetResourceGroupName(v string) *UpdateComponentConfigurationInput {
6090	s.ResourceGroupName = &v
6091	return s
6092}
6093
6094// SetTier sets the Tier field's value.
6095func (s *UpdateComponentConfigurationInput) SetTier(v string) *UpdateComponentConfigurationInput {
6096	s.Tier = &v
6097	return s
6098}
6099
6100type UpdateComponentConfigurationOutput struct {
6101	_ struct{} `type:"structure"`
6102}
6103
6104// String returns the string representation
6105func (s UpdateComponentConfigurationOutput) String() string {
6106	return awsutil.Prettify(s)
6107}
6108
6109// GoString returns the string representation
6110func (s UpdateComponentConfigurationOutput) GoString() string {
6111	return s.String()
6112}
6113
6114type UpdateComponentInput struct {
6115	_ struct{} `type:"structure"`
6116
6117	// The name of the component.
6118	//
6119	// ComponentName is a required field
6120	ComponentName *string `type:"string" required:"true"`
6121
6122	// The new name of the component.
6123	NewComponentName *string `type:"string"`
6124
6125	// The name of the resource group.
6126	//
6127	// ResourceGroupName is a required field
6128	ResourceGroupName *string `min:"1" type:"string" required:"true"`
6129
6130	// The list of resource ARNs that belong to the component.
6131	ResourceList []*string `type:"list"`
6132}
6133
6134// String returns the string representation
6135func (s UpdateComponentInput) String() string {
6136	return awsutil.Prettify(s)
6137}
6138
6139// GoString returns the string representation
6140func (s UpdateComponentInput) GoString() string {
6141	return s.String()
6142}
6143
6144// Validate inspects the fields of the type to determine if they are valid.
6145func (s *UpdateComponentInput) Validate() error {
6146	invalidParams := request.ErrInvalidParams{Context: "UpdateComponentInput"}
6147	if s.ComponentName == nil {
6148		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
6149	}
6150	if s.ResourceGroupName == nil {
6151		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
6152	}
6153	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
6154		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
6155	}
6156
6157	if invalidParams.Len() > 0 {
6158		return invalidParams
6159	}
6160	return nil
6161}
6162
6163// SetComponentName sets the ComponentName field's value.
6164func (s *UpdateComponentInput) SetComponentName(v string) *UpdateComponentInput {
6165	s.ComponentName = &v
6166	return s
6167}
6168
6169// SetNewComponentName sets the NewComponentName field's value.
6170func (s *UpdateComponentInput) SetNewComponentName(v string) *UpdateComponentInput {
6171	s.NewComponentName = &v
6172	return s
6173}
6174
6175// SetResourceGroupName sets the ResourceGroupName field's value.
6176func (s *UpdateComponentInput) SetResourceGroupName(v string) *UpdateComponentInput {
6177	s.ResourceGroupName = &v
6178	return s
6179}
6180
6181// SetResourceList sets the ResourceList field's value.
6182func (s *UpdateComponentInput) SetResourceList(v []*string) *UpdateComponentInput {
6183	s.ResourceList = v
6184	return s
6185}
6186
6187type UpdateComponentOutput struct {
6188	_ struct{} `type:"structure"`
6189}
6190
6191// String returns the string representation
6192func (s UpdateComponentOutput) String() string {
6193	return awsutil.Prettify(s)
6194}
6195
6196// GoString returns the string representation
6197func (s UpdateComponentOutput) GoString() string {
6198	return s.String()
6199}
6200
6201type UpdateLogPatternInput struct {
6202	_ struct{} `type:"structure"`
6203
6204	// The log pattern.
6205	Pattern *string `min:"1" type:"string"`
6206
6207	// The name of the log pattern.
6208	//
6209	// PatternName is a required field
6210	PatternName *string `min:"1" type:"string" required:"true"`
6211
6212	// The name of the log pattern set.
6213	//
6214	// PatternSetName is a required field
6215	PatternSetName *string `min:"1" type:"string" required:"true"`
6216
6217	// Rank of the log pattern.
6218	Rank *int64 `type:"integer"`
6219
6220	// The name of the resource group.
6221	//
6222	// ResourceGroupName is a required field
6223	ResourceGroupName *string `min:"1" type:"string" required:"true"`
6224}
6225
6226// String returns the string representation
6227func (s UpdateLogPatternInput) String() string {
6228	return awsutil.Prettify(s)
6229}
6230
6231// GoString returns the string representation
6232func (s UpdateLogPatternInput) GoString() string {
6233	return s.String()
6234}
6235
6236// Validate inspects the fields of the type to determine if they are valid.
6237func (s *UpdateLogPatternInput) Validate() error {
6238	invalidParams := request.ErrInvalidParams{Context: "UpdateLogPatternInput"}
6239	if s.Pattern != nil && len(*s.Pattern) < 1 {
6240		invalidParams.Add(request.NewErrParamMinLen("Pattern", 1))
6241	}
6242	if s.PatternName == nil {
6243		invalidParams.Add(request.NewErrParamRequired("PatternName"))
6244	}
6245	if s.PatternName != nil && len(*s.PatternName) < 1 {
6246		invalidParams.Add(request.NewErrParamMinLen("PatternName", 1))
6247	}
6248	if s.PatternSetName == nil {
6249		invalidParams.Add(request.NewErrParamRequired("PatternSetName"))
6250	}
6251	if s.PatternSetName != nil && len(*s.PatternSetName) < 1 {
6252		invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1))
6253	}
6254	if s.ResourceGroupName == nil {
6255		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
6256	}
6257	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
6258		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
6259	}
6260
6261	if invalidParams.Len() > 0 {
6262		return invalidParams
6263	}
6264	return nil
6265}
6266
6267// SetPattern sets the Pattern field's value.
6268func (s *UpdateLogPatternInput) SetPattern(v string) *UpdateLogPatternInput {
6269	s.Pattern = &v
6270	return s
6271}
6272
6273// SetPatternName sets the PatternName field's value.
6274func (s *UpdateLogPatternInput) SetPatternName(v string) *UpdateLogPatternInput {
6275	s.PatternName = &v
6276	return s
6277}
6278
6279// SetPatternSetName sets the PatternSetName field's value.
6280func (s *UpdateLogPatternInput) SetPatternSetName(v string) *UpdateLogPatternInput {
6281	s.PatternSetName = &v
6282	return s
6283}
6284
6285// SetRank sets the Rank field's value.
6286func (s *UpdateLogPatternInput) SetRank(v int64) *UpdateLogPatternInput {
6287	s.Rank = &v
6288	return s
6289}
6290
6291// SetResourceGroupName sets the ResourceGroupName field's value.
6292func (s *UpdateLogPatternInput) SetResourceGroupName(v string) *UpdateLogPatternInput {
6293	s.ResourceGroupName = &v
6294	return s
6295}
6296
6297type UpdateLogPatternOutput struct {
6298	_ struct{} `type:"structure"`
6299
6300	// The successfully created log pattern.
6301	LogPattern *LogPattern `type:"structure"`
6302
6303	// The name of the resource group.
6304	ResourceGroupName *string `min:"1" type:"string"`
6305}
6306
6307// String returns the string representation
6308func (s UpdateLogPatternOutput) String() string {
6309	return awsutil.Prettify(s)
6310}
6311
6312// GoString returns the string representation
6313func (s UpdateLogPatternOutput) GoString() string {
6314	return s.String()
6315}
6316
6317// SetLogPattern sets the LogPattern field's value.
6318func (s *UpdateLogPatternOutput) SetLogPattern(v *LogPattern) *UpdateLogPatternOutput {
6319	s.LogPattern = v
6320	return s
6321}
6322
6323// SetResourceGroupName sets the ResourceGroupName field's value.
6324func (s *UpdateLogPatternOutput) SetResourceGroupName(v string) *UpdateLogPatternOutput {
6325	s.ResourceGroupName = &v
6326	return s
6327}
6328
6329// The parameter is not valid.
6330type ValidationException struct {
6331	_            struct{}                  `type:"structure"`
6332	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6333
6334	Message_ *string `locationName:"Message" type:"string"`
6335}
6336
6337// String returns the string representation
6338func (s ValidationException) String() string {
6339	return awsutil.Prettify(s)
6340}
6341
6342// GoString returns the string representation
6343func (s ValidationException) GoString() string {
6344	return s.String()
6345}
6346
6347func newErrorValidationException(v protocol.ResponseMetadata) error {
6348	return &ValidationException{
6349		RespMetadata: v,
6350	}
6351}
6352
6353// Code returns the exception type name.
6354func (s *ValidationException) Code() string {
6355	return "ValidationException"
6356}
6357
6358// Message returns the exception's message.
6359func (s *ValidationException) Message() string {
6360	if s.Message_ != nil {
6361		return *s.Message_
6362	}
6363	return ""
6364}
6365
6366// OrigErr always returns nil, satisfies awserr.Error interface.
6367func (s *ValidationException) OrigErr() error {
6368	return nil
6369}
6370
6371func (s *ValidationException) Error() string {
6372	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6373}
6374
6375// Status code returns the HTTP status code for the request's response error.
6376func (s *ValidationException) StatusCode() int {
6377	return s.RespMetadata.StatusCode
6378}
6379
6380// RequestID returns the service's response RequestID for request.
6381func (s *ValidationException) RequestID() string {
6382	return s.RespMetadata.RequestID
6383}
6384
6385const (
6386	// CloudWatchEventSourceEc2 is a CloudWatchEventSource enum value
6387	CloudWatchEventSourceEc2 = "EC2"
6388
6389	// CloudWatchEventSourceCodeDeploy is a CloudWatchEventSource enum value
6390	CloudWatchEventSourceCodeDeploy = "CODE_DEPLOY"
6391
6392	// CloudWatchEventSourceHealth is a CloudWatchEventSource enum value
6393	CloudWatchEventSourceHealth = "HEALTH"
6394)
6395
6396// CloudWatchEventSource_Values returns all elements of the CloudWatchEventSource enum
6397func CloudWatchEventSource_Values() []string {
6398	return []string{
6399		CloudWatchEventSourceEc2,
6400		CloudWatchEventSourceCodeDeploy,
6401		CloudWatchEventSourceHealth,
6402	}
6403}
6404
6405const (
6406	// ConfigurationEventResourceTypeCloudwatchAlarm is a ConfigurationEventResourceType enum value
6407	ConfigurationEventResourceTypeCloudwatchAlarm = "CLOUDWATCH_ALARM"
6408
6409	// ConfigurationEventResourceTypeCloudformation is a ConfigurationEventResourceType enum value
6410	ConfigurationEventResourceTypeCloudformation = "CLOUDFORMATION"
6411
6412	// ConfigurationEventResourceTypeSsmAssociation is a ConfigurationEventResourceType enum value
6413	ConfigurationEventResourceTypeSsmAssociation = "SSM_ASSOCIATION"
6414)
6415
6416// ConfigurationEventResourceType_Values returns all elements of the ConfigurationEventResourceType enum
6417func ConfigurationEventResourceType_Values() []string {
6418	return []string{
6419		ConfigurationEventResourceTypeCloudwatchAlarm,
6420		ConfigurationEventResourceTypeCloudformation,
6421		ConfigurationEventResourceTypeSsmAssociation,
6422	}
6423}
6424
6425const (
6426	// ConfigurationEventStatusInfo is a ConfigurationEventStatus enum value
6427	ConfigurationEventStatusInfo = "INFO"
6428
6429	// ConfigurationEventStatusWarn is a ConfigurationEventStatus enum value
6430	ConfigurationEventStatusWarn = "WARN"
6431
6432	// ConfigurationEventStatusError is a ConfigurationEventStatus enum value
6433	ConfigurationEventStatusError = "ERROR"
6434)
6435
6436// ConfigurationEventStatus_Values returns all elements of the ConfigurationEventStatus enum
6437func ConfigurationEventStatus_Values() []string {
6438	return []string{
6439		ConfigurationEventStatusInfo,
6440		ConfigurationEventStatusWarn,
6441		ConfigurationEventStatusError,
6442	}
6443}
6444
6445const (
6446	// FeedbackKeyInsightsFeedback is a FeedbackKey enum value
6447	FeedbackKeyInsightsFeedback = "INSIGHTS_FEEDBACK"
6448)
6449
6450// FeedbackKey_Values returns all elements of the FeedbackKey enum
6451func FeedbackKey_Values() []string {
6452	return []string{
6453		FeedbackKeyInsightsFeedback,
6454	}
6455}
6456
6457const (
6458	// FeedbackValueNotSpecified is a FeedbackValue enum value
6459	FeedbackValueNotSpecified = "NOT_SPECIFIED"
6460
6461	// FeedbackValueUseful is a FeedbackValue enum value
6462	FeedbackValueUseful = "USEFUL"
6463
6464	// FeedbackValueNotUseful is a FeedbackValue enum value
6465	FeedbackValueNotUseful = "NOT_USEFUL"
6466)
6467
6468// FeedbackValue_Values returns all elements of the FeedbackValue enum
6469func FeedbackValue_Values() []string {
6470	return []string{
6471		FeedbackValueNotSpecified,
6472		FeedbackValueUseful,
6473		FeedbackValueNotUseful,
6474	}
6475}
6476
6477const (
6478	// LogFilterError is a LogFilter enum value
6479	LogFilterError = "ERROR"
6480
6481	// LogFilterWarn is a LogFilter enum value
6482	LogFilterWarn = "WARN"
6483
6484	// LogFilterInfo is a LogFilter enum value
6485	LogFilterInfo = "INFO"
6486)
6487
6488// LogFilter_Values returns all elements of the LogFilter enum
6489func LogFilter_Values() []string {
6490	return []string{
6491		LogFilterError,
6492		LogFilterWarn,
6493		LogFilterInfo,
6494	}
6495}
6496
6497const (
6498	// SeverityLevelLow is a SeverityLevel enum value
6499	SeverityLevelLow = "Low"
6500
6501	// SeverityLevelMedium is a SeverityLevel enum value
6502	SeverityLevelMedium = "Medium"
6503
6504	// SeverityLevelHigh is a SeverityLevel enum value
6505	SeverityLevelHigh = "High"
6506)
6507
6508// SeverityLevel_Values returns all elements of the SeverityLevel enum
6509func SeverityLevel_Values() []string {
6510	return []string{
6511		SeverityLevelLow,
6512		SeverityLevelMedium,
6513		SeverityLevelHigh,
6514	}
6515}
6516
6517const (
6518	// StatusIgnore is a Status enum value
6519	StatusIgnore = "IGNORE"
6520
6521	// StatusResolved is a Status enum value
6522	StatusResolved = "RESOLVED"
6523
6524	// StatusPending is a Status enum value
6525	StatusPending = "PENDING"
6526)
6527
6528// Status_Values returns all elements of the Status enum
6529func Status_Values() []string {
6530	return []string{
6531		StatusIgnore,
6532		StatusResolved,
6533		StatusPending,
6534	}
6535}
6536
6537const (
6538	// TierDefault is a Tier enum value
6539	TierDefault = "DEFAULT"
6540
6541	// TierDotNetCore is a Tier enum value
6542	TierDotNetCore = "DOT_NET_CORE"
6543
6544	// TierDotNetWorker is a Tier enum value
6545	TierDotNetWorker = "DOT_NET_WORKER"
6546
6547	// TierDotNetWeb is a Tier enum value
6548	TierDotNetWeb = "DOT_NET_WEB"
6549
6550	// TierSqlServer is a Tier enum value
6551	TierSqlServer = "SQL_SERVER"
6552)
6553
6554// Tier_Values returns all elements of the Tier enum
6555func Tier_Values() []string {
6556	return []string{
6557		TierDefault,
6558		TierDotNetCore,
6559		TierDotNetWorker,
6560		TierDotNetWeb,
6561		TierSqlServer,
6562	}
6563}
6564