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 Codes:
70//   * ErrCodeResourceInUseException "ResourceInUseException"
71//   The resource is already created or in use.
72//
73//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
74//   The resource does not exist in the customer account.
75//
76//   * ErrCodeValidationException "ValidationException"
77//   The parameter is not valid.
78//
79//   * ErrCodeInternalServerException "InternalServerException"
80//   The server encountered an internal error and is unable to complete the request.
81//
82//   * ErrCodeTagsAlreadyExistException "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 Codes:
162//   * ErrCodeResourceInUseException "ResourceInUseException"
163//   The resource is already created or in use.
164//
165//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
166//   The resource does not exist in the customer account.
167//
168//   * ErrCodeValidationException "ValidationException"
169//   The parameter is not valid.
170//
171//   * ErrCodeInternalServerException "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 Codes:
250//   * ErrCodeResourceInUseException "ResourceInUseException"
251//   The resource is already created or in use.
252//
253//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
254//   The resource does not exist in the customer account.
255//
256//   * ErrCodeValidationException "ValidationException"
257//   The parameter is not valid.
258//
259//   * ErrCodeInternalServerException "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 Codes:
339//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
340//   The resource does not exist in the customer account.
341//
342//   * ErrCodeValidationException "ValidationException"
343//   The parameter is not valid.
344//
345//   * ErrCodeBadRequestException "BadRequestException"
346//   The request is not understood by the server.
347//
348//   * ErrCodeInternalServerException "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 Codes:
430//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
431//   The resource does not exist in the customer account.
432//
433//   * ErrCodeValidationException "ValidationException"
434//   The parameter is not valid.
435//
436//   * ErrCodeInternalServerException "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 Codes:
516//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
517//   The resource does not exist in the customer account.
518//
519//   * ErrCodeValidationException "ValidationException"
520//   The parameter is not valid.
521//
522//   * ErrCodeBadRequestException "BadRequestException"
523//   The request is not understood by the server.
524//
525//   * ErrCodeInternalServerException "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 Codes:
604//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
605//   The resource does not exist in the customer account.
606//
607//   * ErrCodeValidationException "ValidationException"
608//   The parameter is not valid.
609//
610//   * ErrCodeInternalServerException "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 Codes:
690//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
691//   The resource does not exist in the customer account.
692//
693//   * ErrCodeValidationException "ValidationException"
694//   The parameter is not valid.
695//
696//   * ErrCodeInternalServerException "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 Codes:
775//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
776//   The resource does not exist in the customer account.
777//
778//   * ErrCodeValidationException "ValidationException"
779//   The parameter is not valid.
780//
781//   * ErrCodeInternalServerException "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 Codes:
860//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
861//   The resource does not exist in the customer account.
862//
863//   * ErrCodeValidationException "ValidationException"
864//   The parameter is not valid.
865//
866//   * ErrCodeInternalServerException "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 Codes:
945//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
946//   The resource does not exist in the customer account.
947//
948//   * ErrCodeValidationException "ValidationException"
949//   The parameter is not valid.
950//
951//   * ErrCodeInternalServerException "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 Codes:
1030//   * ErrCodeInternalServerException "InternalServerException"
1031//   The server encountered an internal error and is unable to complete the request.
1032//
1033//   * ErrCodeValidationException "ValidationException"
1034//   The parameter is not valid.
1035//
1036//   * ErrCodeResourceNotFoundException "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 Codes:
1115//   * ErrCodeInternalServerException "InternalServerException"
1116//   The server encountered an internal error and is unable to complete the request.
1117//
1118//   * ErrCodeValidationException "ValidationException"
1119//   The parameter is not valid.
1120//
1121//   * ErrCodeResourceNotFoundException "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 Codes:
1200//   * ErrCodeInternalServerException "InternalServerException"
1201//   The server encountered an internal error and is unable to complete the request.
1202//
1203//   * ErrCodeValidationException "ValidationException"
1204//   The parameter is not valid.
1205//
1206//   * ErrCodeResourceNotFoundException "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 Codes:
1291//   * ErrCodeValidationException "ValidationException"
1292//   The parameter is not valid.
1293//
1294//   * ErrCodeInternalServerException "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 Codes:
1431//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1432//   The resource does not exist in the customer account.
1433//
1434//   * ErrCodeValidationException "ValidationException"
1435//   The parameter is not valid.
1436//
1437//   * ErrCodeInternalServerException "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 opListLogPatternSets = "ListLogPatternSets"
1515
1516// ListLogPatternSetsRequest generates a "aws/request.Request" representing the
1517// client's request for the ListLogPatternSets 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 ListLogPatternSets for more information on using the ListLogPatternSets
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 ListLogPatternSetsRequest method.
1532//    req, resp := client.ListLogPatternSetsRequest(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/ListLogPatternSets
1540func (c *ApplicationInsights) ListLogPatternSetsRequest(input *ListLogPatternSetsInput) (req *request.Request, output *ListLogPatternSetsOutput) {
1541	op := &request.Operation{
1542		Name:       opListLogPatternSets,
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 = &ListLogPatternSetsInput{}
1555	}
1556
1557	output = &ListLogPatternSetsOutput{}
1558	req = c.newRequest(op, input, output)
1559	return
1560}
1561
1562// ListLogPatternSets API operation for Amazon CloudWatch Application Insights.
1563//
1564// Lists the log pattern sets in the specific application.
1565//
1566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1567// with awserr.Error's Code and Message methods to get detailed information about
1568// the error.
1569//
1570// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1571// API operation ListLogPatternSets for usage and error information.
1572//
1573// Returned Error Codes:
1574//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1575//   The resource does not exist in the customer account.
1576//
1577//   * ErrCodeValidationException "ValidationException"
1578//   The parameter is not valid.
1579//
1580//   * ErrCodeInternalServerException "InternalServerException"
1581//   The server encountered an internal error and is unable to complete the request.
1582//
1583// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatternSets
1584func (c *ApplicationInsights) ListLogPatternSets(input *ListLogPatternSetsInput) (*ListLogPatternSetsOutput, error) {
1585	req, out := c.ListLogPatternSetsRequest(input)
1586	return out, req.Send()
1587}
1588
1589// ListLogPatternSetsWithContext is the same as ListLogPatternSets with the addition of
1590// the ability to pass a context and additional request options.
1591//
1592// See ListLogPatternSets for details on how to use this API operation.
1593//
1594// The context must be non-nil and will be used for request cancellation. If
1595// the context is nil a panic will occur. In the future the SDK may create
1596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1597// for more information on using Contexts.
1598func (c *ApplicationInsights) ListLogPatternSetsWithContext(ctx aws.Context, input *ListLogPatternSetsInput, opts ...request.Option) (*ListLogPatternSetsOutput, error) {
1599	req, out := c.ListLogPatternSetsRequest(input)
1600	req.SetContext(ctx)
1601	req.ApplyOptions(opts...)
1602	return out, req.Send()
1603}
1604
1605// ListLogPatternSetsPages iterates over the pages of a ListLogPatternSets operation,
1606// calling the "fn" function with the response data for each page. To stop
1607// iterating, return false from the fn function.
1608//
1609// See ListLogPatternSets method for more information on how to use this operation.
1610//
1611// Note: This operation can generate multiple requests to a service.
1612//
1613//    // Example iterating over at most 3 pages of a ListLogPatternSets operation.
1614//    pageNum := 0
1615//    err := client.ListLogPatternSetsPages(params,
1616//        func(page *applicationinsights.ListLogPatternSetsOutput, lastPage bool) bool {
1617//            pageNum++
1618//            fmt.Println(page)
1619//            return pageNum <= 3
1620//        })
1621//
1622func (c *ApplicationInsights) ListLogPatternSetsPages(input *ListLogPatternSetsInput, fn func(*ListLogPatternSetsOutput, bool) bool) error {
1623	return c.ListLogPatternSetsPagesWithContext(aws.BackgroundContext(), input, fn)
1624}
1625
1626// ListLogPatternSetsPagesWithContext same as ListLogPatternSetsPages except
1627// it takes a Context and allows setting request options on the pages.
1628//
1629// The context must be non-nil and will be used for request cancellation. If
1630// the context is nil a panic will occur. In the future the SDK may create
1631// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1632// for more information on using Contexts.
1633func (c *ApplicationInsights) ListLogPatternSetsPagesWithContext(ctx aws.Context, input *ListLogPatternSetsInput, fn func(*ListLogPatternSetsOutput, bool) bool, opts ...request.Option) error {
1634	p := request.Pagination{
1635		NewRequest: func() (*request.Request, error) {
1636			var inCpy *ListLogPatternSetsInput
1637			if input != nil {
1638				tmp := *input
1639				inCpy = &tmp
1640			}
1641			req, _ := c.ListLogPatternSetsRequest(inCpy)
1642			req.SetContext(ctx)
1643			req.ApplyOptions(opts...)
1644			return req, nil
1645		},
1646	}
1647
1648	for p.Next() {
1649		if !fn(p.Page().(*ListLogPatternSetsOutput), !p.HasNextPage()) {
1650			break
1651		}
1652	}
1653
1654	return p.Err()
1655}
1656
1657const opListLogPatterns = "ListLogPatterns"
1658
1659// ListLogPatternsRequest generates a "aws/request.Request" representing the
1660// client's request for the ListLogPatterns operation. The "output" return
1661// value will be populated with the request's response once the request completes
1662// successfully.
1663//
1664// Use "Send" method on the returned Request to send the API call to the service.
1665// the "output" return value is not valid until after Send returns without error.
1666//
1667// See ListLogPatterns for more information on using the ListLogPatterns
1668// API call, and error handling.
1669//
1670// This method is useful when you want to inject custom logic or configuration
1671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1672//
1673//
1674//    // Example sending a request using the ListLogPatternsRequest method.
1675//    req, resp := client.ListLogPatternsRequest(params)
1676//
1677//    err := req.Send()
1678//    if err == nil { // resp is now filled
1679//        fmt.Println(resp)
1680//    }
1681//
1682// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatterns
1683func (c *ApplicationInsights) ListLogPatternsRequest(input *ListLogPatternsInput) (req *request.Request, output *ListLogPatternsOutput) {
1684	op := &request.Operation{
1685		Name:       opListLogPatterns,
1686		HTTPMethod: "POST",
1687		HTTPPath:   "/",
1688		Paginator: &request.Paginator{
1689			InputTokens:     []string{"NextToken"},
1690			OutputTokens:    []string{"NextToken"},
1691			LimitToken:      "MaxResults",
1692			TruncationToken: "",
1693		},
1694	}
1695
1696	if input == nil {
1697		input = &ListLogPatternsInput{}
1698	}
1699
1700	output = &ListLogPatternsOutput{}
1701	req = c.newRequest(op, input, output)
1702	return
1703}
1704
1705// ListLogPatterns API operation for Amazon CloudWatch Application Insights.
1706//
1707// Lists the log patterns in the specific log LogPatternSet.
1708//
1709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1710// with awserr.Error's Code and Message methods to get detailed information about
1711// the error.
1712//
1713// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1714// API operation ListLogPatterns for usage and error information.
1715//
1716// Returned Error Codes:
1717//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1718//   The resource does not exist in the customer account.
1719//
1720//   * ErrCodeValidationException "ValidationException"
1721//   The parameter is not valid.
1722//
1723//   * ErrCodeInternalServerException "InternalServerException"
1724//   The server encountered an internal error and is unable to complete the request.
1725//
1726// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatterns
1727func (c *ApplicationInsights) ListLogPatterns(input *ListLogPatternsInput) (*ListLogPatternsOutput, error) {
1728	req, out := c.ListLogPatternsRequest(input)
1729	return out, req.Send()
1730}
1731
1732// ListLogPatternsWithContext is the same as ListLogPatterns with the addition of
1733// the ability to pass a context and additional request options.
1734//
1735// See ListLogPatterns for details on how to use this API operation.
1736//
1737// The context must be non-nil and will be used for request cancellation. If
1738// the context is nil a panic will occur. In the future the SDK may create
1739// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1740// for more information on using Contexts.
1741func (c *ApplicationInsights) ListLogPatternsWithContext(ctx aws.Context, input *ListLogPatternsInput, opts ...request.Option) (*ListLogPatternsOutput, error) {
1742	req, out := c.ListLogPatternsRequest(input)
1743	req.SetContext(ctx)
1744	req.ApplyOptions(opts...)
1745	return out, req.Send()
1746}
1747
1748// ListLogPatternsPages iterates over the pages of a ListLogPatterns operation,
1749// calling the "fn" function with the response data for each page. To stop
1750// iterating, return false from the fn function.
1751//
1752// See ListLogPatterns method for more information on how to use this operation.
1753//
1754// Note: This operation can generate multiple requests to a service.
1755//
1756//    // Example iterating over at most 3 pages of a ListLogPatterns operation.
1757//    pageNum := 0
1758//    err := client.ListLogPatternsPages(params,
1759//        func(page *applicationinsights.ListLogPatternsOutput, lastPage bool) bool {
1760//            pageNum++
1761//            fmt.Println(page)
1762//            return pageNum <= 3
1763//        })
1764//
1765func (c *ApplicationInsights) ListLogPatternsPages(input *ListLogPatternsInput, fn func(*ListLogPatternsOutput, bool) bool) error {
1766	return c.ListLogPatternsPagesWithContext(aws.BackgroundContext(), input, fn)
1767}
1768
1769// ListLogPatternsPagesWithContext same as ListLogPatternsPages except
1770// it takes a Context and allows setting request options on the pages.
1771//
1772// The context must be non-nil and will be used for request cancellation. If
1773// the context is nil a panic will occur. In the future the SDK may create
1774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1775// for more information on using Contexts.
1776func (c *ApplicationInsights) ListLogPatternsPagesWithContext(ctx aws.Context, input *ListLogPatternsInput, fn func(*ListLogPatternsOutput, bool) bool, opts ...request.Option) error {
1777	p := request.Pagination{
1778		NewRequest: func() (*request.Request, error) {
1779			var inCpy *ListLogPatternsInput
1780			if input != nil {
1781				tmp := *input
1782				inCpy = &tmp
1783			}
1784			req, _ := c.ListLogPatternsRequest(inCpy)
1785			req.SetContext(ctx)
1786			req.ApplyOptions(opts...)
1787			return req, nil
1788		},
1789	}
1790
1791	for p.Next() {
1792		if !fn(p.Page().(*ListLogPatternsOutput), !p.HasNextPage()) {
1793			break
1794		}
1795	}
1796
1797	return p.Err()
1798}
1799
1800const opListProblems = "ListProblems"
1801
1802// ListProblemsRequest generates a "aws/request.Request" representing the
1803// client's request for the ListProblems operation. The "output" return
1804// value will be populated with the request's response once the request completes
1805// successfully.
1806//
1807// Use "Send" method on the returned Request to send the API call to the service.
1808// the "output" return value is not valid until after Send returns without error.
1809//
1810// See ListProblems for more information on using the ListProblems
1811// API call, and error handling.
1812//
1813// This method is useful when you want to inject custom logic or configuration
1814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1815//
1816//
1817//    // Example sending a request using the ListProblemsRequest method.
1818//    req, resp := client.ListProblemsRequest(params)
1819//
1820//    err := req.Send()
1821//    if err == nil { // resp is now filled
1822//        fmt.Println(resp)
1823//    }
1824//
1825// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems
1826func (c *ApplicationInsights) ListProblemsRequest(input *ListProblemsInput) (req *request.Request, output *ListProblemsOutput) {
1827	op := &request.Operation{
1828		Name:       opListProblems,
1829		HTTPMethod: "POST",
1830		HTTPPath:   "/",
1831		Paginator: &request.Paginator{
1832			InputTokens:     []string{"NextToken"},
1833			OutputTokens:    []string{"NextToken"},
1834			LimitToken:      "MaxResults",
1835			TruncationToken: "",
1836		},
1837	}
1838
1839	if input == nil {
1840		input = &ListProblemsInput{}
1841	}
1842
1843	output = &ListProblemsOutput{}
1844	req = c.newRequest(op, input, output)
1845	return
1846}
1847
1848// ListProblems API operation for Amazon CloudWatch Application Insights.
1849//
1850// Lists the problems with your application.
1851//
1852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1853// with awserr.Error's Code and Message methods to get detailed information about
1854// the error.
1855//
1856// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1857// API operation ListProblems for usage and error information.
1858//
1859// Returned Error Codes:
1860//   * ErrCodeValidationException "ValidationException"
1861//   The parameter is not valid.
1862//
1863//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1864//   The resource does not exist in the customer account.
1865//
1866//   * ErrCodeInternalServerException "InternalServerException"
1867//   The server encountered an internal error and is unable to complete the request.
1868//
1869// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems
1870func (c *ApplicationInsights) ListProblems(input *ListProblemsInput) (*ListProblemsOutput, error) {
1871	req, out := c.ListProblemsRequest(input)
1872	return out, req.Send()
1873}
1874
1875// ListProblemsWithContext is the same as ListProblems with the addition of
1876// the ability to pass a context and additional request options.
1877//
1878// See ListProblems for details on how to use this API operation.
1879//
1880// The context must be non-nil and will be used for request cancellation. If
1881// the context is nil a panic will occur. In the future the SDK may create
1882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1883// for more information on using Contexts.
1884func (c *ApplicationInsights) ListProblemsWithContext(ctx aws.Context, input *ListProblemsInput, opts ...request.Option) (*ListProblemsOutput, error) {
1885	req, out := c.ListProblemsRequest(input)
1886	req.SetContext(ctx)
1887	req.ApplyOptions(opts...)
1888	return out, req.Send()
1889}
1890
1891// ListProblemsPages iterates over the pages of a ListProblems operation,
1892// calling the "fn" function with the response data for each page. To stop
1893// iterating, return false from the fn function.
1894//
1895// See ListProblems method for more information on how to use this operation.
1896//
1897// Note: This operation can generate multiple requests to a service.
1898//
1899//    // Example iterating over at most 3 pages of a ListProblems operation.
1900//    pageNum := 0
1901//    err := client.ListProblemsPages(params,
1902//        func(page *applicationinsights.ListProblemsOutput, lastPage bool) bool {
1903//            pageNum++
1904//            fmt.Println(page)
1905//            return pageNum <= 3
1906//        })
1907//
1908func (c *ApplicationInsights) ListProblemsPages(input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool) error {
1909	return c.ListProblemsPagesWithContext(aws.BackgroundContext(), input, fn)
1910}
1911
1912// ListProblemsPagesWithContext same as ListProblemsPages except
1913// it takes a Context and allows setting request options on the pages.
1914//
1915// The context must be non-nil and will be used for request cancellation. If
1916// the context is nil a panic will occur. In the future the SDK may create
1917// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1918// for more information on using Contexts.
1919func (c *ApplicationInsights) ListProblemsPagesWithContext(ctx aws.Context, input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool, opts ...request.Option) error {
1920	p := request.Pagination{
1921		NewRequest: func() (*request.Request, error) {
1922			var inCpy *ListProblemsInput
1923			if input != nil {
1924				tmp := *input
1925				inCpy = &tmp
1926			}
1927			req, _ := c.ListProblemsRequest(inCpy)
1928			req.SetContext(ctx)
1929			req.ApplyOptions(opts...)
1930			return req, nil
1931		},
1932	}
1933
1934	for p.Next() {
1935		if !fn(p.Page().(*ListProblemsOutput), !p.HasNextPage()) {
1936			break
1937		}
1938	}
1939
1940	return p.Err()
1941}
1942
1943const opListTagsForResource = "ListTagsForResource"
1944
1945// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1946// client's request for the ListTagsForResource operation. The "output" return
1947// value will be populated with the request's response once the request completes
1948// successfully.
1949//
1950// Use "Send" method on the returned Request to send the API call to the service.
1951// the "output" return value is not valid until after Send returns without error.
1952//
1953// See ListTagsForResource for more information on using the ListTagsForResource
1954// API call, and error handling.
1955//
1956// This method is useful when you want to inject custom logic or configuration
1957// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1958//
1959//
1960//    // Example sending a request using the ListTagsForResourceRequest method.
1961//    req, resp := client.ListTagsForResourceRequest(params)
1962//
1963//    err := req.Send()
1964//    if err == nil { // resp is now filled
1965//        fmt.Println(resp)
1966//    }
1967//
1968// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListTagsForResource
1969func (c *ApplicationInsights) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1970	op := &request.Operation{
1971		Name:       opListTagsForResource,
1972		HTTPMethod: "POST",
1973		HTTPPath:   "/",
1974	}
1975
1976	if input == nil {
1977		input = &ListTagsForResourceInput{}
1978	}
1979
1980	output = &ListTagsForResourceOutput{}
1981	req = c.newRequest(op, input, output)
1982	return
1983}
1984
1985// ListTagsForResource API operation for Amazon CloudWatch Application Insights.
1986//
1987// Retrieve a list of the tags (keys and values) that are associated with a
1988// specified application. A tag is a label that you optionally define and associate
1989// with an application. Each tag consists of a required tag key and an optional
1990// associated tag value. A tag key is a general label that acts as a category
1991// for more specific tag values. A tag value acts as a descriptor within a tag
1992// key.
1993//
1994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1995// with awserr.Error's Code and Message methods to get detailed information about
1996// the error.
1997//
1998// See the AWS API reference guide for Amazon CloudWatch Application Insights's
1999// API operation ListTagsForResource for usage and error information.
2000//
2001// Returned Error Codes:
2002//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2003//   The resource does not exist in the customer account.
2004//
2005//   * ErrCodeValidationException "ValidationException"
2006//   The parameter is not valid.
2007//
2008// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListTagsForResource
2009func (c *ApplicationInsights) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2010	req, out := c.ListTagsForResourceRequest(input)
2011	return out, req.Send()
2012}
2013
2014// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2015// the ability to pass a context and additional request options.
2016//
2017// See ListTagsForResource for details on how to use this API operation.
2018//
2019// The context must be non-nil and will be used for request cancellation. If
2020// the context is nil a panic will occur. In the future the SDK may create
2021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2022// for more information on using Contexts.
2023func (c *ApplicationInsights) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2024	req, out := c.ListTagsForResourceRequest(input)
2025	req.SetContext(ctx)
2026	req.ApplyOptions(opts...)
2027	return out, req.Send()
2028}
2029
2030const opTagResource = "TagResource"
2031
2032// TagResourceRequest generates a "aws/request.Request" representing the
2033// client's request for the TagResource operation. The "output" return
2034// value will be populated with the request's response once the request completes
2035// successfully.
2036//
2037// Use "Send" method on the returned Request to send the API call to the service.
2038// the "output" return value is not valid until after Send returns without error.
2039//
2040// See TagResource for more information on using the TagResource
2041// API call, and error handling.
2042//
2043// This method is useful when you want to inject custom logic or configuration
2044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2045//
2046//
2047//    // Example sending a request using the TagResourceRequest method.
2048//    req, resp := client.TagResourceRequest(params)
2049//
2050//    err := req.Send()
2051//    if err == nil { // resp is now filled
2052//        fmt.Println(resp)
2053//    }
2054//
2055// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/TagResource
2056func (c *ApplicationInsights) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2057	op := &request.Operation{
2058		Name:       opTagResource,
2059		HTTPMethod: "POST",
2060		HTTPPath:   "/",
2061	}
2062
2063	if input == nil {
2064		input = &TagResourceInput{}
2065	}
2066
2067	output = &TagResourceOutput{}
2068	req = c.newRequest(op, input, output)
2069	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2070	return
2071}
2072
2073// TagResource API operation for Amazon CloudWatch Application Insights.
2074//
2075// Add one or more tags (keys and values) to a specified application. A tag
2076// is a label that you optionally define and associate with an application.
2077// Tags can help you categorize and manage application in different ways, such
2078// as by purpose, owner, environment, or other criteria.
2079//
2080// Each tag consists of a required tag key and an associated tag value, both
2081// of which you define. A tag key is a general label that acts as a category
2082// for more specific tag values. A tag value acts as a descriptor within a tag
2083// key.
2084//
2085// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2086// with awserr.Error's Code and Message methods to get detailed information about
2087// the error.
2088//
2089// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2090// API operation TagResource for usage and error information.
2091//
2092// Returned Error Codes:
2093//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2094//   The resource does not exist in the customer account.
2095//
2096//   * ErrCodeTooManyTagsException "TooManyTagsException"
2097//   The number of the provided tags is beyond the limit, or the number of total
2098//   tags you are trying to attach to the specified resource exceeds the limit.
2099//
2100//   * ErrCodeValidationException "ValidationException"
2101//   The parameter is not valid.
2102//
2103// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/TagResource
2104func (c *ApplicationInsights) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2105	req, out := c.TagResourceRequest(input)
2106	return out, req.Send()
2107}
2108
2109// TagResourceWithContext is the same as TagResource with the addition of
2110// the ability to pass a context and additional request options.
2111//
2112// See TagResource for details on how to use this API operation.
2113//
2114// The context must be non-nil and will be used for request cancellation. If
2115// the context is nil a panic will occur. In the future the SDK may create
2116// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2117// for more information on using Contexts.
2118func (c *ApplicationInsights) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2119	req, out := c.TagResourceRequest(input)
2120	req.SetContext(ctx)
2121	req.ApplyOptions(opts...)
2122	return out, req.Send()
2123}
2124
2125const opUntagResource = "UntagResource"
2126
2127// UntagResourceRequest generates a "aws/request.Request" representing the
2128// client's request for the UntagResource operation. The "output" return
2129// value will be populated with the request's response once the request completes
2130// successfully.
2131//
2132// Use "Send" method on the returned Request to send the API call to the service.
2133// the "output" return value is not valid until after Send returns without error.
2134//
2135// See UntagResource for more information on using the UntagResource
2136// API call, and error handling.
2137//
2138// This method is useful when you want to inject custom logic or configuration
2139// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2140//
2141//
2142//    // Example sending a request using the UntagResourceRequest method.
2143//    req, resp := client.UntagResourceRequest(params)
2144//
2145//    err := req.Send()
2146//    if err == nil { // resp is now filled
2147//        fmt.Println(resp)
2148//    }
2149//
2150// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UntagResource
2151func (c *ApplicationInsights) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2152	op := &request.Operation{
2153		Name:       opUntagResource,
2154		HTTPMethod: "POST",
2155		HTTPPath:   "/",
2156	}
2157
2158	if input == nil {
2159		input = &UntagResourceInput{}
2160	}
2161
2162	output = &UntagResourceOutput{}
2163	req = c.newRequest(op, input, output)
2164	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2165	return
2166}
2167
2168// UntagResource API operation for Amazon CloudWatch Application Insights.
2169//
2170// Remove one or more tags (keys and values) from a specified application.
2171//
2172// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2173// with awserr.Error's Code and Message methods to get detailed information about
2174// the error.
2175//
2176// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2177// API operation UntagResource for usage and error information.
2178//
2179// Returned Error Codes:
2180//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2181//   The resource does not exist in the customer account.
2182//
2183//   * ErrCodeValidationException "ValidationException"
2184//   The parameter is not valid.
2185//
2186// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UntagResource
2187func (c *ApplicationInsights) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2188	req, out := c.UntagResourceRequest(input)
2189	return out, req.Send()
2190}
2191
2192// UntagResourceWithContext is the same as UntagResource with the addition of
2193// the ability to pass a context and additional request options.
2194//
2195// See UntagResource for details on how to use this API operation.
2196//
2197// The context must be non-nil and will be used for request cancellation. If
2198// the context is nil a panic will occur. In the future the SDK may create
2199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2200// for more information on using Contexts.
2201func (c *ApplicationInsights) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2202	req, out := c.UntagResourceRequest(input)
2203	req.SetContext(ctx)
2204	req.ApplyOptions(opts...)
2205	return out, req.Send()
2206}
2207
2208const opUpdateApplication = "UpdateApplication"
2209
2210// UpdateApplicationRequest generates a "aws/request.Request" representing the
2211// client's request for the UpdateApplication operation. The "output" return
2212// value will be populated with the request's response once the request completes
2213// successfully.
2214//
2215// Use "Send" method on the returned Request to send the API call to the service.
2216// the "output" return value is not valid until after Send returns without error.
2217//
2218// See UpdateApplication for more information on using the UpdateApplication
2219// API call, and error handling.
2220//
2221// This method is useful when you want to inject custom logic or configuration
2222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2223//
2224//
2225//    // Example sending a request using the UpdateApplicationRequest method.
2226//    req, resp := client.UpdateApplicationRequest(params)
2227//
2228//    err := req.Send()
2229//    if err == nil { // resp is now filled
2230//        fmt.Println(resp)
2231//    }
2232//
2233// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateApplication
2234func (c *ApplicationInsights) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) {
2235	op := &request.Operation{
2236		Name:       opUpdateApplication,
2237		HTTPMethod: "POST",
2238		HTTPPath:   "/",
2239	}
2240
2241	if input == nil {
2242		input = &UpdateApplicationInput{}
2243	}
2244
2245	output = &UpdateApplicationOutput{}
2246	req = c.newRequest(op, input, output)
2247	return
2248}
2249
2250// UpdateApplication API operation for Amazon CloudWatch Application Insights.
2251//
2252// Updates the application.
2253//
2254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2255// with awserr.Error's Code and Message methods to get detailed information about
2256// the error.
2257//
2258// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2259// API operation UpdateApplication for usage and error information.
2260//
2261// Returned Error Codes:
2262//   * ErrCodeInternalServerException "InternalServerException"
2263//   The server encountered an internal error and is unable to complete the request.
2264//
2265//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2266//   The resource does not exist in the customer account.
2267//
2268//   * ErrCodeValidationException "ValidationException"
2269//   The parameter is not valid.
2270//
2271// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateApplication
2272func (c *ApplicationInsights) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) {
2273	req, out := c.UpdateApplicationRequest(input)
2274	return out, req.Send()
2275}
2276
2277// UpdateApplicationWithContext is the same as UpdateApplication with the addition of
2278// the ability to pass a context and additional request options.
2279//
2280// See UpdateApplication for details on how to use this API operation.
2281//
2282// The context must be non-nil and will be used for request cancellation. If
2283// the context is nil a panic will occur. In the future the SDK may create
2284// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2285// for more information on using Contexts.
2286func (c *ApplicationInsights) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) {
2287	req, out := c.UpdateApplicationRequest(input)
2288	req.SetContext(ctx)
2289	req.ApplyOptions(opts...)
2290	return out, req.Send()
2291}
2292
2293const opUpdateComponent = "UpdateComponent"
2294
2295// UpdateComponentRequest generates a "aws/request.Request" representing the
2296// client's request for the UpdateComponent operation. The "output" return
2297// value will be populated with the request's response once the request completes
2298// successfully.
2299//
2300// Use "Send" method on the returned Request to send the API call to the service.
2301// the "output" return value is not valid until after Send returns without error.
2302//
2303// See UpdateComponent for more information on using the UpdateComponent
2304// API call, and error handling.
2305//
2306// This method is useful when you want to inject custom logic or configuration
2307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2308//
2309//
2310//    // Example sending a request using the UpdateComponentRequest method.
2311//    req, resp := client.UpdateComponentRequest(params)
2312//
2313//    err := req.Send()
2314//    if err == nil { // resp is now filled
2315//        fmt.Println(resp)
2316//    }
2317//
2318// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponent
2319func (c *ApplicationInsights) UpdateComponentRequest(input *UpdateComponentInput) (req *request.Request, output *UpdateComponentOutput) {
2320	op := &request.Operation{
2321		Name:       opUpdateComponent,
2322		HTTPMethod: "POST",
2323		HTTPPath:   "/",
2324	}
2325
2326	if input == nil {
2327		input = &UpdateComponentInput{}
2328	}
2329
2330	output = &UpdateComponentOutput{}
2331	req = c.newRequest(op, input, output)
2332	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2333	return
2334}
2335
2336// UpdateComponent API operation for Amazon CloudWatch Application Insights.
2337//
2338// Updates the custom component name and/or the list of resources that make
2339// up the component.
2340//
2341// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2342// with awserr.Error's Code and Message methods to get detailed information about
2343// the error.
2344//
2345// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2346// API operation UpdateComponent for usage and error information.
2347//
2348// Returned Error Codes:
2349//   * ErrCodeResourceInUseException "ResourceInUseException"
2350//   The resource is already created or in use.
2351//
2352//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2353//   The resource does not exist in the customer account.
2354//
2355//   * ErrCodeValidationException "ValidationException"
2356//   The parameter is not valid.
2357//
2358//   * ErrCodeInternalServerException "InternalServerException"
2359//   The server encountered an internal error and is unable to complete the request.
2360//
2361// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponent
2362func (c *ApplicationInsights) UpdateComponent(input *UpdateComponentInput) (*UpdateComponentOutput, error) {
2363	req, out := c.UpdateComponentRequest(input)
2364	return out, req.Send()
2365}
2366
2367// UpdateComponentWithContext is the same as UpdateComponent with the addition of
2368// the ability to pass a context and additional request options.
2369//
2370// See UpdateComponent for details on how to use this API operation.
2371//
2372// The context must be non-nil and will be used for request cancellation. If
2373// the context is nil a panic will occur. In the future the SDK may create
2374// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2375// for more information on using Contexts.
2376func (c *ApplicationInsights) UpdateComponentWithContext(ctx aws.Context, input *UpdateComponentInput, opts ...request.Option) (*UpdateComponentOutput, error) {
2377	req, out := c.UpdateComponentRequest(input)
2378	req.SetContext(ctx)
2379	req.ApplyOptions(opts...)
2380	return out, req.Send()
2381}
2382
2383const opUpdateComponentConfiguration = "UpdateComponentConfiguration"
2384
2385// UpdateComponentConfigurationRequest generates a "aws/request.Request" representing the
2386// client's request for the UpdateComponentConfiguration operation. The "output" return
2387// value will be populated with the request's response once the request completes
2388// successfully.
2389//
2390// Use "Send" method on the returned Request to send the API call to the service.
2391// the "output" return value is not valid until after Send returns without error.
2392//
2393// See UpdateComponentConfiguration for more information on using the UpdateComponentConfiguration
2394// API call, and error handling.
2395//
2396// This method is useful when you want to inject custom logic or configuration
2397// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2398//
2399//
2400//    // Example sending a request using the UpdateComponentConfigurationRequest method.
2401//    req, resp := client.UpdateComponentConfigurationRequest(params)
2402//
2403//    err := req.Send()
2404//    if err == nil { // resp is now filled
2405//        fmt.Println(resp)
2406//    }
2407//
2408// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration
2409func (c *ApplicationInsights) UpdateComponentConfigurationRequest(input *UpdateComponentConfigurationInput) (req *request.Request, output *UpdateComponentConfigurationOutput) {
2410	op := &request.Operation{
2411		Name:       opUpdateComponentConfiguration,
2412		HTTPMethod: "POST",
2413		HTTPPath:   "/",
2414	}
2415
2416	if input == nil {
2417		input = &UpdateComponentConfigurationInput{}
2418	}
2419
2420	output = &UpdateComponentConfigurationOutput{}
2421	req = c.newRequest(op, input, output)
2422	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2423	return
2424}
2425
2426// UpdateComponentConfiguration API operation for Amazon CloudWatch Application Insights.
2427//
2428// Updates the monitoring configurations for the component. The configuration
2429// input parameter is an escaped JSON of the configuration and should match
2430// the schema of what is returned by DescribeComponentConfigurationRecommendation.
2431//
2432// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2433// with awserr.Error's Code and Message methods to get detailed information about
2434// the error.
2435//
2436// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2437// API operation UpdateComponentConfiguration for usage and error information.
2438//
2439// Returned Error Codes:
2440//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2441//   The resource does not exist in the customer account.
2442//
2443//   * ErrCodeValidationException "ValidationException"
2444//   The parameter is not valid.
2445//
2446//   * ErrCodeInternalServerException "InternalServerException"
2447//   The server encountered an internal error and is unable to complete the request.
2448//
2449// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration
2450func (c *ApplicationInsights) UpdateComponentConfiguration(input *UpdateComponentConfigurationInput) (*UpdateComponentConfigurationOutput, error) {
2451	req, out := c.UpdateComponentConfigurationRequest(input)
2452	return out, req.Send()
2453}
2454
2455// UpdateComponentConfigurationWithContext is the same as UpdateComponentConfiguration with the addition of
2456// the ability to pass a context and additional request options.
2457//
2458// See UpdateComponentConfiguration for details on how to use this API operation.
2459//
2460// The context must be non-nil and will be used for request cancellation. If
2461// the context is nil a panic will occur. In the future the SDK may create
2462// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2463// for more information on using Contexts.
2464func (c *ApplicationInsights) UpdateComponentConfigurationWithContext(ctx aws.Context, input *UpdateComponentConfigurationInput, opts ...request.Option) (*UpdateComponentConfigurationOutput, error) {
2465	req, out := c.UpdateComponentConfigurationRequest(input)
2466	req.SetContext(ctx)
2467	req.ApplyOptions(opts...)
2468	return out, req.Send()
2469}
2470
2471const opUpdateLogPattern = "UpdateLogPattern"
2472
2473// UpdateLogPatternRequest generates a "aws/request.Request" representing the
2474// client's request for the UpdateLogPattern operation. The "output" return
2475// value will be populated with the request's response once the request completes
2476// successfully.
2477//
2478// Use "Send" method on the returned Request to send the API call to the service.
2479// the "output" return value is not valid until after Send returns without error.
2480//
2481// See UpdateLogPattern for more information on using the UpdateLogPattern
2482// API call, and error handling.
2483//
2484// This method is useful when you want to inject custom logic or configuration
2485// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2486//
2487//
2488//    // Example sending a request using the UpdateLogPatternRequest method.
2489//    req, resp := client.UpdateLogPatternRequest(params)
2490//
2491//    err := req.Send()
2492//    if err == nil { // resp is now filled
2493//        fmt.Println(resp)
2494//    }
2495//
2496// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateLogPattern
2497func (c *ApplicationInsights) UpdateLogPatternRequest(input *UpdateLogPatternInput) (req *request.Request, output *UpdateLogPatternOutput) {
2498	op := &request.Operation{
2499		Name:       opUpdateLogPattern,
2500		HTTPMethod: "POST",
2501		HTTPPath:   "/",
2502	}
2503
2504	if input == nil {
2505		input = &UpdateLogPatternInput{}
2506	}
2507
2508	output = &UpdateLogPatternOutput{}
2509	req = c.newRequest(op, input, output)
2510	return
2511}
2512
2513// UpdateLogPattern API operation for Amazon CloudWatch Application Insights.
2514//
2515// Adds a log pattern to a LogPatternSet.
2516//
2517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2518// with awserr.Error's Code and Message methods to get detailed information about
2519// the error.
2520//
2521// See the AWS API reference guide for Amazon CloudWatch Application Insights's
2522// API operation UpdateLogPattern for usage and error information.
2523//
2524// Returned Error Codes:
2525//   * ErrCodeResourceInUseException "ResourceInUseException"
2526//   The resource is already created or in use.
2527//
2528//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2529//   The resource does not exist in the customer account.
2530//
2531//   * ErrCodeValidationException "ValidationException"
2532//   The parameter is not valid.
2533//
2534//   * ErrCodeInternalServerException "InternalServerException"
2535//   The server encountered an internal error and is unable to complete the request.
2536//
2537// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateLogPattern
2538func (c *ApplicationInsights) UpdateLogPattern(input *UpdateLogPatternInput) (*UpdateLogPatternOutput, error) {
2539	req, out := c.UpdateLogPatternRequest(input)
2540	return out, req.Send()
2541}
2542
2543// UpdateLogPatternWithContext is the same as UpdateLogPattern with the addition of
2544// the ability to pass a context and additional request options.
2545//
2546// See UpdateLogPattern for details on how to use this API operation.
2547//
2548// The context must be non-nil and will be used for request cancellation. If
2549// the context is nil a panic will occur. In the future the SDK may create
2550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2551// for more information on using Contexts.
2552func (c *ApplicationInsights) UpdateLogPatternWithContext(ctx aws.Context, input *UpdateLogPatternInput, opts ...request.Option) (*UpdateLogPatternOutput, error) {
2553	req, out := c.UpdateLogPatternRequest(input)
2554	req.SetContext(ctx)
2555	req.ApplyOptions(opts...)
2556	return out, req.Send()
2557}
2558
2559// Describes a standalone resource or similarly grouped resources that the application
2560// is made up of.
2561type ApplicationComponent struct {
2562	_ struct{} `type:"structure"`
2563
2564	// The name of the component.
2565	ComponentName *string `type:"string"`
2566
2567	// Indicates whether the application component is monitored.
2568	Monitor *bool `type:"boolean"`
2569
2570	// The resource type. Supported resource types include EC2 instances, Auto Scaling
2571	// group, Classic ELB, Application ELB, and SQS Queue.
2572	ResourceType *string `type:"string"`
2573
2574	// The stack tier of the application component.
2575	Tier *string `min:"1" type:"string" enum:"Tier"`
2576}
2577
2578// String returns the string representation
2579func (s ApplicationComponent) String() string {
2580	return awsutil.Prettify(s)
2581}
2582
2583// GoString returns the string representation
2584func (s ApplicationComponent) GoString() string {
2585	return s.String()
2586}
2587
2588// SetComponentName sets the ComponentName field's value.
2589func (s *ApplicationComponent) SetComponentName(v string) *ApplicationComponent {
2590	s.ComponentName = &v
2591	return s
2592}
2593
2594// SetMonitor sets the Monitor field's value.
2595func (s *ApplicationComponent) SetMonitor(v bool) *ApplicationComponent {
2596	s.Monitor = &v
2597	return s
2598}
2599
2600// SetResourceType sets the ResourceType field's value.
2601func (s *ApplicationComponent) SetResourceType(v string) *ApplicationComponent {
2602	s.ResourceType = &v
2603	return s
2604}
2605
2606// SetTier sets the Tier field's value.
2607func (s *ApplicationComponent) SetTier(v string) *ApplicationComponent {
2608	s.Tier = &v
2609	return s
2610}
2611
2612// Describes the status of the application.
2613type ApplicationInfo struct {
2614	_ struct{} `type:"structure"`
2615
2616	// The lifecycle of the application.
2617	LifeCycle *string `type:"string"`
2618
2619	// Indicates whether Application Insights will create opsItems for any problem
2620	// detected by Application Insights for an application.
2621	OpsCenterEnabled *bool `type:"boolean"`
2622
2623	// The SNS topic provided to Application Insights that is associated to the
2624	// created opsItems to receive SNS notifications for opsItem updates.
2625	OpsItemSNSTopicArn *string `min:"20" type:"string"`
2626
2627	// The issues on the user side that block Application Insights from successfully
2628	// monitoring an application.
2629	Remarks *string `type:"string"`
2630
2631	// The name of the resource group used for the application.
2632	ResourceGroupName *string `min:"1" type:"string"`
2633}
2634
2635// String returns the string representation
2636func (s ApplicationInfo) String() string {
2637	return awsutil.Prettify(s)
2638}
2639
2640// GoString returns the string representation
2641func (s ApplicationInfo) GoString() string {
2642	return s.String()
2643}
2644
2645// SetLifeCycle sets the LifeCycle field's value.
2646func (s *ApplicationInfo) SetLifeCycle(v string) *ApplicationInfo {
2647	s.LifeCycle = &v
2648	return s
2649}
2650
2651// SetOpsCenterEnabled sets the OpsCenterEnabled field's value.
2652func (s *ApplicationInfo) SetOpsCenterEnabled(v bool) *ApplicationInfo {
2653	s.OpsCenterEnabled = &v
2654	return s
2655}
2656
2657// SetOpsItemSNSTopicArn sets the OpsItemSNSTopicArn field's value.
2658func (s *ApplicationInfo) SetOpsItemSNSTopicArn(v string) *ApplicationInfo {
2659	s.OpsItemSNSTopicArn = &v
2660	return s
2661}
2662
2663// SetRemarks sets the Remarks field's value.
2664func (s *ApplicationInfo) SetRemarks(v string) *ApplicationInfo {
2665	s.Remarks = &v
2666	return s
2667}
2668
2669// SetResourceGroupName sets the ResourceGroupName field's value.
2670func (s *ApplicationInfo) SetResourceGroupName(v string) *ApplicationInfo {
2671	s.ResourceGroupName = &v
2672	return s
2673}
2674
2675type CreateApplicationInput struct {
2676	_ struct{} `type:"structure"`
2677
2678	// When set to true, creates opsItems for any problems detected on an application.
2679	OpsCenterEnabled *bool `type:"boolean"`
2680
2681	// The SNS topic provided to Application Insights that is associated to the
2682	// created opsItem. Allows you to receive notifications for updates to the opsItem.
2683	OpsItemSNSTopicArn *string `min:"20" type:"string"`
2684
2685	// The name of the resource group.
2686	//
2687	// ResourceGroupName is a required field
2688	ResourceGroupName *string `min:"1" type:"string" required:"true"`
2689
2690	// List of tags to add to the application. tag key (Key) and an associated tag
2691	// value (Value). The maximum length of a tag key is 128 characters. The maximum
2692	// length of a tag value is 256 characters.
2693	Tags []*Tag `type:"list"`
2694}
2695
2696// String returns the string representation
2697func (s CreateApplicationInput) String() string {
2698	return awsutil.Prettify(s)
2699}
2700
2701// GoString returns the string representation
2702func (s CreateApplicationInput) GoString() string {
2703	return s.String()
2704}
2705
2706// Validate inspects the fields of the type to determine if they are valid.
2707func (s *CreateApplicationInput) Validate() error {
2708	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
2709	if s.OpsItemSNSTopicArn != nil && len(*s.OpsItemSNSTopicArn) < 20 {
2710		invalidParams.Add(request.NewErrParamMinLen("OpsItemSNSTopicArn", 20))
2711	}
2712	if s.ResourceGroupName == nil {
2713		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
2714	}
2715	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
2716		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
2717	}
2718	if s.Tags != nil {
2719		for i, v := range s.Tags {
2720			if v == nil {
2721				continue
2722			}
2723			if err := v.Validate(); err != nil {
2724				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
2725			}
2726		}
2727	}
2728
2729	if invalidParams.Len() > 0 {
2730		return invalidParams
2731	}
2732	return nil
2733}
2734
2735// SetOpsCenterEnabled sets the OpsCenterEnabled field's value.
2736func (s *CreateApplicationInput) SetOpsCenterEnabled(v bool) *CreateApplicationInput {
2737	s.OpsCenterEnabled = &v
2738	return s
2739}
2740
2741// SetOpsItemSNSTopicArn sets the OpsItemSNSTopicArn field's value.
2742func (s *CreateApplicationInput) SetOpsItemSNSTopicArn(v string) *CreateApplicationInput {
2743	s.OpsItemSNSTopicArn = &v
2744	return s
2745}
2746
2747// SetResourceGroupName sets the ResourceGroupName field's value.
2748func (s *CreateApplicationInput) SetResourceGroupName(v string) *CreateApplicationInput {
2749	s.ResourceGroupName = &v
2750	return s
2751}
2752
2753// SetTags sets the Tags field's value.
2754func (s *CreateApplicationInput) SetTags(v []*Tag) *CreateApplicationInput {
2755	s.Tags = v
2756	return s
2757}
2758
2759type CreateApplicationOutput struct {
2760	_ struct{} `type:"structure"`
2761
2762	// Information about the application.
2763	ApplicationInfo *ApplicationInfo `type:"structure"`
2764}
2765
2766// String returns the string representation
2767func (s CreateApplicationOutput) String() string {
2768	return awsutil.Prettify(s)
2769}
2770
2771// GoString returns the string representation
2772func (s CreateApplicationOutput) GoString() string {
2773	return s.String()
2774}
2775
2776// SetApplicationInfo sets the ApplicationInfo field's value.
2777func (s *CreateApplicationOutput) SetApplicationInfo(v *ApplicationInfo) *CreateApplicationOutput {
2778	s.ApplicationInfo = v
2779	return s
2780}
2781
2782type CreateComponentInput struct {
2783	_ struct{} `type:"structure"`
2784
2785	// The name of the component.
2786	//
2787	// ComponentName is a required field
2788	ComponentName *string `type:"string" required:"true"`
2789
2790	// The name of the resource group.
2791	//
2792	// ResourceGroupName is a required field
2793	ResourceGroupName *string `min:"1" type:"string" required:"true"`
2794
2795	// The list of resource ARNs that belong to the component.
2796	//
2797	// ResourceList is a required field
2798	ResourceList []*string `type:"list" required:"true"`
2799}
2800
2801// String returns the string representation
2802func (s CreateComponentInput) String() string {
2803	return awsutil.Prettify(s)
2804}
2805
2806// GoString returns the string representation
2807func (s CreateComponentInput) GoString() string {
2808	return s.String()
2809}
2810
2811// Validate inspects the fields of the type to determine if they are valid.
2812func (s *CreateComponentInput) Validate() error {
2813	invalidParams := request.ErrInvalidParams{Context: "CreateComponentInput"}
2814	if s.ComponentName == nil {
2815		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
2816	}
2817	if s.ResourceGroupName == nil {
2818		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
2819	}
2820	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
2821		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
2822	}
2823	if s.ResourceList == nil {
2824		invalidParams.Add(request.NewErrParamRequired("ResourceList"))
2825	}
2826
2827	if invalidParams.Len() > 0 {
2828		return invalidParams
2829	}
2830	return nil
2831}
2832
2833// SetComponentName sets the ComponentName field's value.
2834func (s *CreateComponentInput) SetComponentName(v string) *CreateComponentInput {
2835	s.ComponentName = &v
2836	return s
2837}
2838
2839// SetResourceGroupName sets the ResourceGroupName field's value.
2840func (s *CreateComponentInput) SetResourceGroupName(v string) *CreateComponentInput {
2841	s.ResourceGroupName = &v
2842	return s
2843}
2844
2845// SetResourceList sets the ResourceList field's value.
2846func (s *CreateComponentInput) SetResourceList(v []*string) *CreateComponentInput {
2847	s.ResourceList = v
2848	return s
2849}
2850
2851type CreateComponentOutput struct {
2852	_ struct{} `type:"structure"`
2853}
2854
2855// String returns the string representation
2856func (s CreateComponentOutput) String() string {
2857	return awsutil.Prettify(s)
2858}
2859
2860// GoString returns the string representation
2861func (s CreateComponentOutput) GoString() string {
2862	return s.String()
2863}
2864
2865type CreateLogPatternInput struct {
2866	_ struct{} `type:"structure"`
2867
2868	// The log pattern.
2869	//
2870	// Pattern is a required field
2871	Pattern *string `min:"1" type:"string" required:"true"`
2872
2873	// The name of the log pattern.
2874	//
2875	// PatternName is a required field
2876	PatternName *string `min:"1" type:"string" required:"true"`
2877
2878	// The name of the log pattern set.
2879	//
2880	// PatternSetName is a required field
2881	PatternSetName *string `min:"1" type:"string" required:"true"`
2882
2883	// Rank of the log pattern.
2884	//
2885	// Rank is a required field
2886	Rank *int64 `type:"integer" required:"true"`
2887
2888	// The name of the resource group.
2889	//
2890	// ResourceGroupName is a required field
2891	ResourceGroupName *string `min:"1" type:"string" required:"true"`
2892}
2893
2894// String returns the string representation
2895func (s CreateLogPatternInput) String() string {
2896	return awsutil.Prettify(s)
2897}
2898
2899// GoString returns the string representation
2900func (s CreateLogPatternInput) GoString() string {
2901	return s.String()
2902}
2903
2904// Validate inspects the fields of the type to determine if they are valid.
2905func (s *CreateLogPatternInput) Validate() error {
2906	invalidParams := request.ErrInvalidParams{Context: "CreateLogPatternInput"}
2907	if s.Pattern == nil {
2908		invalidParams.Add(request.NewErrParamRequired("Pattern"))
2909	}
2910	if s.Pattern != nil && len(*s.Pattern) < 1 {
2911		invalidParams.Add(request.NewErrParamMinLen("Pattern", 1))
2912	}
2913	if s.PatternName == nil {
2914		invalidParams.Add(request.NewErrParamRequired("PatternName"))
2915	}
2916	if s.PatternName != nil && len(*s.PatternName) < 1 {
2917		invalidParams.Add(request.NewErrParamMinLen("PatternName", 1))
2918	}
2919	if s.PatternSetName == nil {
2920		invalidParams.Add(request.NewErrParamRequired("PatternSetName"))
2921	}
2922	if s.PatternSetName != nil && len(*s.PatternSetName) < 1 {
2923		invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1))
2924	}
2925	if s.Rank == nil {
2926		invalidParams.Add(request.NewErrParamRequired("Rank"))
2927	}
2928	if s.ResourceGroupName == nil {
2929		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
2930	}
2931	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
2932		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
2933	}
2934
2935	if invalidParams.Len() > 0 {
2936		return invalidParams
2937	}
2938	return nil
2939}
2940
2941// SetPattern sets the Pattern field's value.
2942func (s *CreateLogPatternInput) SetPattern(v string) *CreateLogPatternInput {
2943	s.Pattern = &v
2944	return s
2945}
2946
2947// SetPatternName sets the PatternName field's value.
2948func (s *CreateLogPatternInput) SetPatternName(v string) *CreateLogPatternInput {
2949	s.PatternName = &v
2950	return s
2951}
2952
2953// SetPatternSetName sets the PatternSetName field's value.
2954func (s *CreateLogPatternInput) SetPatternSetName(v string) *CreateLogPatternInput {
2955	s.PatternSetName = &v
2956	return s
2957}
2958
2959// SetRank sets the Rank field's value.
2960func (s *CreateLogPatternInput) SetRank(v int64) *CreateLogPatternInput {
2961	s.Rank = &v
2962	return s
2963}
2964
2965// SetResourceGroupName sets the ResourceGroupName field's value.
2966func (s *CreateLogPatternInput) SetResourceGroupName(v string) *CreateLogPatternInput {
2967	s.ResourceGroupName = &v
2968	return s
2969}
2970
2971type CreateLogPatternOutput struct {
2972	_ struct{} `type:"structure"`
2973
2974	// The successfully created log pattern.
2975	LogPattern *LogPattern `type:"structure"`
2976
2977	// The name of the resource group.
2978	ResourceGroupName *string `min:"1" type:"string"`
2979}
2980
2981// String returns the string representation
2982func (s CreateLogPatternOutput) String() string {
2983	return awsutil.Prettify(s)
2984}
2985
2986// GoString returns the string representation
2987func (s CreateLogPatternOutput) GoString() string {
2988	return s.String()
2989}
2990
2991// SetLogPattern sets the LogPattern field's value.
2992func (s *CreateLogPatternOutput) SetLogPattern(v *LogPattern) *CreateLogPatternOutput {
2993	s.LogPattern = v
2994	return s
2995}
2996
2997// SetResourceGroupName sets the ResourceGroupName field's value.
2998func (s *CreateLogPatternOutput) SetResourceGroupName(v string) *CreateLogPatternOutput {
2999	s.ResourceGroupName = &v
3000	return s
3001}
3002
3003type DeleteApplicationInput struct {
3004	_ struct{} `type:"structure"`
3005
3006	// The name of the resource group.
3007	//
3008	// ResourceGroupName is a required field
3009	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3010}
3011
3012// String returns the string representation
3013func (s DeleteApplicationInput) String() string {
3014	return awsutil.Prettify(s)
3015}
3016
3017// GoString returns the string representation
3018func (s DeleteApplicationInput) GoString() string {
3019	return s.String()
3020}
3021
3022// Validate inspects the fields of the type to determine if they are valid.
3023func (s *DeleteApplicationInput) Validate() error {
3024	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
3025	if s.ResourceGroupName == nil {
3026		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3027	}
3028	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3029		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3030	}
3031
3032	if invalidParams.Len() > 0 {
3033		return invalidParams
3034	}
3035	return nil
3036}
3037
3038// SetResourceGroupName sets the ResourceGroupName field's value.
3039func (s *DeleteApplicationInput) SetResourceGroupName(v string) *DeleteApplicationInput {
3040	s.ResourceGroupName = &v
3041	return s
3042}
3043
3044type DeleteApplicationOutput struct {
3045	_ struct{} `type:"structure"`
3046}
3047
3048// String returns the string representation
3049func (s DeleteApplicationOutput) String() string {
3050	return awsutil.Prettify(s)
3051}
3052
3053// GoString returns the string representation
3054func (s DeleteApplicationOutput) GoString() string {
3055	return s.String()
3056}
3057
3058type DeleteComponentInput struct {
3059	_ struct{} `type:"structure"`
3060
3061	// The name of the component.
3062	//
3063	// ComponentName is a required field
3064	ComponentName *string `type:"string" required:"true"`
3065
3066	// The name of the resource group.
3067	//
3068	// ResourceGroupName is a required field
3069	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3070}
3071
3072// String returns the string representation
3073func (s DeleteComponentInput) String() string {
3074	return awsutil.Prettify(s)
3075}
3076
3077// GoString returns the string representation
3078func (s DeleteComponentInput) GoString() string {
3079	return s.String()
3080}
3081
3082// Validate inspects the fields of the type to determine if they are valid.
3083func (s *DeleteComponentInput) Validate() error {
3084	invalidParams := request.ErrInvalidParams{Context: "DeleteComponentInput"}
3085	if s.ComponentName == nil {
3086		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
3087	}
3088	if s.ResourceGroupName == nil {
3089		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3090	}
3091	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3092		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3093	}
3094
3095	if invalidParams.Len() > 0 {
3096		return invalidParams
3097	}
3098	return nil
3099}
3100
3101// SetComponentName sets the ComponentName field's value.
3102func (s *DeleteComponentInput) SetComponentName(v string) *DeleteComponentInput {
3103	s.ComponentName = &v
3104	return s
3105}
3106
3107// SetResourceGroupName sets the ResourceGroupName field's value.
3108func (s *DeleteComponentInput) SetResourceGroupName(v string) *DeleteComponentInput {
3109	s.ResourceGroupName = &v
3110	return s
3111}
3112
3113type DeleteComponentOutput struct {
3114	_ struct{} `type:"structure"`
3115}
3116
3117// String returns the string representation
3118func (s DeleteComponentOutput) String() string {
3119	return awsutil.Prettify(s)
3120}
3121
3122// GoString returns the string representation
3123func (s DeleteComponentOutput) GoString() string {
3124	return s.String()
3125}
3126
3127type DeleteLogPatternInput struct {
3128	_ struct{} `type:"structure"`
3129
3130	// The name of the log pattern.
3131	//
3132	// PatternName is a required field
3133	PatternName *string `min:"1" type:"string" required:"true"`
3134
3135	// The name of the log pattern set.
3136	//
3137	// PatternSetName is a required field
3138	PatternSetName *string `min:"1" type:"string" required:"true"`
3139
3140	// The name of the resource group.
3141	//
3142	// ResourceGroupName is a required field
3143	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3144}
3145
3146// String returns the string representation
3147func (s DeleteLogPatternInput) String() string {
3148	return awsutil.Prettify(s)
3149}
3150
3151// GoString returns the string representation
3152func (s DeleteLogPatternInput) GoString() string {
3153	return s.String()
3154}
3155
3156// Validate inspects the fields of the type to determine if they are valid.
3157func (s *DeleteLogPatternInput) Validate() error {
3158	invalidParams := request.ErrInvalidParams{Context: "DeleteLogPatternInput"}
3159	if s.PatternName == nil {
3160		invalidParams.Add(request.NewErrParamRequired("PatternName"))
3161	}
3162	if s.PatternName != nil && len(*s.PatternName) < 1 {
3163		invalidParams.Add(request.NewErrParamMinLen("PatternName", 1))
3164	}
3165	if s.PatternSetName == nil {
3166		invalidParams.Add(request.NewErrParamRequired("PatternSetName"))
3167	}
3168	if s.PatternSetName != nil && len(*s.PatternSetName) < 1 {
3169		invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1))
3170	}
3171	if s.ResourceGroupName == nil {
3172		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3173	}
3174	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3175		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3176	}
3177
3178	if invalidParams.Len() > 0 {
3179		return invalidParams
3180	}
3181	return nil
3182}
3183
3184// SetPatternName sets the PatternName field's value.
3185func (s *DeleteLogPatternInput) SetPatternName(v string) *DeleteLogPatternInput {
3186	s.PatternName = &v
3187	return s
3188}
3189
3190// SetPatternSetName sets the PatternSetName field's value.
3191func (s *DeleteLogPatternInput) SetPatternSetName(v string) *DeleteLogPatternInput {
3192	s.PatternSetName = &v
3193	return s
3194}
3195
3196// SetResourceGroupName sets the ResourceGroupName field's value.
3197func (s *DeleteLogPatternInput) SetResourceGroupName(v string) *DeleteLogPatternInput {
3198	s.ResourceGroupName = &v
3199	return s
3200}
3201
3202type DeleteLogPatternOutput struct {
3203	_ struct{} `type:"structure"`
3204}
3205
3206// String returns the string representation
3207func (s DeleteLogPatternOutput) String() string {
3208	return awsutil.Prettify(s)
3209}
3210
3211// GoString returns the string representation
3212func (s DeleteLogPatternOutput) GoString() string {
3213	return s.String()
3214}
3215
3216type DescribeApplicationInput struct {
3217	_ struct{} `type:"structure"`
3218
3219	// The name of the resource group.
3220	//
3221	// ResourceGroupName is a required field
3222	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3223}
3224
3225// String returns the string representation
3226func (s DescribeApplicationInput) String() string {
3227	return awsutil.Prettify(s)
3228}
3229
3230// GoString returns the string representation
3231func (s DescribeApplicationInput) GoString() string {
3232	return s.String()
3233}
3234
3235// Validate inspects the fields of the type to determine if they are valid.
3236func (s *DescribeApplicationInput) Validate() error {
3237	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationInput"}
3238	if s.ResourceGroupName == nil {
3239		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3240	}
3241	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3242		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3243	}
3244
3245	if invalidParams.Len() > 0 {
3246		return invalidParams
3247	}
3248	return nil
3249}
3250
3251// SetResourceGroupName sets the ResourceGroupName field's value.
3252func (s *DescribeApplicationInput) SetResourceGroupName(v string) *DescribeApplicationInput {
3253	s.ResourceGroupName = &v
3254	return s
3255}
3256
3257type DescribeApplicationOutput struct {
3258	_ struct{} `type:"structure"`
3259
3260	// Information about the application.
3261	ApplicationInfo *ApplicationInfo `type:"structure"`
3262}
3263
3264// String returns the string representation
3265func (s DescribeApplicationOutput) String() string {
3266	return awsutil.Prettify(s)
3267}
3268
3269// GoString returns the string representation
3270func (s DescribeApplicationOutput) GoString() string {
3271	return s.String()
3272}
3273
3274// SetApplicationInfo sets the ApplicationInfo field's value.
3275func (s *DescribeApplicationOutput) SetApplicationInfo(v *ApplicationInfo) *DescribeApplicationOutput {
3276	s.ApplicationInfo = v
3277	return s
3278}
3279
3280type DescribeComponentConfigurationInput struct {
3281	_ struct{} `type:"structure"`
3282
3283	// The name of the component.
3284	//
3285	// ComponentName is a required field
3286	ComponentName *string `type:"string" required:"true"`
3287
3288	// The name of the resource group.
3289	//
3290	// ResourceGroupName is a required field
3291	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3292}
3293
3294// String returns the string representation
3295func (s DescribeComponentConfigurationInput) String() string {
3296	return awsutil.Prettify(s)
3297}
3298
3299// GoString returns the string representation
3300func (s DescribeComponentConfigurationInput) GoString() string {
3301	return s.String()
3302}
3303
3304// Validate inspects the fields of the type to determine if they are valid.
3305func (s *DescribeComponentConfigurationInput) Validate() error {
3306	invalidParams := request.ErrInvalidParams{Context: "DescribeComponentConfigurationInput"}
3307	if s.ComponentName == nil {
3308		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
3309	}
3310	if s.ResourceGroupName == nil {
3311		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3312	}
3313	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3314		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3315	}
3316
3317	if invalidParams.Len() > 0 {
3318		return invalidParams
3319	}
3320	return nil
3321}
3322
3323// SetComponentName sets the ComponentName field's value.
3324func (s *DescribeComponentConfigurationInput) SetComponentName(v string) *DescribeComponentConfigurationInput {
3325	s.ComponentName = &v
3326	return s
3327}
3328
3329// SetResourceGroupName sets the ResourceGroupName field's value.
3330func (s *DescribeComponentConfigurationInput) SetResourceGroupName(v string) *DescribeComponentConfigurationInput {
3331	s.ResourceGroupName = &v
3332	return s
3333}
3334
3335type DescribeComponentConfigurationOutput struct {
3336	_ struct{} `type:"structure"`
3337
3338	// The configuration settings of the component. The value is the escaped JSON
3339	// of the configuration.
3340	ComponentConfiguration *string `min:"1" type:"string"`
3341
3342	// Indicates whether the application component is monitored.
3343	Monitor *bool `type:"boolean"`
3344
3345	// The tier of the application component. Supported tiers include DOT_NET_CORE,
3346	// DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT
3347	Tier *string `min:"1" type:"string" enum:"Tier"`
3348}
3349
3350// String returns the string representation
3351func (s DescribeComponentConfigurationOutput) String() string {
3352	return awsutil.Prettify(s)
3353}
3354
3355// GoString returns the string representation
3356func (s DescribeComponentConfigurationOutput) GoString() string {
3357	return s.String()
3358}
3359
3360// SetComponentConfiguration sets the ComponentConfiguration field's value.
3361func (s *DescribeComponentConfigurationOutput) SetComponentConfiguration(v string) *DescribeComponentConfigurationOutput {
3362	s.ComponentConfiguration = &v
3363	return s
3364}
3365
3366// SetMonitor sets the Monitor field's value.
3367func (s *DescribeComponentConfigurationOutput) SetMonitor(v bool) *DescribeComponentConfigurationOutput {
3368	s.Monitor = &v
3369	return s
3370}
3371
3372// SetTier sets the Tier field's value.
3373func (s *DescribeComponentConfigurationOutput) SetTier(v string) *DescribeComponentConfigurationOutput {
3374	s.Tier = &v
3375	return s
3376}
3377
3378type DescribeComponentConfigurationRecommendationInput struct {
3379	_ struct{} `type:"structure"`
3380
3381	// The name of the component.
3382	//
3383	// ComponentName is a required field
3384	ComponentName *string `type:"string" required:"true"`
3385
3386	// The name of the resource group.
3387	//
3388	// ResourceGroupName is a required field
3389	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3390
3391	// The tier of the application component. Supported tiers include DOT_NET_CORE,
3392	// DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT.
3393	//
3394	// Tier is a required field
3395	Tier *string `min:"1" type:"string" required:"true" enum:"Tier"`
3396}
3397
3398// String returns the string representation
3399func (s DescribeComponentConfigurationRecommendationInput) String() string {
3400	return awsutil.Prettify(s)
3401}
3402
3403// GoString returns the string representation
3404func (s DescribeComponentConfigurationRecommendationInput) GoString() string {
3405	return s.String()
3406}
3407
3408// Validate inspects the fields of the type to determine if they are valid.
3409func (s *DescribeComponentConfigurationRecommendationInput) Validate() error {
3410	invalidParams := request.ErrInvalidParams{Context: "DescribeComponentConfigurationRecommendationInput"}
3411	if s.ComponentName == nil {
3412		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
3413	}
3414	if s.ResourceGroupName == nil {
3415		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3416	}
3417	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3418		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3419	}
3420	if s.Tier == nil {
3421		invalidParams.Add(request.NewErrParamRequired("Tier"))
3422	}
3423	if s.Tier != nil && len(*s.Tier) < 1 {
3424		invalidParams.Add(request.NewErrParamMinLen("Tier", 1))
3425	}
3426
3427	if invalidParams.Len() > 0 {
3428		return invalidParams
3429	}
3430	return nil
3431}
3432
3433// SetComponentName sets the ComponentName field's value.
3434func (s *DescribeComponentConfigurationRecommendationInput) SetComponentName(v string) *DescribeComponentConfigurationRecommendationInput {
3435	s.ComponentName = &v
3436	return s
3437}
3438
3439// SetResourceGroupName sets the ResourceGroupName field's value.
3440func (s *DescribeComponentConfigurationRecommendationInput) SetResourceGroupName(v string) *DescribeComponentConfigurationRecommendationInput {
3441	s.ResourceGroupName = &v
3442	return s
3443}
3444
3445// SetTier sets the Tier field's value.
3446func (s *DescribeComponentConfigurationRecommendationInput) SetTier(v string) *DescribeComponentConfigurationRecommendationInput {
3447	s.Tier = &v
3448	return s
3449}
3450
3451type DescribeComponentConfigurationRecommendationOutput struct {
3452	_ struct{} `type:"structure"`
3453
3454	// The recommended configuration settings of the component. The value is the
3455	// escaped JSON of the configuration.
3456	ComponentConfiguration *string `min:"1" type:"string"`
3457}
3458
3459// String returns the string representation
3460func (s DescribeComponentConfigurationRecommendationOutput) String() string {
3461	return awsutil.Prettify(s)
3462}
3463
3464// GoString returns the string representation
3465func (s DescribeComponentConfigurationRecommendationOutput) GoString() string {
3466	return s.String()
3467}
3468
3469// SetComponentConfiguration sets the ComponentConfiguration field's value.
3470func (s *DescribeComponentConfigurationRecommendationOutput) SetComponentConfiguration(v string) *DescribeComponentConfigurationRecommendationOutput {
3471	s.ComponentConfiguration = &v
3472	return s
3473}
3474
3475type DescribeComponentInput struct {
3476	_ struct{} `type:"structure"`
3477
3478	// The name of the component.
3479	//
3480	// ComponentName is a required field
3481	ComponentName *string `type:"string" required:"true"`
3482
3483	// The name of the resource group.
3484	//
3485	// ResourceGroupName is a required field
3486	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3487}
3488
3489// String returns the string representation
3490func (s DescribeComponentInput) String() string {
3491	return awsutil.Prettify(s)
3492}
3493
3494// GoString returns the string representation
3495func (s DescribeComponentInput) GoString() string {
3496	return s.String()
3497}
3498
3499// Validate inspects the fields of the type to determine if they are valid.
3500func (s *DescribeComponentInput) Validate() error {
3501	invalidParams := request.ErrInvalidParams{Context: "DescribeComponentInput"}
3502	if s.ComponentName == nil {
3503		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
3504	}
3505	if s.ResourceGroupName == nil {
3506		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3507	}
3508	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3509		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3510	}
3511
3512	if invalidParams.Len() > 0 {
3513		return invalidParams
3514	}
3515	return nil
3516}
3517
3518// SetComponentName sets the ComponentName field's value.
3519func (s *DescribeComponentInput) SetComponentName(v string) *DescribeComponentInput {
3520	s.ComponentName = &v
3521	return s
3522}
3523
3524// SetResourceGroupName sets the ResourceGroupName field's value.
3525func (s *DescribeComponentInput) SetResourceGroupName(v string) *DescribeComponentInput {
3526	s.ResourceGroupName = &v
3527	return s
3528}
3529
3530type DescribeComponentOutput struct {
3531	_ struct{} `type:"structure"`
3532
3533	// Describes a standalone resource or similarly grouped resources that the application
3534	// is made up of.
3535	ApplicationComponent *ApplicationComponent `type:"structure"`
3536
3537	// The list of resource ARNs that belong to the component.
3538	ResourceList []*string `type:"list"`
3539}
3540
3541// String returns the string representation
3542func (s DescribeComponentOutput) String() string {
3543	return awsutil.Prettify(s)
3544}
3545
3546// GoString returns the string representation
3547func (s DescribeComponentOutput) GoString() string {
3548	return s.String()
3549}
3550
3551// SetApplicationComponent sets the ApplicationComponent field's value.
3552func (s *DescribeComponentOutput) SetApplicationComponent(v *ApplicationComponent) *DescribeComponentOutput {
3553	s.ApplicationComponent = v
3554	return s
3555}
3556
3557// SetResourceList sets the ResourceList field's value.
3558func (s *DescribeComponentOutput) SetResourceList(v []*string) *DescribeComponentOutput {
3559	s.ResourceList = v
3560	return s
3561}
3562
3563type DescribeLogPatternInput struct {
3564	_ struct{} `type:"structure"`
3565
3566	// The name of the log pattern.
3567	//
3568	// PatternName is a required field
3569	PatternName *string `min:"1" type:"string" required:"true"`
3570
3571	// The name of the log pattern set.
3572	//
3573	// PatternSetName is a required field
3574	PatternSetName *string `min:"1" type:"string" required:"true"`
3575
3576	// The name of the resource group.
3577	//
3578	// ResourceGroupName is a required field
3579	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3580}
3581
3582// String returns the string representation
3583func (s DescribeLogPatternInput) String() string {
3584	return awsutil.Prettify(s)
3585}
3586
3587// GoString returns the string representation
3588func (s DescribeLogPatternInput) GoString() string {
3589	return s.String()
3590}
3591
3592// Validate inspects the fields of the type to determine if they are valid.
3593func (s *DescribeLogPatternInput) Validate() error {
3594	invalidParams := request.ErrInvalidParams{Context: "DescribeLogPatternInput"}
3595	if s.PatternName == nil {
3596		invalidParams.Add(request.NewErrParamRequired("PatternName"))
3597	}
3598	if s.PatternName != nil && len(*s.PatternName) < 1 {
3599		invalidParams.Add(request.NewErrParamMinLen("PatternName", 1))
3600	}
3601	if s.PatternSetName == nil {
3602		invalidParams.Add(request.NewErrParamRequired("PatternSetName"))
3603	}
3604	if s.PatternSetName != nil && len(*s.PatternSetName) < 1 {
3605		invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1))
3606	}
3607	if s.ResourceGroupName == nil {
3608		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3609	}
3610	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3611		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3612	}
3613
3614	if invalidParams.Len() > 0 {
3615		return invalidParams
3616	}
3617	return nil
3618}
3619
3620// SetPatternName sets the PatternName field's value.
3621func (s *DescribeLogPatternInput) SetPatternName(v string) *DescribeLogPatternInput {
3622	s.PatternName = &v
3623	return s
3624}
3625
3626// SetPatternSetName sets the PatternSetName field's value.
3627func (s *DescribeLogPatternInput) SetPatternSetName(v string) *DescribeLogPatternInput {
3628	s.PatternSetName = &v
3629	return s
3630}
3631
3632// SetResourceGroupName sets the ResourceGroupName field's value.
3633func (s *DescribeLogPatternInput) SetResourceGroupName(v string) *DescribeLogPatternInput {
3634	s.ResourceGroupName = &v
3635	return s
3636}
3637
3638type DescribeLogPatternOutput struct {
3639	_ struct{} `type:"structure"`
3640
3641	// The successfully created log pattern.
3642	LogPattern *LogPattern `type:"structure"`
3643
3644	// The name of the resource group.
3645	ResourceGroupName *string `min:"1" type:"string"`
3646}
3647
3648// String returns the string representation
3649func (s DescribeLogPatternOutput) String() string {
3650	return awsutil.Prettify(s)
3651}
3652
3653// GoString returns the string representation
3654func (s DescribeLogPatternOutput) GoString() string {
3655	return s.String()
3656}
3657
3658// SetLogPattern sets the LogPattern field's value.
3659func (s *DescribeLogPatternOutput) SetLogPattern(v *LogPattern) *DescribeLogPatternOutput {
3660	s.LogPattern = v
3661	return s
3662}
3663
3664// SetResourceGroupName sets the ResourceGroupName field's value.
3665func (s *DescribeLogPatternOutput) SetResourceGroupName(v string) *DescribeLogPatternOutput {
3666	s.ResourceGroupName = &v
3667	return s
3668}
3669
3670type DescribeObservationInput struct {
3671	_ struct{} `type:"structure"`
3672
3673	// The ID of the observation.
3674	//
3675	// ObservationId is a required field
3676	ObservationId *string `min:"38" type:"string" required:"true"`
3677}
3678
3679// String returns the string representation
3680func (s DescribeObservationInput) String() string {
3681	return awsutil.Prettify(s)
3682}
3683
3684// GoString returns the string representation
3685func (s DescribeObservationInput) GoString() string {
3686	return s.String()
3687}
3688
3689// Validate inspects the fields of the type to determine if they are valid.
3690func (s *DescribeObservationInput) Validate() error {
3691	invalidParams := request.ErrInvalidParams{Context: "DescribeObservationInput"}
3692	if s.ObservationId == nil {
3693		invalidParams.Add(request.NewErrParamRequired("ObservationId"))
3694	}
3695	if s.ObservationId != nil && len(*s.ObservationId) < 38 {
3696		invalidParams.Add(request.NewErrParamMinLen("ObservationId", 38))
3697	}
3698
3699	if invalidParams.Len() > 0 {
3700		return invalidParams
3701	}
3702	return nil
3703}
3704
3705// SetObservationId sets the ObservationId field's value.
3706func (s *DescribeObservationInput) SetObservationId(v string) *DescribeObservationInput {
3707	s.ObservationId = &v
3708	return s
3709}
3710
3711type DescribeObservationOutput struct {
3712	_ struct{} `type:"structure"`
3713
3714	// Information about the observation.
3715	Observation *Observation `type:"structure"`
3716}
3717
3718// String returns the string representation
3719func (s DescribeObservationOutput) String() string {
3720	return awsutil.Prettify(s)
3721}
3722
3723// GoString returns the string representation
3724func (s DescribeObservationOutput) GoString() string {
3725	return s.String()
3726}
3727
3728// SetObservation sets the Observation field's value.
3729func (s *DescribeObservationOutput) SetObservation(v *Observation) *DescribeObservationOutput {
3730	s.Observation = v
3731	return s
3732}
3733
3734type DescribeProblemInput struct {
3735	_ struct{} `type:"structure"`
3736
3737	// The ID of the problem.
3738	//
3739	// ProblemId is a required field
3740	ProblemId *string `min:"38" type:"string" required:"true"`
3741}
3742
3743// String returns the string representation
3744func (s DescribeProblemInput) String() string {
3745	return awsutil.Prettify(s)
3746}
3747
3748// GoString returns the string representation
3749func (s DescribeProblemInput) GoString() string {
3750	return s.String()
3751}
3752
3753// Validate inspects the fields of the type to determine if they are valid.
3754func (s *DescribeProblemInput) Validate() error {
3755	invalidParams := request.ErrInvalidParams{Context: "DescribeProblemInput"}
3756	if s.ProblemId == nil {
3757		invalidParams.Add(request.NewErrParamRequired("ProblemId"))
3758	}
3759	if s.ProblemId != nil && len(*s.ProblemId) < 38 {
3760		invalidParams.Add(request.NewErrParamMinLen("ProblemId", 38))
3761	}
3762
3763	if invalidParams.Len() > 0 {
3764		return invalidParams
3765	}
3766	return nil
3767}
3768
3769// SetProblemId sets the ProblemId field's value.
3770func (s *DescribeProblemInput) SetProblemId(v string) *DescribeProblemInput {
3771	s.ProblemId = &v
3772	return s
3773}
3774
3775type DescribeProblemObservationsInput struct {
3776	_ struct{} `type:"structure"`
3777
3778	// The ID of the problem.
3779	//
3780	// ProblemId is a required field
3781	ProblemId *string `min:"38" type:"string" required:"true"`
3782}
3783
3784// String returns the string representation
3785func (s DescribeProblemObservationsInput) String() string {
3786	return awsutil.Prettify(s)
3787}
3788
3789// GoString returns the string representation
3790func (s DescribeProblemObservationsInput) GoString() string {
3791	return s.String()
3792}
3793
3794// Validate inspects the fields of the type to determine if they are valid.
3795func (s *DescribeProblemObservationsInput) Validate() error {
3796	invalidParams := request.ErrInvalidParams{Context: "DescribeProblemObservationsInput"}
3797	if s.ProblemId == nil {
3798		invalidParams.Add(request.NewErrParamRequired("ProblemId"))
3799	}
3800	if s.ProblemId != nil && len(*s.ProblemId) < 38 {
3801		invalidParams.Add(request.NewErrParamMinLen("ProblemId", 38))
3802	}
3803
3804	if invalidParams.Len() > 0 {
3805		return invalidParams
3806	}
3807	return nil
3808}
3809
3810// SetProblemId sets the ProblemId field's value.
3811func (s *DescribeProblemObservationsInput) SetProblemId(v string) *DescribeProblemObservationsInput {
3812	s.ProblemId = &v
3813	return s
3814}
3815
3816type DescribeProblemObservationsOutput struct {
3817	_ struct{} `type:"structure"`
3818
3819	// Observations related to the problem.
3820	RelatedObservations *RelatedObservations `type:"structure"`
3821}
3822
3823// String returns the string representation
3824func (s DescribeProblemObservationsOutput) String() string {
3825	return awsutil.Prettify(s)
3826}
3827
3828// GoString returns the string representation
3829func (s DescribeProblemObservationsOutput) GoString() string {
3830	return s.String()
3831}
3832
3833// SetRelatedObservations sets the RelatedObservations field's value.
3834func (s *DescribeProblemObservationsOutput) SetRelatedObservations(v *RelatedObservations) *DescribeProblemObservationsOutput {
3835	s.RelatedObservations = v
3836	return s
3837}
3838
3839type DescribeProblemOutput struct {
3840	_ struct{} `type:"structure"`
3841
3842	// Information about the problem.
3843	Problem *Problem `type:"structure"`
3844}
3845
3846// String returns the string representation
3847func (s DescribeProblemOutput) String() string {
3848	return awsutil.Prettify(s)
3849}
3850
3851// GoString returns the string representation
3852func (s DescribeProblemOutput) GoString() string {
3853	return s.String()
3854}
3855
3856// SetProblem sets the Problem field's value.
3857func (s *DescribeProblemOutput) SetProblem(v *Problem) *DescribeProblemOutput {
3858	s.Problem = v
3859	return s
3860}
3861
3862type ListApplicationsInput struct {
3863	_ struct{} `type:"structure"`
3864
3865	// The maximum number of results to return in a single call. To retrieve the
3866	// remaining results, make another call with the returned NextToken value.
3867	MaxResults *int64 `min:"1" type:"integer"`
3868
3869	// The token to request the next page of results.
3870	NextToken *string `type:"string"`
3871}
3872
3873// String returns the string representation
3874func (s ListApplicationsInput) String() string {
3875	return awsutil.Prettify(s)
3876}
3877
3878// GoString returns the string representation
3879func (s ListApplicationsInput) GoString() string {
3880	return s.String()
3881}
3882
3883// Validate inspects the fields of the type to determine if they are valid.
3884func (s *ListApplicationsInput) Validate() error {
3885	invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"}
3886	if s.MaxResults != nil && *s.MaxResults < 1 {
3887		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3888	}
3889
3890	if invalidParams.Len() > 0 {
3891		return invalidParams
3892	}
3893	return nil
3894}
3895
3896// SetMaxResults sets the MaxResults field's value.
3897func (s *ListApplicationsInput) SetMaxResults(v int64) *ListApplicationsInput {
3898	s.MaxResults = &v
3899	return s
3900}
3901
3902// SetNextToken sets the NextToken field's value.
3903func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput {
3904	s.NextToken = &v
3905	return s
3906}
3907
3908type ListApplicationsOutput struct {
3909	_ struct{} `type:"structure"`
3910
3911	// The list of applications.
3912	ApplicationInfoList []*ApplicationInfo `type:"list"`
3913
3914	// The token used to retrieve the next page of results. This value is null when
3915	// there are no more results to return.
3916	NextToken *string `type:"string"`
3917}
3918
3919// String returns the string representation
3920func (s ListApplicationsOutput) String() string {
3921	return awsutil.Prettify(s)
3922}
3923
3924// GoString returns the string representation
3925func (s ListApplicationsOutput) GoString() string {
3926	return s.String()
3927}
3928
3929// SetApplicationInfoList sets the ApplicationInfoList field's value.
3930func (s *ListApplicationsOutput) SetApplicationInfoList(v []*ApplicationInfo) *ListApplicationsOutput {
3931	s.ApplicationInfoList = v
3932	return s
3933}
3934
3935// SetNextToken sets the NextToken field's value.
3936func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput {
3937	s.NextToken = &v
3938	return s
3939}
3940
3941type ListComponentsInput struct {
3942	_ struct{} `type:"structure"`
3943
3944	// The maximum number of results to return in a single call. To retrieve the
3945	// remaining results, make another call with the returned NextToken value.
3946	MaxResults *int64 `min:"1" type:"integer"`
3947
3948	// The token to request the next page of results.
3949	NextToken *string `type:"string"`
3950
3951	// The name of the resource group.
3952	//
3953	// ResourceGroupName is a required field
3954	ResourceGroupName *string `min:"1" type:"string" required:"true"`
3955}
3956
3957// String returns the string representation
3958func (s ListComponentsInput) String() string {
3959	return awsutil.Prettify(s)
3960}
3961
3962// GoString returns the string representation
3963func (s ListComponentsInput) GoString() string {
3964	return s.String()
3965}
3966
3967// Validate inspects the fields of the type to determine if they are valid.
3968func (s *ListComponentsInput) Validate() error {
3969	invalidParams := request.ErrInvalidParams{Context: "ListComponentsInput"}
3970	if s.MaxResults != nil && *s.MaxResults < 1 {
3971		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3972	}
3973	if s.ResourceGroupName == nil {
3974		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
3975	}
3976	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
3977		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
3978	}
3979
3980	if invalidParams.Len() > 0 {
3981		return invalidParams
3982	}
3983	return nil
3984}
3985
3986// SetMaxResults sets the MaxResults field's value.
3987func (s *ListComponentsInput) SetMaxResults(v int64) *ListComponentsInput {
3988	s.MaxResults = &v
3989	return s
3990}
3991
3992// SetNextToken sets the NextToken field's value.
3993func (s *ListComponentsInput) SetNextToken(v string) *ListComponentsInput {
3994	s.NextToken = &v
3995	return s
3996}
3997
3998// SetResourceGroupName sets the ResourceGroupName field's value.
3999func (s *ListComponentsInput) SetResourceGroupName(v string) *ListComponentsInput {
4000	s.ResourceGroupName = &v
4001	return s
4002}
4003
4004type ListComponentsOutput struct {
4005	_ struct{} `type:"structure"`
4006
4007	// The list of application components.
4008	ApplicationComponentList []*ApplicationComponent `type:"list"`
4009
4010	// The token to request the next page of results.
4011	NextToken *string `type:"string"`
4012}
4013
4014// String returns the string representation
4015func (s ListComponentsOutput) String() string {
4016	return awsutil.Prettify(s)
4017}
4018
4019// GoString returns the string representation
4020func (s ListComponentsOutput) GoString() string {
4021	return s.String()
4022}
4023
4024// SetApplicationComponentList sets the ApplicationComponentList field's value.
4025func (s *ListComponentsOutput) SetApplicationComponentList(v []*ApplicationComponent) *ListComponentsOutput {
4026	s.ApplicationComponentList = v
4027	return s
4028}
4029
4030// SetNextToken sets the NextToken field's value.
4031func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput {
4032	s.NextToken = &v
4033	return s
4034}
4035
4036type ListLogPatternSetsInput struct {
4037	_ struct{} `type:"structure"`
4038
4039	// The maximum number of results to return in a single call. To retrieve the
4040	// remaining results, make another call with the returned NextToken value.
4041	MaxResults *int64 `min:"1" type:"integer"`
4042
4043	// The token to request the next page of results.
4044	NextToken *string `type:"string"`
4045
4046	// The name of the resource group.
4047	//
4048	// ResourceGroupName is a required field
4049	ResourceGroupName *string `min:"1" type:"string" required:"true"`
4050}
4051
4052// String returns the string representation
4053func (s ListLogPatternSetsInput) String() string {
4054	return awsutil.Prettify(s)
4055}
4056
4057// GoString returns the string representation
4058func (s ListLogPatternSetsInput) GoString() string {
4059	return s.String()
4060}
4061
4062// Validate inspects the fields of the type to determine if they are valid.
4063func (s *ListLogPatternSetsInput) Validate() error {
4064	invalidParams := request.ErrInvalidParams{Context: "ListLogPatternSetsInput"}
4065	if s.MaxResults != nil && *s.MaxResults < 1 {
4066		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4067	}
4068	if s.ResourceGroupName == nil {
4069		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
4070	}
4071	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
4072		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
4073	}
4074
4075	if invalidParams.Len() > 0 {
4076		return invalidParams
4077	}
4078	return nil
4079}
4080
4081// SetMaxResults sets the MaxResults field's value.
4082func (s *ListLogPatternSetsInput) SetMaxResults(v int64) *ListLogPatternSetsInput {
4083	s.MaxResults = &v
4084	return s
4085}
4086
4087// SetNextToken sets the NextToken field's value.
4088func (s *ListLogPatternSetsInput) SetNextToken(v string) *ListLogPatternSetsInput {
4089	s.NextToken = &v
4090	return s
4091}
4092
4093// SetResourceGroupName sets the ResourceGroupName field's value.
4094func (s *ListLogPatternSetsInput) SetResourceGroupName(v string) *ListLogPatternSetsInput {
4095	s.ResourceGroupName = &v
4096	return s
4097}
4098
4099type ListLogPatternSetsOutput struct {
4100	_ struct{} `type:"structure"`
4101
4102	// The list of log pattern sets.
4103	LogPatternSets []*string `type:"list"`
4104
4105	// The token used to retrieve the next page of results. This value is null when
4106	// there are no more results to return.
4107	NextToken *string `type:"string"`
4108
4109	// The name of the resource group.
4110	ResourceGroupName *string `min:"1" type:"string"`
4111}
4112
4113// String returns the string representation
4114func (s ListLogPatternSetsOutput) String() string {
4115	return awsutil.Prettify(s)
4116}
4117
4118// GoString returns the string representation
4119func (s ListLogPatternSetsOutput) GoString() string {
4120	return s.String()
4121}
4122
4123// SetLogPatternSets sets the LogPatternSets field's value.
4124func (s *ListLogPatternSetsOutput) SetLogPatternSets(v []*string) *ListLogPatternSetsOutput {
4125	s.LogPatternSets = v
4126	return s
4127}
4128
4129// SetNextToken sets the NextToken field's value.
4130func (s *ListLogPatternSetsOutput) SetNextToken(v string) *ListLogPatternSetsOutput {
4131	s.NextToken = &v
4132	return s
4133}
4134
4135// SetResourceGroupName sets the ResourceGroupName field's value.
4136func (s *ListLogPatternSetsOutput) SetResourceGroupName(v string) *ListLogPatternSetsOutput {
4137	s.ResourceGroupName = &v
4138	return s
4139}
4140
4141type ListLogPatternsInput struct {
4142	_ struct{} `type:"structure"`
4143
4144	// The maximum number of results to return in a single call. To retrieve the
4145	// remaining results, make another call with the returned NextToken value.
4146	MaxResults *int64 `min:"1" type:"integer"`
4147
4148	// The token to request the next page of results.
4149	NextToken *string `type:"string"`
4150
4151	// The name of the log pattern set.
4152	PatternSetName *string `min:"1" type:"string"`
4153
4154	// The name of the resource group.
4155	//
4156	// ResourceGroupName is a required field
4157	ResourceGroupName *string `min:"1" type:"string" required:"true"`
4158}
4159
4160// String returns the string representation
4161func (s ListLogPatternsInput) String() string {
4162	return awsutil.Prettify(s)
4163}
4164
4165// GoString returns the string representation
4166func (s ListLogPatternsInput) GoString() string {
4167	return s.String()
4168}
4169
4170// Validate inspects the fields of the type to determine if they are valid.
4171func (s *ListLogPatternsInput) Validate() error {
4172	invalidParams := request.ErrInvalidParams{Context: "ListLogPatternsInput"}
4173	if s.MaxResults != nil && *s.MaxResults < 1 {
4174		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4175	}
4176	if s.PatternSetName != nil && len(*s.PatternSetName) < 1 {
4177		invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1))
4178	}
4179	if s.ResourceGroupName == nil {
4180		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
4181	}
4182	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
4183		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
4184	}
4185
4186	if invalidParams.Len() > 0 {
4187		return invalidParams
4188	}
4189	return nil
4190}
4191
4192// SetMaxResults sets the MaxResults field's value.
4193func (s *ListLogPatternsInput) SetMaxResults(v int64) *ListLogPatternsInput {
4194	s.MaxResults = &v
4195	return s
4196}
4197
4198// SetNextToken sets the NextToken field's value.
4199func (s *ListLogPatternsInput) SetNextToken(v string) *ListLogPatternsInput {
4200	s.NextToken = &v
4201	return s
4202}
4203
4204// SetPatternSetName sets the PatternSetName field's value.
4205func (s *ListLogPatternsInput) SetPatternSetName(v string) *ListLogPatternsInput {
4206	s.PatternSetName = &v
4207	return s
4208}
4209
4210// SetResourceGroupName sets the ResourceGroupName field's value.
4211func (s *ListLogPatternsInput) SetResourceGroupName(v string) *ListLogPatternsInput {
4212	s.ResourceGroupName = &v
4213	return s
4214}
4215
4216type ListLogPatternsOutput struct {
4217	_ struct{} `type:"structure"`
4218
4219	// The list of log patterns.
4220	LogPatterns []*LogPattern `type:"list"`
4221
4222	// The token used to retrieve the next page of results. This value is null when
4223	// there are no more results to return.
4224	NextToken *string `type:"string"`
4225
4226	// The name of the resource group.
4227	ResourceGroupName *string `min:"1" type:"string"`
4228}
4229
4230// String returns the string representation
4231func (s ListLogPatternsOutput) String() string {
4232	return awsutil.Prettify(s)
4233}
4234
4235// GoString returns the string representation
4236func (s ListLogPatternsOutput) GoString() string {
4237	return s.String()
4238}
4239
4240// SetLogPatterns sets the LogPatterns field's value.
4241func (s *ListLogPatternsOutput) SetLogPatterns(v []*LogPattern) *ListLogPatternsOutput {
4242	s.LogPatterns = v
4243	return s
4244}
4245
4246// SetNextToken sets the NextToken field's value.
4247func (s *ListLogPatternsOutput) SetNextToken(v string) *ListLogPatternsOutput {
4248	s.NextToken = &v
4249	return s
4250}
4251
4252// SetResourceGroupName sets the ResourceGroupName field's value.
4253func (s *ListLogPatternsOutput) SetResourceGroupName(v string) *ListLogPatternsOutput {
4254	s.ResourceGroupName = &v
4255	return s
4256}
4257
4258type ListProblemsInput struct {
4259	_ struct{} `type:"structure"`
4260
4261	// The time when the problem ended, in epoch seconds. If not specified, problems
4262	// within the past seven days are returned.
4263	EndTime *time.Time `type:"timestamp"`
4264
4265	// The maximum number of results to return in a single call. To retrieve the
4266	// remaining results, make another call with the returned NextToken value.
4267	MaxResults *int64 `min:"1" type:"integer"`
4268
4269	// The token to request the next page of results.
4270	NextToken *string `type:"string"`
4271
4272	// The name of the resource group.
4273	ResourceGroupName *string `min:"1" type:"string"`
4274
4275	// The time when the problem was detected, in epoch seconds. If you don't specify
4276	// a time frame for the request, problems within the past seven days are returned.
4277	StartTime *time.Time `type:"timestamp"`
4278}
4279
4280// String returns the string representation
4281func (s ListProblemsInput) String() string {
4282	return awsutil.Prettify(s)
4283}
4284
4285// GoString returns the string representation
4286func (s ListProblemsInput) GoString() string {
4287	return s.String()
4288}
4289
4290// Validate inspects the fields of the type to determine if they are valid.
4291func (s *ListProblemsInput) Validate() error {
4292	invalidParams := request.ErrInvalidParams{Context: "ListProblemsInput"}
4293	if s.MaxResults != nil && *s.MaxResults < 1 {
4294		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4295	}
4296	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
4297		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
4298	}
4299
4300	if invalidParams.Len() > 0 {
4301		return invalidParams
4302	}
4303	return nil
4304}
4305
4306// SetEndTime sets the EndTime field's value.
4307func (s *ListProblemsInput) SetEndTime(v time.Time) *ListProblemsInput {
4308	s.EndTime = &v
4309	return s
4310}
4311
4312// SetMaxResults sets the MaxResults field's value.
4313func (s *ListProblemsInput) SetMaxResults(v int64) *ListProblemsInput {
4314	s.MaxResults = &v
4315	return s
4316}
4317
4318// SetNextToken sets the NextToken field's value.
4319func (s *ListProblemsInput) SetNextToken(v string) *ListProblemsInput {
4320	s.NextToken = &v
4321	return s
4322}
4323
4324// SetResourceGroupName sets the ResourceGroupName field's value.
4325func (s *ListProblemsInput) SetResourceGroupName(v string) *ListProblemsInput {
4326	s.ResourceGroupName = &v
4327	return s
4328}
4329
4330// SetStartTime sets the StartTime field's value.
4331func (s *ListProblemsInput) SetStartTime(v time.Time) *ListProblemsInput {
4332	s.StartTime = &v
4333	return s
4334}
4335
4336type ListProblemsOutput struct {
4337	_ struct{} `type:"structure"`
4338
4339	// The token used to retrieve the next page of results. This value is null when
4340	// there are no more results to return.
4341	NextToken *string `type:"string"`
4342
4343	// The list of problems.
4344	ProblemList []*Problem `type:"list"`
4345}
4346
4347// String returns the string representation
4348func (s ListProblemsOutput) String() string {
4349	return awsutil.Prettify(s)
4350}
4351
4352// GoString returns the string representation
4353func (s ListProblemsOutput) GoString() string {
4354	return s.String()
4355}
4356
4357// SetNextToken sets the NextToken field's value.
4358func (s *ListProblemsOutput) SetNextToken(v string) *ListProblemsOutput {
4359	s.NextToken = &v
4360	return s
4361}
4362
4363// SetProblemList sets the ProblemList field's value.
4364func (s *ListProblemsOutput) SetProblemList(v []*Problem) *ListProblemsOutput {
4365	s.ProblemList = v
4366	return s
4367}
4368
4369type ListTagsForResourceInput struct {
4370	_ struct{} `type:"structure"`
4371
4372	// The Amazon Resource Name (ARN) of the application that you want to retrieve
4373	// tag information for.
4374	//
4375	// ResourceARN is a required field
4376	ResourceARN *string `min:"1" type:"string" required:"true"`
4377}
4378
4379// String returns the string representation
4380func (s ListTagsForResourceInput) String() string {
4381	return awsutil.Prettify(s)
4382}
4383
4384// GoString returns the string representation
4385func (s ListTagsForResourceInput) GoString() string {
4386	return s.String()
4387}
4388
4389// Validate inspects the fields of the type to determine if they are valid.
4390func (s *ListTagsForResourceInput) Validate() error {
4391	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
4392	if s.ResourceARN == nil {
4393		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
4394	}
4395	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
4396		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
4397	}
4398
4399	if invalidParams.Len() > 0 {
4400		return invalidParams
4401	}
4402	return nil
4403}
4404
4405// SetResourceARN sets the ResourceARN field's value.
4406func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
4407	s.ResourceARN = &v
4408	return s
4409}
4410
4411type ListTagsForResourceOutput struct {
4412	_ struct{} `type:"structure"`
4413
4414	// An array that lists all the tags that are associated with the application.
4415	// Each tag consists of a required tag key (Key) and an associated tag value
4416	// (Value).
4417	Tags []*Tag `type:"list"`
4418}
4419
4420// String returns the string representation
4421func (s ListTagsForResourceOutput) String() string {
4422	return awsutil.Prettify(s)
4423}
4424
4425// GoString returns the string representation
4426func (s ListTagsForResourceOutput) GoString() string {
4427	return s.String()
4428}
4429
4430// SetTags sets the Tags field's value.
4431func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
4432	s.Tags = v
4433	return s
4434}
4435
4436// An object that defines the log patterns that belongs to a LogPatternSet.
4437type LogPattern struct {
4438	_ struct{} `type:"structure"`
4439
4440	// A regular expression that defines the log pattern. A log pattern can contains
4441	// at many as 50 characters, and it cannot be empty.
4442	Pattern *string `min:"1" type:"string"`
4443
4444	// The name of the log pattern. A log pattern name can contains at many as 50
4445	// characters, and it cannot be empty. The characters can be Unicode letters,
4446	// digits or one of the following symbols: period, dash, underscore.
4447	PatternName *string `min:"1" type:"string"`
4448
4449	// The name of the log pattern. A log pattern name can contains at many as 30
4450	// characters, and it cannot be empty. The characters can be Unicode letters,
4451	// digits or one of the following symbols: period, dash, underscore.
4452	PatternSetName *string `min:"1" type:"string"`
4453
4454	// Rank of the log pattern.
4455	Rank *int64 `type:"integer"`
4456}
4457
4458// String returns the string representation
4459func (s LogPattern) String() string {
4460	return awsutil.Prettify(s)
4461}
4462
4463// GoString returns the string representation
4464func (s LogPattern) GoString() string {
4465	return s.String()
4466}
4467
4468// SetPattern sets the Pattern field's value.
4469func (s *LogPattern) SetPattern(v string) *LogPattern {
4470	s.Pattern = &v
4471	return s
4472}
4473
4474// SetPatternName sets the PatternName field's value.
4475func (s *LogPattern) SetPatternName(v string) *LogPattern {
4476	s.PatternName = &v
4477	return s
4478}
4479
4480// SetPatternSetName sets the PatternSetName field's value.
4481func (s *LogPattern) SetPatternSetName(v string) *LogPattern {
4482	s.PatternSetName = &v
4483	return s
4484}
4485
4486// SetRank sets the Rank field's value.
4487func (s *LogPattern) SetRank(v int64) *LogPattern {
4488	s.Rank = &v
4489	return s
4490}
4491
4492// Describes an anomaly or error with the application.
4493type Observation struct {
4494	_ struct{} `type:"structure"`
4495
4496	// The time when the observation ended, in epoch seconds.
4497	EndTime *time.Time `type:"timestamp"`
4498
4499	// The ID of the observation type.
4500	Id *string `min:"38" type:"string"`
4501
4502	// The timestamp in the CloudWatch Logs that specifies when the matched line
4503	// occurred.
4504	LineTime *time.Time `type:"timestamp"`
4505
4506	// The log filter of the observation.
4507	LogFilter *string `type:"string" enum:"LogFilter"`
4508
4509	// The log group name.
4510	LogGroup *string `type:"string"`
4511
4512	// The log text of the observation.
4513	LogText *string `type:"string"`
4514
4515	// The name of the observation metric.
4516	MetricName *string `type:"string"`
4517
4518	// The namespace of the observation metric.
4519	MetricNamespace *string `type:"string"`
4520
4521	// The source resource ARN of the observation.
4522	SourceARN *string `type:"string"`
4523
4524	// The source type of the observation.
4525	SourceType *string `type:"string"`
4526
4527	// The time when the observation was first detected, in epoch seconds.
4528	StartTime *time.Time `type:"timestamp"`
4529
4530	// The unit of the source observation metric.
4531	Unit *string `type:"string"`
4532
4533	// The value of the source observation metric.
4534	Value *float64 `type:"double"`
4535}
4536
4537// String returns the string representation
4538func (s Observation) String() string {
4539	return awsutil.Prettify(s)
4540}
4541
4542// GoString returns the string representation
4543func (s Observation) GoString() string {
4544	return s.String()
4545}
4546
4547// SetEndTime sets the EndTime field's value.
4548func (s *Observation) SetEndTime(v time.Time) *Observation {
4549	s.EndTime = &v
4550	return s
4551}
4552
4553// SetId sets the Id field's value.
4554func (s *Observation) SetId(v string) *Observation {
4555	s.Id = &v
4556	return s
4557}
4558
4559// SetLineTime sets the LineTime field's value.
4560func (s *Observation) SetLineTime(v time.Time) *Observation {
4561	s.LineTime = &v
4562	return s
4563}
4564
4565// SetLogFilter sets the LogFilter field's value.
4566func (s *Observation) SetLogFilter(v string) *Observation {
4567	s.LogFilter = &v
4568	return s
4569}
4570
4571// SetLogGroup sets the LogGroup field's value.
4572func (s *Observation) SetLogGroup(v string) *Observation {
4573	s.LogGroup = &v
4574	return s
4575}
4576
4577// SetLogText sets the LogText field's value.
4578func (s *Observation) SetLogText(v string) *Observation {
4579	s.LogText = &v
4580	return s
4581}
4582
4583// SetMetricName sets the MetricName field's value.
4584func (s *Observation) SetMetricName(v string) *Observation {
4585	s.MetricName = &v
4586	return s
4587}
4588
4589// SetMetricNamespace sets the MetricNamespace field's value.
4590func (s *Observation) SetMetricNamespace(v string) *Observation {
4591	s.MetricNamespace = &v
4592	return s
4593}
4594
4595// SetSourceARN sets the SourceARN field's value.
4596func (s *Observation) SetSourceARN(v string) *Observation {
4597	s.SourceARN = &v
4598	return s
4599}
4600
4601// SetSourceType sets the SourceType field's value.
4602func (s *Observation) SetSourceType(v string) *Observation {
4603	s.SourceType = &v
4604	return s
4605}
4606
4607// SetStartTime sets the StartTime field's value.
4608func (s *Observation) SetStartTime(v time.Time) *Observation {
4609	s.StartTime = &v
4610	return s
4611}
4612
4613// SetUnit sets the Unit field's value.
4614func (s *Observation) SetUnit(v string) *Observation {
4615	s.Unit = &v
4616	return s
4617}
4618
4619// SetValue sets the Value field's value.
4620func (s *Observation) SetValue(v float64) *Observation {
4621	s.Value = &v
4622	return s
4623}
4624
4625// Describes a problem that is detected by correlating observations.
4626type Problem struct {
4627	_ struct{} `type:"structure"`
4628
4629	// The resource affected by the problem.
4630	AffectedResource *string `type:"string"`
4631
4632	// The time when the problem ended, in epoch seconds.
4633	EndTime *time.Time `type:"timestamp"`
4634
4635	// Feedback provided by the user about the problem.
4636	Feedback map[string]*string `type:"map"`
4637
4638	// The ID of the problem.
4639	Id *string `min:"38" type:"string"`
4640
4641	// A detailed analysis of the problem using machine learning.
4642	Insights *string `type:"string"`
4643
4644	// The name of the resource group affected by the problem.
4645	ResourceGroupName *string `min:"1" type:"string"`
4646
4647	// A measure of the level of impact of the problem.
4648	SeverityLevel *string `type:"string" enum:"SeverityLevel"`
4649
4650	// The time when the problem started, in epoch seconds.
4651	StartTime *time.Time `type:"timestamp"`
4652
4653	// The status of the problem.
4654	Status *string `type:"string" enum:"Status"`
4655
4656	// The name of the problem.
4657	Title *string `type:"string"`
4658}
4659
4660// String returns the string representation
4661func (s Problem) String() string {
4662	return awsutil.Prettify(s)
4663}
4664
4665// GoString returns the string representation
4666func (s Problem) GoString() string {
4667	return s.String()
4668}
4669
4670// SetAffectedResource sets the AffectedResource field's value.
4671func (s *Problem) SetAffectedResource(v string) *Problem {
4672	s.AffectedResource = &v
4673	return s
4674}
4675
4676// SetEndTime sets the EndTime field's value.
4677func (s *Problem) SetEndTime(v time.Time) *Problem {
4678	s.EndTime = &v
4679	return s
4680}
4681
4682// SetFeedback sets the Feedback field's value.
4683func (s *Problem) SetFeedback(v map[string]*string) *Problem {
4684	s.Feedback = v
4685	return s
4686}
4687
4688// SetId sets the Id field's value.
4689func (s *Problem) SetId(v string) *Problem {
4690	s.Id = &v
4691	return s
4692}
4693
4694// SetInsights sets the Insights field's value.
4695func (s *Problem) SetInsights(v string) *Problem {
4696	s.Insights = &v
4697	return s
4698}
4699
4700// SetResourceGroupName sets the ResourceGroupName field's value.
4701func (s *Problem) SetResourceGroupName(v string) *Problem {
4702	s.ResourceGroupName = &v
4703	return s
4704}
4705
4706// SetSeverityLevel sets the SeverityLevel field's value.
4707func (s *Problem) SetSeverityLevel(v string) *Problem {
4708	s.SeverityLevel = &v
4709	return s
4710}
4711
4712// SetStartTime sets the StartTime field's value.
4713func (s *Problem) SetStartTime(v time.Time) *Problem {
4714	s.StartTime = &v
4715	return s
4716}
4717
4718// SetStatus sets the Status field's value.
4719func (s *Problem) SetStatus(v string) *Problem {
4720	s.Status = &v
4721	return s
4722}
4723
4724// SetTitle sets the Title field's value.
4725func (s *Problem) SetTitle(v string) *Problem {
4726	s.Title = &v
4727	return s
4728}
4729
4730// Describes observations related to the problem.
4731type RelatedObservations struct {
4732	_ struct{} `type:"structure"`
4733
4734	// The list of observations related to the problem.
4735	ObservationList []*Observation `type:"list"`
4736}
4737
4738// String returns the string representation
4739func (s RelatedObservations) String() string {
4740	return awsutil.Prettify(s)
4741}
4742
4743// GoString returns the string representation
4744func (s RelatedObservations) GoString() string {
4745	return s.String()
4746}
4747
4748// SetObservationList sets the ObservationList field's value.
4749func (s *RelatedObservations) SetObservationList(v []*Observation) *RelatedObservations {
4750	s.ObservationList = v
4751	return s
4752}
4753
4754// An object that defines the tags associated with an application. A tag is
4755// a label that you optionally define and associate with an application. Tags
4756// can help you categorize and manage resources in different ways, such as by
4757// purpose, owner, environment, or other criteria.
4758//
4759// Each tag consists of a required tag key and an associated tag value, both
4760// of which you define. A tag key is a general label that acts as a category
4761// for a more specific tag value. A tag value acts as a descriptor within a
4762// tag key. A tag key can contain as many as 128 characters. A tag value can
4763// contain as many as 256 characters. The characters can be Unicode letters,
4764// digits, white space, or one of the following symbols: _ . : / = + -. The
4765// following additional restrictions apply to tags:
4766//
4767//    * Tag keys and values are case sensitive.
4768//
4769//    * For each associated resource, each tag key must be unique and it can
4770//    have only one value.
4771//
4772//    * The aws: prefix is reserved for use by AWS; you can’t use it in any
4773//    tag keys or values that you define. In addition, you can't edit or remove
4774//    tag keys or values that use this prefix.
4775type Tag struct {
4776	_ struct{} `type:"structure"`
4777
4778	// One part of a key-value pair that defines a tag. The maximum length of a
4779	// tag key is 128 characters. The minimum length is 1 character.
4780	//
4781	// Key is a required field
4782	Key *string `min:"1" type:"string" required:"true"`
4783
4784	// The optional part of a key-value pair that defines a tag. The maximum length
4785	// of a tag value is 256 characters. The minimum length is 0 characters. If
4786	// you don't want an application to have a specific tag value, don't specify
4787	// a value for this parameter.
4788	//
4789	// Value is a required field
4790	Value *string `type:"string" required:"true"`
4791}
4792
4793// String returns the string representation
4794func (s Tag) String() string {
4795	return awsutil.Prettify(s)
4796}
4797
4798// GoString returns the string representation
4799func (s Tag) GoString() string {
4800	return s.String()
4801}
4802
4803// Validate inspects the fields of the type to determine if they are valid.
4804func (s *Tag) Validate() error {
4805	invalidParams := request.ErrInvalidParams{Context: "Tag"}
4806	if s.Key == nil {
4807		invalidParams.Add(request.NewErrParamRequired("Key"))
4808	}
4809	if s.Key != nil && len(*s.Key) < 1 {
4810		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
4811	}
4812	if s.Value == nil {
4813		invalidParams.Add(request.NewErrParamRequired("Value"))
4814	}
4815
4816	if invalidParams.Len() > 0 {
4817		return invalidParams
4818	}
4819	return nil
4820}
4821
4822// SetKey sets the Key field's value.
4823func (s *Tag) SetKey(v string) *Tag {
4824	s.Key = &v
4825	return s
4826}
4827
4828// SetValue sets the Value field's value.
4829func (s *Tag) SetValue(v string) *Tag {
4830	s.Value = &v
4831	return s
4832}
4833
4834type TagResourceInput struct {
4835	_ struct{} `type:"structure"`
4836
4837	// The Amazon Resource Name (ARN) of the application that you want to add one
4838	// or more tags to.
4839	//
4840	// ResourceARN is a required field
4841	ResourceARN *string `min:"1" type:"string" required:"true"`
4842
4843	// A list of tags that to add to the application. A tag consists of a required
4844	// tag key (Key) and an associated tag value (Value). The maximum length of
4845	// a tag key is 128 characters. The maximum length of a tag value is 256 characters.
4846	//
4847	// Tags is a required field
4848	Tags []*Tag `type:"list" required:"true"`
4849}
4850
4851// String returns the string representation
4852func (s TagResourceInput) String() string {
4853	return awsutil.Prettify(s)
4854}
4855
4856// GoString returns the string representation
4857func (s TagResourceInput) GoString() string {
4858	return s.String()
4859}
4860
4861// Validate inspects the fields of the type to determine if they are valid.
4862func (s *TagResourceInput) Validate() error {
4863	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
4864	if s.ResourceARN == nil {
4865		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
4866	}
4867	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
4868		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
4869	}
4870	if s.Tags == nil {
4871		invalidParams.Add(request.NewErrParamRequired("Tags"))
4872	}
4873	if s.Tags != nil {
4874		for i, v := range s.Tags {
4875			if v == nil {
4876				continue
4877			}
4878			if err := v.Validate(); err != nil {
4879				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4880			}
4881		}
4882	}
4883
4884	if invalidParams.Len() > 0 {
4885		return invalidParams
4886	}
4887	return nil
4888}
4889
4890// SetResourceARN sets the ResourceARN field's value.
4891func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
4892	s.ResourceARN = &v
4893	return s
4894}
4895
4896// SetTags sets the Tags field's value.
4897func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
4898	s.Tags = v
4899	return s
4900}
4901
4902type TagResourceOutput struct {
4903	_ struct{} `type:"structure"`
4904}
4905
4906// String returns the string representation
4907func (s TagResourceOutput) String() string {
4908	return awsutil.Prettify(s)
4909}
4910
4911// GoString returns the string representation
4912func (s TagResourceOutput) GoString() string {
4913	return s.String()
4914}
4915
4916type UntagResourceInput struct {
4917	_ struct{} `type:"structure"`
4918
4919	// The Amazon Resource Name (ARN) of the application that you want to remove
4920	// one or more tags from.
4921	//
4922	// ResourceARN is a required field
4923	ResourceARN *string `min:"1" type:"string" required:"true"`
4924
4925	// The tags (tag keys) that you want to remove from the resource. When you specify
4926	// a tag key, the action removes both that key and its associated tag value.
4927	//
4928	// To remove more than one tag from the application, append the TagKeys parameter
4929	// and argument for each additional tag to remove, separated by an ampersand.
4930	//
4931	// TagKeys is a required field
4932	TagKeys []*string `type:"list" required:"true"`
4933}
4934
4935// String returns the string representation
4936func (s UntagResourceInput) String() string {
4937	return awsutil.Prettify(s)
4938}
4939
4940// GoString returns the string representation
4941func (s UntagResourceInput) GoString() string {
4942	return s.String()
4943}
4944
4945// Validate inspects the fields of the type to determine if they are valid.
4946func (s *UntagResourceInput) Validate() error {
4947	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
4948	if s.ResourceARN == nil {
4949		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
4950	}
4951	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
4952		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
4953	}
4954	if s.TagKeys == nil {
4955		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
4956	}
4957
4958	if invalidParams.Len() > 0 {
4959		return invalidParams
4960	}
4961	return nil
4962}
4963
4964// SetResourceARN sets the ResourceARN field's value.
4965func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
4966	s.ResourceARN = &v
4967	return s
4968}
4969
4970// SetTagKeys sets the TagKeys field's value.
4971func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
4972	s.TagKeys = v
4973	return s
4974}
4975
4976type UntagResourceOutput struct {
4977	_ struct{} `type:"structure"`
4978}
4979
4980// String returns the string representation
4981func (s UntagResourceOutput) String() string {
4982	return awsutil.Prettify(s)
4983}
4984
4985// GoString returns the string representation
4986func (s UntagResourceOutput) GoString() string {
4987	return s.String()
4988}
4989
4990type UpdateApplicationInput struct {
4991	_ struct{} `type:"structure"`
4992
4993	// When set to true, creates opsItems for any problems detected on an application.
4994	OpsCenterEnabled *bool `type:"boolean"`
4995
4996	// The SNS topic provided to Application Insights that is associated to the
4997	// created opsItem. Allows you to receive notifications for updates to the opsItem.
4998	OpsItemSNSTopicArn *string `min:"20" type:"string"`
4999
5000	// Disassociates the SNS topic from the opsItem created for detected problems.
5001	RemoveSNSTopic *bool `type:"boolean"`
5002
5003	// The name of the resource group.
5004	//
5005	// ResourceGroupName is a required field
5006	ResourceGroupName *string `min:"1" type:"string" required:"true"`
5007}
5008
5009// String returns the string representation
5010func (s UpdateApplicationInput) String() string {
5011	return awsutil.Prettify(s)
5012}
5013
5014// GoString returns the string representation
5015func (s UpdateApplicationInput) GoString() string {
5016	return s.String()
5017}
5018
5019// Validate inspects the fields of the type to determine if they are valid.
5020func (s *UpdateApplicationInput) Validate() error {
5021	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
5022	if s.OpsItemSNSTopicArn != nil && len(*s.OpsItemSNSTopicArn) < 20 {
5023		invalidParams.Add(request.NewErrParamMinLen("OpsItemSNSTopicArn", 20))
5024	}
5025	if s.ResourceGroupName == nil {
5026		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
5027	}
5028	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
5029		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
5030	}
5031
5032	if invalidParams.Len() > 0 {
5033		return invalidParams
5034	}
5035	return nil
5036}
5037
5038// SetOpsCenterEnabled sets the OpsCenterEnabled field's value.
5039func (s *UpdateApplicationInput) SetOpsCenterEnabled(v bool) *UpdateApplicationInput {
5040	s.OpsCenterEnabled = &v
5041	return s
5042}
5043
5044// SetOpsItemSNSTopicArn sets the OpsItemSNSTopicArn field's value.
5045func (s *UpdateApplicationInput) SetOpsItemSNSTopicArn(v string) *UpdateApplicationInput {
5046	s.OpsItemSNSTopicArn = &v
5047	return s
5048}
5049
5050// SetRemoveSNSTopic sets the RemoveSNSTopic field's value.
5051func (s *UpdateApplicationInput) SetRemoveSNSTopic(v bool) *UpdateApplicationInput {
5052	s.RemoveSNSTopic = &v
5053	return s
5054}
5055
5056// SetResourceGroupName sets the ResourceGroupName field's value.
5057func (s *UpdateApplicationInput) SetResourceGroupName(v string) *UpdateApplicationInput {
5058	s.ResourceGroupName = &v
5059	return s
5060}
5061
5062type UpdateApplicationOutput struct {
5063	_ struct{} `type:"structure"`
5064
5065	// Information about the application.
5066	ApplicationInfo *ApplicationInfo `type:"structure"`
5067}
5068
5069// String returns the string representation
5070func (s UpdateApplicationOutput) String() string {
5071	return awsutil.Prettify(s)
5072}
5073
5074// GoString returns the string representation
5075func (s UpdateApplicationOutput) GoString() string {
5076	return s.String()
5077}
5078
5079// SetApplicationInfo sets the ApplicationInfo field's value.
5080func (s *UpdateApplicationOutput) SetApplicationInfo(v *ApplicationInfo) *UpdateApplicationOutput {
5081	s.ApplicationInfo = v
5082	return s
5083}
5084
5085type UpdateComponentConfigurationInput struct {
5086	_ struct{} `type:"structure"`
5087
5088	// The configuration settings of the component. The value is the escaped JSON
5089	// of the configuration. For more information about the JSON format, see Working
5090	// with JSON (https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/working-with-json.html).
5091	// You can send a request to DescribeComponentConfigurationRecommendation to
5092	// see the recommended configuration for a component. For the complete format
5093	// of the component configuration file, see Component Configuration (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/component-config.html).
5094	ComponentConfiguration *string `min:"1" type:"string"`
5095
5096	// The name of the component.
5097	//
5098	// ComponentName is a required field
5099	ComponentName *string `type:"string" required:"true"`
5100
5101	// Indicates whether the application component is monitored.
5102	Monitor *bool `type:"boolean"`
5103
5104	// The name of the resource group.
5105	//
5106	// ResourceGroupName is a required field
5107	ResourceGroupName *string `min:"1" type:"string" required:"true"`
5108
5109	// The tier of the application component. Supported tiers include DOT_NET_WORKER,
5110	// DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT.
5111	Tier *string `min:"1" type:"string" enum:"Tier"`
5112}
5113
5114// String returns the string representation
5115func (s UpdateComponentConfigurationInput) String() string {
5116	return awsutil.Prettify(s)
5117}
5118
5119// GoString returns the string representation
5120func (s UpdateComponentConfigurationInput) GoString() string {
5121	return s.String()
5122}
5123
5124// Validate inspects the fields of the type to determine if they are valid.
5125func (s *UpdateComponentConfigurationInput) Validate() error {
5126	invalidParams := request.ErrInvalidParams{Context: "UpdateComponentConfigurationInput"}
5127	if s.ComponentConfiguration != nil && len(*s.ComponentConfiguration) < 1 {
5128		invalidParams.Add(request.NewErrParamMinLen("ComponentConfiguration", 1))
5129	}
5130	if s.ComponentName == nil {
5131		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
5132	}
5133	if s.ResourceGroupName == nil {
5134		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
5135	}
5136	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
5137		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
5138	}
5139	if s.Tier != nil && len(*s.Tier) < 1 {
5140		invalidParams.Add(request.NewErrParamMinLen("Tier", 1))
5141	}
5142
5143	if invalidParams.Len() > 0 {
5144		return invalidParams
5145	}
5146	return nil
5147}
5148
5149// SetComponentConfiguration sets the ComponentConfiguration field's value.
5150func (s *UpdateComponentConfigurationInput) SetComponentConfiguration(v string) *UpdateComponentConfigurationInput {
5151	s.ComponentConfiguration = &v
5152	return s
5153}
5154
5155// SetComponentName sets the ComponentName field's value.
5156func (s *UpdateComponentConfigurationInput) SetComponentName(v string) *UpdateComponentConfigurationInput {
5157	s.ComponentName = &v
5158	return s
5159}
5160
5161// SetMonitor sets the Monitor field's value.
5162func (s *UpdateComponentConfigurationInput) SetMonitor(v bool) *UpdateComponentConfigurationInput {
5163	s.Monitor = &v
5164	return s
5165}
5166
5167// SetResourceGroupName sets the ResourceGroupName field's value.
5168func (s *UpdateComponentConfigurationInput) SetResourceGroupName(v string) *UpdateComponentConfigurationInput {
5169	s.ResourceGroupName = &v
5170	return s
5171}
5172
5173// SetTier sets the Tier field's value.
5174func (s *UpdateComponentConfigurationInput) SetTier(v string) *UpdateComponentConfigurationInput {
5175	s.Tier = &v
5176	return s
5177}
5178
5179type UpdateComponentConfigurationOutput struct {
5180	_ struct{} `type:"structure"`
5181}
5182
5183// String returns the string representation
5184func (s UpdateComponentConfigurationOutput) String() string {
5185	return awsutil.Prettify(s)
5186}
5187
5188// GoString returns the string representation
5189func (s UpdateComponentConfigurationOutput) GoString() string {
5190	return s.String()
5191}
5192
5193type UpdateComponentInput struct {
5194	_ struct{} `type:"structure"`
5195
5196	// The name of the component.
5197	//
5198	// ComponentName is a required field
5199	ComponentName *string `type:"string" required:"true"`
5200
5201	// The new name of the component.
5202	NewComponentName *string `type:"string"`
5203
5204	// The name of the resource group.
5205	//
5206	// ResourceGroupName is a required field
5207	ResourceGroupName *string `min:"1" type:"string" required:"true"`
5208
5209	// The list of resource ARNs that belong to the component.
5210	ResourceList []*string `type:"list"`
5211}
5212
5213// String returns the string representation
5214func (s UpdateComponentInput) String() string {
5215	return awsutil.Prettify(s)
5216}
5217
5218// GoString returns the string representation
5219func (s UpdateComponentInput) GoString() string {
5220	return s.String()
5221}
5222
5223// Validate inspects the fields of the type to determine if they are valid.
5224func (s *UpdateComponentInput) Validate() error {
5225	invalidParams := request.ErrInvalidParams{Context: "UpdateComponentInput"}
5226	if s.ComponentName == nil {
5227		invalidParams.Add(request.NewErrParamRequired("ComponentName"))
5228	}
5229	if s.ResourceGroupName == nil {
5230		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
5231	}
5232	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
5233		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
5234	}
5235
5236	if invalidParams.Len() > 0 {
5237		return invalidParams
5238	}
5239	return nil
5240}
5241
5242// SetComponentName sets the ComponentName field's value.
5243func (s *UpdateComponentInput) SetComponentName(v string) *UpdateComponentInput {
5244	s.ComponentName = &v
5245	return s
5246}
5247
5248// SetNewComponentName sets the NewComponentName field's value.
5249func (s *UpdateComponentInput) SetNewComponentName(v string) *UpdateComponentInput {
5250	s.NewComponentName = &v
5251	return s
5252}
5253
5254// SetResourceGroupName sets the ResourceGroupName field's value.
5255func (s *UpdateComponentInput) SetResourceGroupName(v string) *UpdateComponentInput {
5256	s.ResourceGroupName = &v
5257	return s
5258}
5259
5260// SetResourceList sets the ResourceList field's value.
5261func (s *UpdateComponentInput) SetResourceList(v []*string) *UpdateComponentInput {
5262	s.ResourceList = v
5263	return s
5264}
5265
5266type UpdateComponentOutput struct {
5267	_ struct{} `type:"structure"`
5268}
5269
5270// String returns the string representation
5271func (s UpdateComponentOutput) String() string {
5272	return awsutil.Prettify(s)
5273}
5274
5275// GoString returns the string representation
5276func (s UpdateComponentOutput) GoString() string {
5277	return s.String()
5278}
5279
5280type UpdateLogPatternInput struct {
5281	_ struct{} `type:"structure"`
5282
5283	// The log pattern.
5284	Pattern *string `min:"1" type:"string"`
5285
5286	// The name of the log pattern.
5287	//
5288	// PatternName is a required field
5289	PatternName *string `min:"1" type:"string" required:"true"`
5290
5291	// The name of the log pattern set.
5292	//
5293	// PatternSetName is a required field
5294	PatternSetName *string `min:"1" type:"string" required:"true"`
5295
5296	// Rank of the log pattern.
5297	Rank *int64 `type:"integer"`
5298
5299	// The name of the resource group.
5300	//
5301	// ResourceGroupName is a required field
5302	ResourceGroupName *string `min:"1" type:"string" required:"true"`
5303}
5304
5305// String returns the string representation
5306func (s UpdateLogPatternInput) String() string {
5307	return awsutil.Prettify(s)
5308}
5309
5310// GoString returns the string representation
5311func (s UpdateLogPatternInput) GoString() string {
5312	return s.String()
5313}
5314
5315// Validate inspects the fields of the type to determine if they are valid.
5316func (s *UpdateLogPatternInput) Validate() error {
5317	invalidParams := request.ErrInvalidParams{Context: "UpdateLogPatternInput"}
5318	if s.Pattern != nil && len(*s.Pattern) < 1 {
5319		invalidParams.Add(request.NewErrParamMinLen("Pattern", 1))
5320	}
5321	if s.PatternName == nil {
5322		invalidParams.Add(request.NewErrParamRequired("PatternName"))
5323	}
5324	if s.PatternName != nil && len(*s.PatternName) < 1 {
5325		invalidParams.Add(request.NewErrParamMinLen("PatternName", 1))
5326	}
5327	if s.PatternSetName == nil {
5328		invalidParams.Add(request.NewErrParamRequired("PatternSetName"))
5329	}
5330	if s.PatternSetName != nil && len(*s.PatternSetName) < 1 {
5331		invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1))
5332	}
5333	if s.ResourceGroupName == nil {
5334		invalidParams.Add(request.NewErrParamRequired("ResourceGroupName"))
5335	}
5336	if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 {
5337		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1))
5338	}
5339
5340	if invalidParams.Len() > 0 {
5341		return invalidParams
5342	}
5343	return nil
5344}
5345
5346// SetPattern sets the Pattern field's value.
5347func (s *UpdateLogPatternInput) SetPattern(v string) *UpdateLogPatternInput {
5348	s.Pattern = &v
5349	return s
5350}
5351
5352// SetPatternName sets the PatternName field's value.
5353func (s *UpdateLogPatternInput) SetPatternName(v string) *UpdateLogPatternInput {
5354	s.PatternName = &v
5355	return s
5356}
5357
5358// SetPatternSetName sets the PatternSetName field's value.
5359func (s *UpdateLogPatternInput) SetPatternSetName(v string) *UpdateLogPatternInput {
5360	s.PatternSetName = &v
5361	return s
5362}
5363
5364// SetRank sets the Rank field's value.
5365func (s *UpdateLogPatternInput) SetRank(v int64) *UpdateLogPatternInput {
5366	s.Rank = &v
5367	return s
5368}
5369
5370// SetResourceGroupName sets the ResourceGroupName field's value.
5371func (s *UpdateLogPatternInput) SetResourceGroupName(v string) *UpdateLogPatternInput {
5372	s.ResourceGroupName = &v
5373	return s
5374}
5375
5376type UpdateLogPatternOutput struct {
5377	_ struct{} `type:"structure"`
5378
5379	// The successfully created log pattern.
5380	LogPattern *LogPattern `type:"structure"`
5381
5382	// The name of the resource group.
5383	ResourceGroupName *string `min:"1" type:"string"`
5384}
5385
5386// String returns the string representation
5387func (s UpdateLogPatternOutput) String() string {
5388	return awsutil.Prettify(s)
5389}
5390
5391// GoString returns the string representation
5392func (s UpdateLogPatternOutput) GoString() string {
5393	return s.String()
5394}
5395
5396// SetLogPattern sets the LogPattern field's value.
5397func (s *UpdateLogPatternOutput) SetLogPattern(v *LogPattern) *UpdateLogPatternOutput {
5398	s.LogPattern = v
5399	return s
5400}
5401
5402// SetResourceGroupName sets the ResourceGroupName field's value.
5403func (s *UpdateLogPatternOutput) SetResourceGroupName(v string) *UpdateLogPatternOutput {
5404	s.ResourceGroupName = &v
5405	return s
5406}
5407
5408const (
5409	// FeedbackKeyInsightsFeedback is a FeedbackKey enum value
5410	FeedbackKeyInsightsFeedback = "INSIGHTS_FEEDBACK"
5411)
5412
5413const (
5414	// FeedbackValueNotSpecified is a FeedbackValue enum value
5415	FeedbackValueNotSpecified = "NOT_SPECIFIED"
5416
5417	// FeedbackValueUseful is a FeedbackValue enum value
5418	FeedbackValueUseful = "USEFUL"
5419
5420	// FeedbackValueNotUseful is a FeedbackValue enum value
5421	FeedbackValueNotUseful = "NOT_USEFUL"
5422)
5423
5424const (
5425	// LogFilterError is a LogFilter enum value
5426	LogFilterError = "ERROR"
5427
5428	// LogFilterWarn is a LogFilter enum value
5429	LogFilterWarn = "WARN"
5430
5431	// LogFilterInfo is a LogFilter enum value
5432	LogFilterInfo = "INFO"
5433)
5434
5435const (
5436	// SeverityLevelLow is a SeverityLevel enum value
5437	SeverityLevelLow = "Low"
5438
5439	// SeverityLevelMedium is a SeverityLevel enum value
5440	SeverityLevelMedium = "Medium"
5441
5442	// SeverityLevelHigh is a SeverityLevel enum value
5443	SeverityLevelHigh = "High"
5444)
5445
5446const (
5447	// StatusIgnore is a Status enum value
5448	StatusIgnore = "IGNORE"
5449
5450	// StatusResolved is a Status enum value
5451	StatusResolved = "RESOLVED"
5452
5453	// StatusPending is a Status enum value
5454	StatusPending = "PENDING"
5455)
5456
5457const (
5458	// TierDefault is a Tier enum value
5459	TierDefault = "DEFAULT"
5460
5461	// TierDotNetCore is a Tier enum value
5462	TierDotNetCore = "DOT_NET_CORE"
5463
5464	// TierDotNetWorker is a Tier enum value
5465	TierDotNetWorker = "DOT_NET_WORKER"
5466
5467	// TierDotNetWeb is a Tier enum value
5468	TierDotNetWeb = "DOT_NET_WEB"
5469
5470	// TierSqlServer is a Tier enum value
5471	TierSqlServer = "SQL_SERVER"
5472)
5473