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