1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package cloudwatchlogs
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
13)
14
15const opAssociateKmsKey = "AssociateKmsKey"
16
17// AssociateKmsKeyRequest generates a "aws/request.Request" representing the
18// client's request for the AssociateKmsKey operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See AssociateKmsKey for more information on using the AssociateKmsKey
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the AssociateKmsKeyRequest method.
33//    req, resp := client.AssociateKmsKeyRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/AssociateKmsKey
41func (c *CloudWatchLogs) AssociateKmsKeyRequest(input *AssociateKmsKeyInput) (req *request.Request, output *AssociateKmsKeyOutput) {
42	op := &request.Operation{
43		Name:       opAssociateKmsKey,
44		HTTPMethod: "POST",
45		HTTPPath:   "/",
46	}
47
48	if input == nil {
49		input = &AssociateKmsKeyInput{}
50	}
51
52	output = &AssociateKmsKeyOutput{}
53	req = c.newRequest(op, input, output)
54	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
55	return
56}
57
58// AssociateKmsKey API operation for Amazon CloudWatch Logs.
59//
60// Associates the specified AWS Key Management Service (AWS KMS) customer master
61// key (CMK) with the specified log group.
62//
63// Associating an AWS KMS CMK with a log group overrides any existing associations
64// between the log group and a CMK. After a CMK is associated with a log group,
65// all newly ingested data for the log group is encrypted using the CMK. This
66// association is stored as long as the data encrypted with the CMK is still
67// within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt
68// this data whenever it is requested.
69//
70// CloudWatch Logs supports only symmetric CMKs. Do not use an associate an
71// asymmetric CMK with your log group. For more information, see Using Symmetric
72// and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html).
73//
74// It can take up to 5 minutes for this operation to take effect.
75//
76// If you attempt to associate a CMK with a log group but the CMK does not exist
77// or the CMK is disabled, you receive an InvalidParameterException error.
78//
79// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
80// with awserr.Error's Code and Message methods to get detailed information about
81// the error.
82//
83// See the AWS API reference guide for Amazon CloudWatch Logs's
84// API operation AssociateKmsKey for usage and error information.
85//
86// Returned Error Types:
87//   * InvalidParameterException
88//   A parameter is specified incorrectly.
89//
90//   * ResourceNotFoundException
91//   The specified resource does not exist.
92//
93//   * OperationAbortedException
94//   Multiple requests to update the same resource were in conflict.
95//
96//   * ServiceUnavailableException
97//   The service cannot complete the request.
98//
99// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/AssociateKmsKey
100func (c *CloudWatchLogs) AssociateKmsKey(input *AssociateKmsKeyInput) (*AssociateKmsKeyOutput, error) {
101	req, out := c.AssociateKmsKeyRequest(input)
102	return out, req.Send()
103}
104
105// AssociateKmsKeyWithContext is the same as AssociateKmsKey with the addition of
106// the ability to pass a context and additional request options.
107//
108// See AssociateKmsKey for details on how to use this API operation.
109//
110// The context must be non-nil and will be used for request cancellation. If
111// the context is nil a panic will occur. In the future the SDK may create
112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
113// for more information on using Contexts.
114func (c *CloudWatchLogs) AssociateKmsKeyWithContext(ctx aws.Context, input *AssociateKmsKeyInput, opts ...request.Option) (*AssociateKmsKeyOutput, error) {
115	req, out := c.AssociateKmsKeyRequest(input)
116	req.SetContext(ctx)
117	req.ApplyOptions(opts...)
118	return out, req.Send()
119}
120
121const opCancelExportTask = "CancelExportTask"
122
123// CancelExportTaskRequest generates a "aws/request.Request" representing the
124// client's request for the CancelExportTask operation. The "output" return
125// value will be populated with the request's response once the request completes
126// successfully.
127//
128// Use "Send" method on the returned Request to send the API call to the service.
129// the "output" return value is not valid until after Send returns without error.
130//
131// See CancelExportTask for more information on using the CancelExportTask
132// API call, and error handling.
133//
134// This method is useful when you want to inject custom logic or configuration
135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
136//
137//
138//    // Example sending a request using the CancelExportTaskRequest method.
139//    req, resp := client.CancelExportTaskRequest(params)
140//
141//    err := req.Send()
142//    if err == nil { // resp is now filled
143//        fmt.Println(resp)
144//    }
145//
146// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CancelExportTask
147func (c *CloudWatchLogs) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
148	op := &request.Operation{
149		Name:       opCancelExportTask,
150		HTTPMethod: "POST",
151		HTTPPath:   "/",
152	}
153
154	if input == nil {
155		input = &CancelExportTaskInput{}
156	}
157
158	output = &CancelExportTaskOutput{}
159	req = c.newRequest(op, input, output)
160	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
161	return
162}
163
164// CancelExportTask API operation for Amazon CloudWatch Logs.
165//
166// Cancels the specified export task.
167//
168// The task must be in the PENDING or RUNNING state.
169//
170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
171// with awserr.Error's Code and Message methods to get detailed information about
172// the error.
173//
174// See the AWS API reference guide for Amazon CloudWatch Logs's
175// API operation CancelExportTask for usage and error information.
176//
177// Returned Error Types:
178//   * InvalidParameterException
179//   A parameter is specified incorrectly.
180//
181//   * ResourceNotFoundException
182//   The specified resource does not exist.
183//
184//   * InvalidOperationException
185//   The operation is not valid on the specified resource.
186//
187//   * ServiceUnavailableException
188//   The service cannot complete the request.
189//
190// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CancelExportTask
191func (c *CloudWatchLogs) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
192	req, out := c.CancelExportTaskRequest(input)
193	return out, req.Send()
194}
195
196// CancelExportTaskWithContext is the same as CancelExportTask with the addition of
197// the ability to pass a context and additional request options.
198//
199// See CancelExportTask for details on how to use this API operation.
200//
201// The context must be non-nil and will be used for request cancellation. If
202// the context is nil a panic will occur. In the future the SDK may create
203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
204// for more information on using Contexts.
205func (c *CloudWatchLogs) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
206	req, out := c.CancelExportTaskRequest(input)
207	req.SetContext(ctx)
208	req.ApplyOptions(opts...)
209	return out, req.Send()
210}
211
212const opCreateExportTask = "CreateExportTask"
213
214// CreateExportTaskRequest generates a "aws/request.Request" representing the
215// client's request for the CreateExportTask operation. The "output" return
216// value will be populated with the request's response once the request completes
217// successfully.
218//
219// Use "Send" method on the returned Request to send the API call to the service.
220// the "output" return value is not valid until after Send returns without error.
221//
222// See CreateExportTask for more information on using the CreateExportTask
223// API call, and error handling.
224//
225// This method is useful when you want to inject custom logic or configuration
226// into the SDK's request lifecycle. Such as custom headers, or retry logic.
227//
228//
229//    // Example sending a request using the CreateExportTaskRequest method.
230//    req, resp := client.CreateExportTaskRequest(params)
231//
232//    err := req.Send()
233//    if err == nil { // resp is now filled
234//        fmt.Println(resp)
235//    }
236//
237// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CreateExportTask
238func (c *CloudWatchLogs) CreateExportTaskRequest(input *CreateExportTaskInput) (req *request.Request, output *CreateExportTaskOutput) {
239	op := &request.Operation{
240		Name:       opCreateExportTask,
241		HTTPMethod: "POST",
242		HTTPPath:   "/",
243	}
244
245	if input == nil {
246		input = &CreateExportTaskInput{}
247	}
248
249	output = &CreateExportTaskOutput{}
250	req = c.newRequest(op, input, output)
251	return
252}
253
254// CreateExportTask API operation for Amazon CloudWatch Logs.
255//
256// Creates an export task, which allows you to efficiently export data from
257// a log group to an Amazon S3 bucket. When you perform a CreateExportTask operation,
258// you must use credentials that have permission to write to the S3 bucket that
259// you specify as the destination.
260//
261// This is an asynchronous call. If all the required information is provided,
262// this operation initiates an export task and responds with the ID of the task.
263// After the task has started, you can use DescribeExportTasks (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeExportTasks.html)
264// to get the status of the export task. Each account can only have one active
265// (RUNNING or PENDING) export task at a time. To cancel an export task, use
266// CancelExportTask (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CancelExportTask.html).
267//
268// You can export logs from multiple log groups or multiple time ranges to the
269// same S3 bucket. To separate out log data for each export task, you can specify
270// a prefix to be used as the Amazon S3 key prefix for all exported objects.
271//
272// Exporting to S3 buckets that are encrypted with AES-256 is supported. Exporting
273// to S3 buckets encrypted with SSE-KMS is not supported.
274//
275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
276// with awserr.Error's Code and Message methods to get detailed information about
277// the error.
278//
279// See the AWS API reference guide for Amazon CloudWatch Logs's
280// API operation CreateExportTask for usage and error information.
281//
282// Returned Error Types:
283//   * InvalidParameterException
284//   A parameter is specified incorrectly.
285//
286//   * LimitExceededException
287//   You have reached the maximum number of resources that can be created.
288//
289//   * OperationAbortedException
290//   Multiple requests to update the same resource were in conflict.
291//
292//   * ServiceUnavailableException
293//   The service cannot complete the request.
294//
295//   * ResourceNotFoundException
296//   The specified resource does not exist.
297//
298//   * ResourceAlreadyExistsException
299//   The specified resource already exists.
300//
301// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CreateExportTask
302func (c *CloudWatchLogs) CreateExportTask(input *CreateExportTaskInput) (*CreateExportTaskOutput, error) {
303	req, out := c.CreateExportTaskRequest(input)
304	return out, req.Send()
305}
306
307// CreateExportTaskWithContext is the same as CreateExportTask with the addition of
308// the ability to pass a context and additional request options.
309//
310// See CreateExportTask for details on how to use this API operation.
311//
312// The context must be non-nil and will be used for request cancellation. If
313// the context is nil a panic will occur. In the future the SDK may create
314// sub-contexts for http.Requests. See https://golang.org/pkg/context/
315// for more information on using Contexts.
316func (c *CloudWatchLogs) CreateExportTaskWithContext(ctx aws.Context, input *CreateExportTaskInput, opts ...request.Option) (*CreateExportTaskOutput, error) {
317	req, out := c.CreateExportTaskRequest(input)
318	req.SetContext(ctx)
319	req.ApplyOptions(opts...)
320	return out, req.Send()
321}
322
323const opCreateLogGroup = "CreateLogGroup"
324
325// CreateLogGroupRequest generates a "aws/request.Request" representing the
326// client's request for the CreateLogGroup operation. The "output" return
327// value will be populated with the request's response once the request completes
328// successfully.
329//
330// Use "Send" method on the returned Request to send the API call to the service.
331// the "output" return value is not valid until after Send returns without error.
332//
333// See CreateLogGroup for more information on using the CreateLogGroup
334// API call, and error handling.
335//
336// This method is useful when you want to inject custom logic or configuration
337// into the SDK's request lifecycle. Such as custom headers, or retry logic.
338//
339//
340//    // Example sending a request using the CreateLogGroupRequest method.
341//    req, resp := client.CreateLogGroupRequest(params)
342//
343//    err := req.Send()
344//    if err == nil { // resp is now filled
345//        fmt.Println(resp)
346//    }
347//
348// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CreateLogGroup
349func (c *CloudWatchLogs) CreateLogGroupRequest(input *CreateLogGroupInput) (req *request.Request, output *CreateLogGroupOutput) {
350	op := &request.Operation{
351		Name:       opCreateLogGroup,
352		HTTPMethod: "POST",
353		HTTPPath:   "/",
354	}
355
356	if input == nil {
357		input = &CreateLogGroupInput{}
358	}
359
360	output = &CreateLogGroupOutput{}
361	req = c.newRequest(op, input, output)
362	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
363	return
364}
365
366// CreateLogGroup API operation for Amazon CloudWatch Logs.
367//
368// Creates a log group with the specified name. You can create up to 20,000
369// log groups per account.
370//
371// You must use the following guidelines when naming a log group:
372//
373//    * Log group names must be unique within a region for an AWS account.
374//
375//    * Log group names can be between 1 and 512 characters long.
376//
377//    * Log group names consist of the following characters: a-z, A-Z, 0-9,
378//    '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and
379//    '#' (number sign)
380//
381// When you create a log group, by default the log events in the log group never
382// expire. To set a retention policy so that events expire and are deleted after
383// a specified time, use PutRetentionPolicy (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutRetentionPolicy.html).
384//
385// If you associate a AWS Key Management Service (AWS KMS) customer master key
386// (CMK) with the log group, ingested data is encrypted using the CMK. This
387// association is stored as long as the data encrypted with the CMK is still
388// within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt
389// this data whenever it is requested.
390//
391// If you attempt to associate a CMK with the log group but the CMK does not
392// exist or the CMK is disabled, you receive an InvalidParameterException error.
393//
394// CloudWatch Logs supports only symmetric CMKs. Do not associate an asymmetric
395// CMK with your log group. For more information, see Using Symmetric and Asymmetric
396// Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html).
397//
398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
399// with awserr.Error's Code and Message methods to get detailed information about
400// the error.
401//
402// See the AWS API reference guide for Amazon CloudWatch Logs's
403// API operation CreateLogGroup for usage and error information.
404//
405// Returned Error Types:
406//   * InvalidParameterException
407//   A parameter is specified incorrectly.
408//
409//   * ResourceAlreadyExistsException
410//   The specified resource already exists.
411//
412//   * LimitExceededException
413//   You have reached the maximum number of resources that can be created.
414//
415//   * OperationAbortedException
416//   Multiple requests to update the same resource were in conflict.
417//
418//   * ServiceUnavailableException
419//   The service cannot complete the request.
420//
421// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CreateLogGroup
422func (c *CloudWatchLogs) CreateLogGroup(input *CreateLogGroupInput) (*CreateLogGroupOutput, error) {
423	req, out := c.CreateLogGroupRequest(input)
424	return out, req.Send()
425}
426
427// CreateLogGroupWithContext is the same as CreateLogGroup with the addition of
428// the ability to pass a context and additional request options.
429//
430// See CreateLogGroup for details on how to use this API operation.
431//
432// The context must be non-nil and will be used for request cancellation. If
433// the context is nil a panic will occur. In the future the SDK may create
434// sub-contexts for http.Requests. See https://golang.org/pkg/context/
435// for more information on using Contexts.
436func (c *CloudWatchLogs) CreateLogGroupWithContext(ctx aws.Context, input *CreateLogGroupInput, opts ...request.Option) (*CreateLogGroupOutput, error) {
437	req, out := c.CreateLogGroupRequest(input)
438	req.SetContext(ctx)
439	req.ApplyOptions(opts...)
440	return out, req.Send()
441}
442
443const opCreateLogStream = "CreateLogStream"
444
445// CreateLogStreamRequest generates a "aws/request.Request" representing the
446// client's request for the CreateLogStream operation. The "output" return
447// value will be populated with the request's response once the request completes
448// successfully.
449//
450// Use "Send" method on the returned Request to send the API call to the service.
451// the "output" return value is not valid until after Send returns without error.
452//
453// See CreateLogStream for more information on using the CreateLogStream
454// API call, and error handling.
455//
456// This method is useful when you want to inject custom logic or configuration
457// into the SDK's request lifecycle. Such as custom headers, or retry logic.
458//
459//
460//    // Example sending a request using the CreateLogStreamRequest method.
461//    req, resp := client.CreateLogStreamRequest(params)
462//
463//    err := req.Send()
464//    if err == nil { // resp is now filled
465//        fmt.Println(resp)
466//    }
467//
468// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CreateLogStream
469func (c *CloudWatchLogs) CreateLogStreamRequest(input *CreateLogStreamInput) (req *request.Request, output *CreateLogStreamOutput) {
470	op := &request.Operation{
471		Name:       opCreateLogStream,
472		HTTPMethod: "POST",
473		HTTPPath:   "/",
474	}
475
476	if input == nil {
477		input = &CreateLogStreamInput{}
478	}
479
480	output = &CreateLogStreamOutput{}
481	req = c.newRequest(op, input, output)
482	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
483	return
484}
485
486// CreateLogStream API operation for Amazon CloudWatch Logs.
487//
488// Creates a log stream for the specified log group. A log stream is a sequence
489// of log events that originate from a single source, such as an application
490// instance or a resource that is being monitored.
491//
492// There is no limit on the number of log streams that you can create for a
493// log group. There is a limit of 50 TPS on CreateLogStream operations, after
494// which transactions are throttled.
495//
496// You must use the following guidelines when naming a log stream:
497//
498//    * Log stream names must be unique within the log group.
499//
500//    * Log stream names can be between 1 and 512 characters long.
501//
502//    * The ':' (colon) and '*' (asterisk) characters are not allowed.
503//
504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
505// with awserr.Error's Code and Message methods to get detailed information about
506// the error.
507//
508// See the AWS API reference guide for Amazon CloudWatch Logs's
509// API operation CreateLogStream for usage and error information.
510//
511// Returned Error Types:
512//   * InvalidParameterException
513//   A parameter is specified incorrectly.
514//
515//   * ResourceAlreadyExistsException
516//   The specified resource already exists.
517//
518//   * ResourceNotFoundException
519//   The specified resource does not exist.
520//
521//   * ServiceUnavailableException
522//   The service cannot complete the request.
523//
524// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CreateLogStream
525func (c *CloudWatchLogs) CreateLogStream(input *CreateLogStreamInput) (*CreateLogStreamOutput, error) {
526	req, out := c.CreateLogStreamRequest(input)
527	return out, req.Send()
528}
529
530// CreateLogStreamWithContext is the same as CreateLogStream with the addition of
531// the ability to pass a context and additional request options.
532//
533// See CreateLogStream for details on how to use this API operation.
534//
535// The context must be non-nil and will be used for request cancellation. If
536// the context is nil a panic will occur. In the future the SDK may create
537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
538// for more information on using Contexts.
539func (c *CloudWatchLogs) CreateLogStreamWithContext(ctx aws.Context, input *CreateLogStreamInput, opts ...request.Option) (*CreateLogStreamOutput, error) {
540	req, out := c.CreateLogStreamRequest(input)
541	req.SetContext(ctx)
542	req.ApplyOptions(opts...)
543	return out, req.Send()
544}
545
546const opDeleteDestination = "DeleteDestination"
547
548// DeleteDestinationRequest generates a "aws/request.Request" representing the
549// client's request for the DeleteDestination operation. The "output" return
550// value will be populated with the request's response once the request completes
551// successfully.
552//
553// Use "Send" method on the returned Request to send the API call to the service.
554// the "output" return value is not valid until after Send returns without error.
555//
556// See DeleteDestination for more information on using the DeleteDestination
557// API call, and error handling.
558//
559// This method is useful when you want to inject custom logic or configuration
560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
561//
562//
563//    // Example sending a request using the DeleteDestinationRequest method.
564//    req, resp := client.DeleteDestinationRequest(params)
565//
566//    err := req.Send()
567//    if err == nil { // resp is now filled
568//        fmt.Println(resp)
569//    }
570//
571// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteDestination
572func (c *CloudWatchLogs) DeleteDestinationRequest(input *DeleteDestinationInput) (req *request.Request, output *DeleteDestinationOutput) {
573	op := &request.Operation{
574		Name:       opDeleteDestination,
575		HTTPMethod: "POST",
576		HTTPPath:   "/",
577	}
578
579	if input == nil {
580		input = &DeleteDestinationInput{}
581	}
582
583	output = &DeleteDestinationOutput{}
584	req = c.newRequest(op, input, output)
585	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
586	return
587}
588
589// DeleteDestination API operation for Amazon CloudWatch Logs.
590//
591// Deletes the specified destination, and eventually disables all the subscription
592// filters that publish to it. This operation does not delete the physical resource
593// encapsulated by the destination.
594//
595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
596// with awserr.Error's Code and Message methods to get detailed information about
597// the error.
598//
599// See the AWS API reference guide for Amazon CloudWatch Logs's
600// API operation DeleteDestination for usage and error information.
601//
602// Returned Error Types:
603//   * InvalidParameterException
604//   A parameter is specified incorrectly.
605//
606//   * ResourceNotFoundException
607//   The specified resource does not exist.
608//
609//   * OperationAbortedException
610//   Multiple requests to update the same resource were in conflict.
611//
612//   * ServiceUnavailableException
613//   The service cannot complete the request.
614//
615// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteDestination
616func (c *CloudWatchLogs) DeleteDestination(input *DeleteDestinationInput) (*DeleteDestinationOutput, error) {
617	req, out := c.DeleteDestinationRequest(input)
618	return out, req.Send()
619}
620
621// DeleteDestinationWithContext is the same as DeleteDestination with the addition of
622// the ability to pass a context and additional request options.
623//
624// See DeleteDestination for details on how to use this API operation.
625//
626// The context must be non-nil and will be used for request cancellation. If
627// the context is nil a panic will occur. In the future the SDK may create
628// sub-contexts for http.Requests. See https://golang.org/pkg/context/
629// for more information on using Contexts.
630func (c *CloudWatchLogs) DeleteDestinationWithContext(ctx aws.Context, input *DeleteDestinationInput, opts ...request.Option) (*DeleteDestinationOutput, error) {
631	req, out := c.DeleteDestinationRequest(input)
632	req.SetContext(ctx)
633	req.ApplyOptions(opts...)
634	return out, req.Send()
635}
636
637const opDeleteLogGroup = "DeleteLogGroup"
638
639// DeleteLogGroupRequest generates a "aws/request.Request" representing the
640// client's request for the DeleteLogGroup operation. The "output" return
641// value will be populated with the request's response once the request completes
642// successfully.
643//
644// Use "Send" method on the returned Request to send the API call to the service.
645// the "output" return value is not valid until after Send returns without error.
646//
647// See DeleteLogGroup for more information on using the DeleteLogGroup
648// API call, and error handling.
649//
650// This method is useful when you want to inject custom logic or configuration
651// into the SDK's request lifecycle. Such as custom headers, or retry logic.
652//
653//
654//    // Example sending a request using the DeleteLogGroupRequest method.
655//    req, resp := client.DeleteLogGroupRequest(params)
656//
657//    err := req.Send()
658//    if err == nil { // resp is now filled
659//        fmt.Println(resp)
660//    }
661//
662// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteLogGroup
663func (c *CloudWatchLogs) DeleteLogGroupRequest(input *DeleteLogGroupInput) (req *request.Request, output *DeleteLogGroupOutput) {
664	op := &request.Operation{
665		Name:       opDeleteLogGroup,
666		HTTPMethod: "POST",
667		HTTPPath:   "/",
668	}
669
670	if input == nil {
671		input = &DeleteLogGroupInput{}
672	}
673
674	output = &DeleteLogGroupOutput{}
675	req = c.newRequest(op, input, output)
676	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
677	return
678}
679
680// DeleteLogGroup API operation for Amazon CloudWatch Logs.
681//
682// Deletes the specified log group and permanently deletes all the archived
683// log events associated with the log group.
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 Logs's
690// API operation DeleteLogGroup for usage and error information.
691//
692// Returned Error Types:
693//   * InvalidParameterException
694//   A parameter is specified incorrectly.
695//
696//   * ResourceNotFoundException
697//   The specified resource does not exist.
698//
699//   * OperationAbortedException
700//   Multiple requests to update the same resource were in conflict.
701//
702//   * ServiceUnavailableException
703//   The service cannot complete the request.
704//
705// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteLogGroup
706func (c *CloudWatchLogs) DeleteLogGroup(input *DeleteLogGroupInput) (*DeleteLogGroupOutput, error) {
707	req, out := c.DeleteLogGroupRequest(input)
708	return out, req.Send()
709}
710
711// DeleteLogGroupWithContext is the same as DeleteLogGroup with the addition of
712// the ability to pass a context and additional request options.
713//
714// See DeleteLogGroup for details on how to use this API operation.
715//
716// The context must be non-nil and will be used for request cancellation. If
717// the context is nil a panic will occur. In the future the SDK may create
718// sub-contexts for http.Requests. See https://golang.org/pkg/context/
719// for more information on using Contexts.
720func (c *CloudWatchLogs) DeleteLogGroupWithContext(ctx aws.Context, input *DeleteLogGroupInput, opts ...request.Option) (*DeleteLogGroupOutput, error) {
721	req, out := c.DeleteLogGroupRequest(input)
722	req.SetContext(ctx)
723	req.ApplyOptions(opts...)
724	return out, req.Send()
725}
726
727const opDeleteLogStream = "DeleteLogStream"
728
729// DeleteLogStreamRequest generates a "aws/request.Request" representing the
730// client's request for the DeleteLogStream operation. The "output" return
731// value will be populated with the request's response once the request completes
732// successfully.
733//
734// Use "Send" method on the returned Request to send the API call to the service.
735// the "output" return value is not valid until after Send returns without error.
736//
737// See DeleteLogStream for more information on using the DeleteLogStream
738// API call, and error handling.
739//
740// This method is useful when you want to inject custom logic or configuration
741// into the SDK's request lifecycle. Such as custom headers, or retry logic.
742//
743//
744//    // Example sending a request using the DeleteLogStreamRequest method.
745//    req, resp := client.DeleteLogStreamRequest(params)
746//
747//    err := req.Send()
748//    if err == nil { // resp is now filled
749//        fmt.Println(resp)
750//    }
751//
752// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteLogStream
753func (c *CloudWatchLogs) DeleteLogStreamRequest(input *DeleteLogStreamInput) (req *request.Request, output *DeleteLogStreamOutput) {
754	op := &request.Operation{
755		Name:       opDeleteLogStream,
756		HTTPMethod: "POST",
757		HTTPPath:   "/",
758	}
759
760	if input == nil {
761		input = &DeleteLogStreamInput{}
762	}
763
764	output = &DeleteLogStreamOutput{}
765	req = c.newRequest(op, input, output)
766	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
767	return
768}
769
770// DeleteLogStream API operation for Amazon CloudWatch Logs.
771//
772// Deletes the specified log stream and permanently deletes all the archived
773// log events associated with the log stream.
774//
775// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
776// with awserr.Error's Code and Message methods to get detailed information about
777// the error.
778//
779// See the AWS API reference guide for Amazon CloudWatch Logs's
780// API operation DeleteLogStream for usage and error information.
781//
782// Returned Error Types:
783//   * InvalidParameterException
784//   A parameter is specified incorrectly.
785//
786//   * ResourceNotFoundException
787//   The specified resource does not exist.
788//
789//   * OperationAbortedException
790//   Multiple requests to update the same resource were in conflict.
791//
792//   * ServiceUnavailableException
793//   The service cannot complete the request.
794//
795// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteLogStream
796func (c *CloudWatchLogs) DeleteLogStream(input *DeleteLogStreamInput) (*DeleteLogStreamOutput, error) {
797	req, out := c.DeleteLogStreamRequest(input)
798	return out, req.Send()
799}
800
801// DeleteLogStreamWithContext is the same as DeleteLogStream with the addition of
802// the ability to pass a context and additional request options.
803//
804// See DeleteLogStream for details on how to use this API operation.
805//
806// The context must be non-nil and will be used for request cancellation. If
807// the context is nil a panic will occur. In the future the SDK may create
808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
809// for more information on using Contexts.
810func (c *CloudWatchLogs) DeleteLogStreamWithContext(ctx aws.Context, input *DeleteLogStreamInput, opts ...request.Option) (*DeleteLogStreamOutput, error) {
811	req, out := c.DeleteLogStreamRequest(input)
812	req.SetContext(ctx)
813	req.ApplyOptions(opts...)
814	return out, req.Send()
815}
816
817const opDeleteMetricFilter = "DeleteMetricFilter"
818
819// DeleteMetricFilterRequest generates a "aws/request.Request" representing the
820// client's request for the DeleteMetricFilter operation. The "output" return
821// value will be populated with the request's response once the request completes
822// successfully.
823//
824// Use "Send" method on the returned Request to send the API call to the service.
825// the "output" return value is not valid until after Send returns without error.
826//
827// See DeleteMetricFilter for more information on using the DeleteMetricFilter
828// API call, and error handling.
829//
830// This method is useful when you want to inject custom logic or configuration
831// into the SDK's request lifecycle. Such as custom headers, or retry logic.
832//
833//
834//    // Example sending a request using the DeleteMetricFilterRequest method.
835//    req, resp := client.DeleteMetricFilterRequest(params)
836//
837//    err := req.Send()
838//    if err == nil { // resp is now filled
839//        fmt.Println(resp)
840//    }
841//
842// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteMetricFilter
843func (c *CloudWatchLogs) DeleteMetricFilterRequest(input *DeleteMetricFilterInput) (req *request.Request, output *DeleteMetricFilterOutput) {
844	op := &request.Operation{
845		Name:       opDeleteMetricFilter,
846		HTTPMethod: "POST",
847		HTTPPath:   "/",
848	}
849
850	if input == nil {
851		input = &DeleteMetricFilterInput{}
852	}
853
854	output = &DeleteMetricFilterOutput{}
855	req = c.newRequest(op, input, output)
856	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
857	return
858}
859
860// DeleteMetricFilter API operation for Amazon CloudWatch Logs.
861//
862// Deletes the specified metric filter.
863//
864// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
865// with awserr.Error's Code and Message methods to get detailed information about
866// the error.
867//
868// See the AWS API reference guide for Amazon CloudWatch Logs's
869// API operation DeleteMetricFilter for usage and error information.
870//
871// Returned Error Types:
872//   * InvalidParameterException
873//   A parameter is specified incorrectly.
874//
875//   * ResourceNotFoundException
876//   The specified resource does not exist.
877//
878//   * OperationAbortedException
879//   Multiple requests to update the same resource were in conflict.
880//
881//   * ServiceUnavailableException
882//   The service cannot complete the request.
883//
884// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteMetricFilter
885func (c *CloudWatchLogs) DeleteMetricFilter(input *DeleteMetricFilterInput) (*DeleteMetricFilterOutput, error) {
886	req, out := c.DeleteMetricFilterRequest(input)
887	return out, req.Send()
888}
889
890// DeleteMetricFilterWithContext is the same as DeleteMetricFilter with the addition of
891// the ability to pass a context and additional request options.
892//
893// See DeleteMetricFilter for details on how to use this API operation.
894//
895// The context must be non-nil and will be used for request cancellation. If
896// the context is nil a panic will occur. In the future the SDK may create
897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
898// for more information on using Contexts.
899func (c *CloudWatchLogs) DeleteMetricFilterWithContext(ctx aws.Context, input *DeleteMetricFilterInput, opts ...request.Option) (*DeleteMetricFilterOutput, error) {
900	req, out := c.DeleteMetricFilterRequest(input)
901	req.SetContext(ctx)
902	req.ApplyOptions(opts...)
903	return out, req.Send()
904}
905
906const opDeleteQueryDefinition = "DeleteQueryDefinition"
907
908// DeleteQueryDefinitionRequest generates a "aws/request.Request" representing the
909// client's request for the DeleteQueryDefinition operation. The "output" return
910// value will be populated with the request's response once the request completes
911// successfully.
912//
913// Use "Send" method on the returned Request to send the API call to the service.
914// the "output" return value is not valid until after Send returns without error.
915//
916// See DeleteQueryDefinition for more information on using the DeleteQueryDefinition
917// API call, and error handling.
918//
919// This method is useful when you want to inject custom logic or configuration
920// into the SDK's request lifecycle. Such as custom headers, or retry logic.
921//
922//
923//    // Example sending a request using the DeleteQueryDefinitionRequest method.
924//    req, resp := client.DeleteQueryDefinitionRequest(params)
925//
926//    err := req.Send()
927//    if err == nil { // resp is now filled
928//        fmt.Println(resp)
929//    }
930//
931// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteQueryDefinition
932func (c *CloudWatchLogs) DeleteQueryDefinitionRequest(input *DeleteQueryDefinitionInput) (req *request.Request, output *DeleteQueryDefinitionOutput) {
933	op := &request.Operation{
934		Name:       opDeleteQueryDefinition,
935		HTTPMethod: "POST",
936		HTTPPath:   "/",
937	}
938
939	if input == nil {
940		input = &DeleteQueryDefinitionInput{}
941	}
942
943	output = &DeleteQueryDefinitionOutput{}
944	req = c.newRequest(op, input, output)
945	return
946}
947
948// DeleteQueryDefinition API operation for Amazon CloudWatch Logs.
949//
950// Deletes a saved CloudWatch Logs Insights query definition. A query definition
951// contains details about a saved CloudWatch Logs Insights query.
952//
953// Each DeleteQueryDefinition operation can delete one query definition.
954//
955// You must have the logs:DeleteQueryDefinition permission to be able to perform
956// this operation.
957//
958// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
959// with awserr.Error's Code and Message methods to get detailed information about
960// the error.
961//
962// See the AWS API reference guide for Amazon CloudWatch Logs's
963// API operation DeleteQueryDefinition for usage and error information.
964//
965// Returned Error Types:
966//   * InvalidParameterException
967//   A parameter is specified incorrectly.
968//
969//   * ResourceNotFoundException
970//   The specified resource does not exist.
971//
972//   * ServiceUnavailableException
973//   The service cannot complete the request.
974//
975// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteQueryDefinition
976func (c *CloudWatchLogs) DeleteQueryDefinition(input *DeleteQueryDefinitionInput) (*DeleteQueryDefinitionOutput, error) {
977	req, out := c.DeleteQueryDefinitionRequest(input)
978	return out, req.Send()
979}
980
981// DeleteQueryDefinitionWithContext is the same as DeleteQueryDefinition with the addition of
982// the ability to pass a context and additional request options.
983//
984// See DeleteQueryDefinition for details on how to use this API operation.
985//
986// The context must be non-nil and will be used for request cancellation. If
987// the context is nil a panic will occur. In the future the SDK may create
988// sub-contexts for http.Requests. See https://golang.org/pkg/context/
989// for more information on using Contexts.
990func (c *CloudWatchLogs) DeleteQueryDefinitionWithContext(ctx aws.Context, input *DeleteQueryDefinitionInput, opts ...request.Option) (*DeleteQueryDefinitionOutput, error) {
991	req, out := c.DeleteQueryDefinitionRequest(input)
992	req.SetContext(ctx)
993	req.ApplyOptions(opts...)
994	return out, req.Send()
995}
996
997const opDeleteResourcePolicy = "DeleteResourcePolicy"
998
999// DeleteResourcePolicyRequest generates a "aws/request.Request" representing the
1000// client's request for the DeleteResourcePolicy operation. The "output" return
1001// value will be populated with the request's response once the request completes
1002// successfully.
1003//
1004// Use "Send" method on the returned Request to send the API call to the service.
1005// the "output" return value is not valid until after Send returns without error.
1006//
1007// See DeleteResourcePolicy for more information on using the DeleteResourcePolicy
1008// API call, and error handling.
1009//
1010// This method is useful when you want to inject custom logic or configuration
1011// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1012//
1013//
1014//    // Example sending a request using the DeleteResourcePolicyRequest method.
1015//    req, resp := client.DeleteResourcePolicyRequest(params)
1016//
1017//    err := req.Send()
1018//    if err == nil { // resp is now filled
1019//        fmt.Println(resp)
1020//    }
1021//
1022// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteResourcePolicy
1023func (c *CloudWatchLogs) DeleteResourcePolicyRequest(input *DeleteResourcePolicyInput) (req *request.Request, output *DeleteResourcePolicyOutput) {
1024	op := &request.Operation{
1025		Name:       opDeleteResourcePolicy,
1026		HTTPMethod: "POST",
1027		HTTPPath:   "/",
1028	}
1029
1030	if input == nil {
1031		input = &DeleteResourcePolicyInput{}
1032	}
1033
1034	output = &DeleteResourcePolicyOutput{}
1035	req = c.newRequest(op, input, output)
1036	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1037	return
1038}
1039
1040// DeleteResourcePolicy API operation for Amazon CloudWatch Logs.
1041//
1042// Deletes a resource policy from this account. This revokes the access of the
1043// identities in that policy to put log events to this account.
1044//
1045// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1046// with awserr.Error's Code and Message methods to get detailed information about
1047// the error.
1048//
1049// See the AWS API reference guide for Amazon CloudWatch Logs's
1050// API operation DeleteResourcePolicy for usage and error information.
1051//
1052// Returned Error Types:
1053//   * InvalidParameterException
1054//   A parameter is specified incorrectly.
1055//
1056//   * ResourceNotFoundException
1057//   The specified resource does not exist.
1058//
1059//   * ServiceUnavailableException
1060//   The service cannot complete the request.
1061//
1062// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteResourcePolicy
1063func (c *CloudWatchLogs) DeleteResourcePolicy(input *DeleteResourcePolicyInput) (*DeleteResourcePolicyOutput, error) {
1064	req, out := c.DeleteResourcePolicyRequest(input)
1065	return out, req.Send()
1066}
1067
1068// DeleteResourcePolicyWithContext is the same as DeleteResourcePolicy with the addition of
1069// the ability to pass a context and additional request options.
1070//
1071// See DeleteResourcePolicy for details on how to use this API operation.
1072//
1073// The context must be non-nil and will be used for request cancellation. If
1074// the context is nil a panic will occur. In the future the SDK may create
1075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1076// for more information on using Contexts.
1077func (c *CloudWatchLogs) DeleteResourcePolicyWithContext(ctx aws.Context, input *DeleteResourcePolicyInput, opts ...request.Option) (*DeleteResourcePolicyOutput, error) {
1078	req, out := c.DeleteResourcePolicyRequest(input)
1079	req.SetContext(ctx)
1080	req.ApplyOptions(opts...)
1081	return out, req.Send()
1082}
1083
1084const opDeleteRetentionPolicy = "DeleteRetentionPolicy"
1085
1086// DeleteRetentionPolicyRequest generates a "aws/request.Request" representing the
1087// client's request for the DeleteRetentionPolicy operation. The "output" return
1088// value will be populated with the request's response once the request completes
1089// successfully.
1090//
1091// Use "Send" method on the returned Request to send the API call to the service.
1092// the "output" return value is not valid until after Send returns without error.
1093//
1094// See DeleteRetentionPolicy for more information on using the DeleteRetentionPolicy
1095// API call, and error handling.
1096//
1097// This method is useful when you want to inject custom logic or configuration
1098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1099//
1100//
1101//    // Example sending a request using the DeleteRetentionPolicyRequest method.
1102//    req, resp := client.DeleteRetentionPolicyRequest(params)
1103//
1104//    err := req.Send()
1105//    if err == nil { // resp is now filled
1106//        fmt.Println(resp)
1107//    }
1108//
1109// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteRetentionPolicy
1110func (c *CloudWatchLogs) DeleteRetentionPolicyRequest(input *DeleteRetentionPolicyInput) (req *request.Request, output *DeleteRetentionPolicyOutput) {
1111	op := &request.Operation{
1112		Name:       opDeleteRetentionPolicy,
1113		HTTPMethod: "POST",
1114		HTTPPath:   "/",
1115	}
1116
1117	if input == nil {
1118		input = &DeleteRetentionPolicyInput{}
1119	}
1120
1121	output = &DeleteRetentionPolicyOutput{}
1122	req = c.newRequest(op, input, output)
1123	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1124	return
1125}
1126
1127// DeleteRetentionPolicy API operation for Amazon CloudWatch Logs.
1128//
1129// Deletes the specified retention policy.
1130//
1131// Log events do not expire if they belong to log groups without a retention
1132// policy.
1133//
1134// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1135// with awserr.Error's Code and Message methods to get detailed information about
1136// the error.
1137//
1138// See the AWS API reference guide for Amazon CloudWatch Logs's
1139// API operation DeleteRetentionPolicy for usage and error information.
1140//
1141// Returned Error Types:
1142//   * InvalidParameterException
1143//   A parameter is specified incorrectly.
1144//
1145//   * ResourceNotFoundException
1146//   The specified resource does not exist.
1147//
1148//   * OperationAbortedException
1149//   Multiple requests to update the same resource were in conflict.
1150//
1151//   * ServiceUnavailableException
1152//   The service cannot complete the request.
1153//
1154// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteRetentionPolicy
1155func (c *CloudWatchLogs) DeleteRetentionPolicy(input *DeleteRetentionPolicyInput) (*DeleteRetentionPolicyOutput, error) {
1156	req, out := c.DeleteRetentionPolicyRequest(input)
1157	return out, req.Send()
1158}
1159
1160// DeleteRetentionPolicyWithContext is the same as DeleteRetentionPolicy with the addition of
1161// the ability to pass a context and additional request options.
1162//
1163// See DeleteRetentionPolicy for details on how to use this API operation.
1164//
1165// The context must be non-nil and will be used for request cancellation. If
1166// the context is nil a panic will occur. In the future the SDK may create
1167// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1168// for more information on using Contexts.
1169func (c *CloudWatchLogs) DeleteRetentionPolicyWithContext(ctx aws.Context, input *DeleteRetentionPolicyInput, opts ...request.Option) (*DeleteRetentionPolicyOutput, error) {
1170	req, out := c.DeleteRetentionPolicyRequest(input)
1171	req.SetContext(ctx)
1172	req.ApplyOptions(opts...)
1173	return out, req.Send()
1174}
1175
1176const opDeleteSubscriptionFilter = "DeleteSubscriptionFilter"
1177
1178// DeleteSubscriptionFilterRequest generates a "aws/request.Request" representing the
1179// client's request for the DeleteSubscriptionFilter operation. The "output" return
1180// value will be populated with the request's response once the request completes
1181// successfully.
1182//
1183// Use "Send" method on the returned Request to send the API call to the service.
1184// the "output" return value is not valid until after Send returns without error.
1185//
1186// See DeleteSubscriptionFilter for more information on using the DeleteSubscriptionFilter
1187// API call, and error handling.
1188//
1189// This method is useful when you want to inject custom logic or configuration
1190// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1191//
1192//
1193//    // Example sending a request using the DeleteSubscriptionFilterRequest method.
1194//    req, resp := client.DeleteSubscriptionFilterRequest(params)
1195//
1196//    err := req.Send()
1197//    if err == nil { // resp is now filled
1198//        fmt.Println(resp)
1199//    }
1200//
1201// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteSubscriptionFilter
1202func (c *CloudWatchLogs) DeleteSubscriptionFilterRequest(input *DeleteSubscriptionFilterInput) (req *request.Request, output *DeleteSubscriptionFilterOutput) {
1203	op := &request.Operation{
1204		Name:       opDeleteSubscriptionFilter,
1205		HTTPMethod: "POST",
1206		HTTPPath:   "/",
1207	}
1208
1209	if input == nil {
1210		input = &DeleteSubscriptionFilterInput{}
1211	}
1212
1213	output = &DeleteSubscriptionFilterOutput{}
1214	req = c.newRequest(op, input, output)
1215	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1216	return
1217}
1218
1219// DeleteSubscriptionFilter API operation for Amazon CloudWatch Logs.
1220//
1221// Deletes the specified subscription filter.
1222//
1223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1224// with awserr.Error's Code and Message methods to get detailed information about
1225// the error.
1226//
1227// See the AWS API reference guide for Amazon CloudWatch Logs's
1228// API operation DeleteSubscriptionFilter for usage and error information.
1229//
1230// Returned Error Types:
1231//   * InvalidParameterException
1232//   A parameter is specified incorrectly.
1233//
1234//   * ResourceNotFoundException
1235//   The specified resource does not exist.
1236//
1237//   * OperationAbortedException
1238//   Multiple requests to update the same resource were in conflict.
1239//
1240//   * ServiceUnavailableException
1241//   The service cannot complete the request.
1242//
1243// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteSubscriptionFilter
1244func (c *CloudWatchLogs) DeleteSubscriptionFilter(input *DeleteSubscriptionFilterInput) (*DeleteSubscriptionFilterOutput, error) {
1245	req, out := c.DeleteSubscriptionFilterRequest(input)
1246	return out, req.Send()
1247}
1248
1249// DeleteSubscriptionFilterWithContext is the same as DeleteSubscriptionFilter with the addition of
1250// the ability to pass a context and additional request options.
1251//
1252// See DeleteSubscriptionFilter for details on how to use this API operation.
1253//
1254// The context must be non-nil and will be used for request cancellation. If
1255// the context is nil a panic will occur. In the future the SDK may create
1256// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1257// for more information on using Contexts.
1258func (c *CloudWatchLogs) DeleteSubscriptionFilterWithContext(ctx aws.Context, input *DeleteSubscriptionFilterInput, opts ...request.Option) (*DeleteSubscriptionFilterOutput, error) {
1259	req, out := c.DeleteSubscriptionFilterRequest(input)
1260	req.SetContext(ctx)
1261	req.ApplyOptions(opts...)
1262	return out, req.Send()
1263}
1264
1265const opDescribeDestinations = "DescribeDestinations"
1266
1267// DescribeDestinationsRequest generates a "aws/request.Request" representing the
1268// client's request for the DescribeDestinations operation. The "output" return
1269// value will be populated with the request's response once the request completes
1270// successfully.
1271//
1272// Use "Send" method on the returned Request to send the API call to the service.
1273// the "output" return value is not valid until after Send returns without error.
1274//
1275// See DescribeDestinations for more information on using the DescribeDestinations
1276// API call, and error handling.
1277//
1278// This method is useful when you want to inject custom logic or configuration
1279// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1280//
1281//
1282//    // Example sending a request using the DescribeDestinationsRequest method.
1283//    req, resp := client.DescribeDestinationsRequest(params)
1284//
1285//    err := req.Send()
1286//    if err == nil { // resp is now filled
1287//        fmt.Println(resp)
1288//    }
1289//
1290// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeDestinations
1291func (c *CloudWatchLogs) DescribeDestinationsRequest(input *DescribeDestinationsInput) (req *request.Request, output *DescribeDestinationsOutput) {
1292	op := &request.Operation{
1293		Name:       opDescribeDestinations,
1294		HTTPMethod: "POST",
1295		HTTPPath:   "/",
1296		Paginator: &request.Paginator{
1297			InputTokens:     []string{"nextToken"},
1298			OutputTokens:    []string{"nextToken"},
1299			LimitToken:      "limit",
1300			TruncationToken: "",
1301		},
1302	}
1303
1304	if input == nil {
1305		input = &DescribeDestinationsInput{}
1306	}
1307
1308	output = &DescribeDestinationsOutput{}
1309	req = c.newRequest(op, input, output)
1310	return
1311}
1312
1313// DescribeDestinations API operation for Amazon CloudWatch Logs.
1314//
1315// Lists all your destinations. The results are ASCII-sorted by destination
1316// name.
1317//
1318// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1319// with awserr.Error's Code and Message methods to get detailed information about
1320// the error.
1321//
1322// See the AWS API reference guide for Amazon CloudWatch Logs's
1323// API operation DescribeDestinations for usage and error information.
1324//
1325// Returned Error Types:
1326//   * InvalidParameterException
1327//   A parameter is specified incorrectly.
1328//
1329//   * ServiceUnavailableException
1330//   The service cannot complete the request.
1331//
1332// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeDestinations
1333func (c *CloudWatchLogs) DescribeDestinations(input *DescribeDestinationsInput) (*DescribeDestinationsOutput, error) {
1334	req, out := c.DescribeDestinationsRequest(input)
1335	return out, req.Send()
1336}
1337
1338// DescribeDestinationsWithContext is the same as DescribeDestinations with the addition of
1339// the ability to pass a context and additional request options.
1340//
1341// See DescribeDestinations for details on how to use this API operation.
1342//
1343// The context must be non-nil and will be used for request cancellation. If
1344// the context is nil a panic will occur. In the future the SDK may create
1345// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1346// for more information on using Contexts.
1347func (c *CloudWatchLogs) DescribeDestinationsWithContext(ctx aws.Context, input *DescribeDestinationsInput, opts ...request.Option) (*DescribeDestinationsOutput, error) {
1348	req, out := c.DescribeDestinationsRequest(input)
1349	req.SetContext(ctx)
1350	req.ApplyOptions(opts...)
1351	return out, req.Send()
1352}
1353
1354// DescribeDestinationsPages iterates over the pages of a DescribeDestinations operation,
1355// calling the "fn" function with the response data for each page. To stop
1356// iterating, return false from the fn function.
1357//
1358// See DescribeDestinations method for more information on how to use this operation.
1359//
1360// Note: This operation can generate multiple requests to a service.
1361//
1362//    // Example iterating over at most 3 pages of a DescribeDestinations operation.
1363//    pageNum := 0
1364//    err := client.DescribeDestinationsPages(params,
1365//        func(page *cloudwatchlogs.DescribeDestinationsOutput, lastPage bool) bool {
1366//            pageNum++
1367//            fmt.Println(page)
1368//            return pageNum <= 3
1369//        })
1370//
1371func (c *CloudWatchLogs) DescribeDestinationsPages(input *DescribeDestinationsInput, fn func(*DescribeDestinationsOutput, bool) bool) error {
1372	return c.DescribeDestinationsPagesWithContext(aws.BackgroundContext(), input, fn)
1373}
1374
1375// DescribeDestinationsPagesWithContext same as DescribeDestinationsPages except
1376// it takes a Context and allows setting request options on the pages.
1377//
1378// The context must be non-nil and will be used for request cancellation. If
1379// the context is nil a panic will occur. In the future the SDK may create
1380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1381// for more information on using Contexts.
1382func (c *CloudWatchLogs) DescribeDestinationsPagesWithContext(ctx aws.Context, input *DescribeDestinationsInput, fn func(*DescribeDestinationsOutput, bool) bool, opts ...request.Option) error {
1383	p := request.Pagination{
1384		EndPageOnSameToken: true,
1385		NewRequest: func() (*request.Request, error) {
1386			var inCpy *DescribeDestinationsInput
1387			if input != nil {
1388				tmp := *input
1389				inCpy = &tmp
1390			}
1391			req, _ := c.DescribeDestinationsRequest(inCpy)
1392			req.SetContext(ctx)
1393			req.ApplyOptions(opts...)
1394			return req, nil
1395		},
1396	}
1397
1398	for p.Next() {
1399		if !fn(p.Page().(*DescribeDestinationsOutput), !p.HasNextPage()) {
1400			break
1401		}
1402	}
1403
1404	return p.Err()
1405}
1406
1407const opDescribeExportTasks = "DescribeExportTasks"
1408
1409// DescribeExportTasksRequest generates a "aws/request.Request" representing the
1410// client's request for the DescribeExportTasks operation. The "output" return
1411// value will be populated with the request's response once the request completes
1412// successfully.
1413//
1414// Use "Send" method on the returned Request to send the API call to the service.
1415// the "output" return value is not valid until after Send returns without error.
1416//
1417// See DescribeExportTasks for more information on using the DescribeExportTasks
1418// API call, and error handling.
1419//
1420// This method is useful when you want to inject custom logic or configuration
1421// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1422//
1423//
1424//    // Example sending a request using the DescribeExportTasksRequest method.
1425//    req, resp := client.DescribeExportTasksRequest(params)
1426//
1427//    err := req.Send()
1428//    if err == nil { // resp is now filled
1429//        fmt.Println(resp)
1430//    }
1431//
1432// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeExportTasks
1433func (c *CloudWatchLogs) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
1434	op := &request.Operation{
1435		Name:       opDescribeExportTasks,
1436		HTTPMethod: "POST",
1437		HTTPPath:   "/",
1438	}
1439
1440	if input == nil {
1441		input = &DescribeExportTasksInput{}
1442	}
1443
1444	output = &DescribeExportTasksOutput{}
1445	req = c.newRequest(op, input, output)
1446	return
1447}
1448
1449// DescribeExportTasks API operation for Amazon CloudWatch Logs.
1450//
1451// Lists the specified export tasks. You can list all your export tasks or filter
1452// the results based on task ID or task status.
1453//
1454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1455// with awserr.Error's Code and Message methods to get detailed information about
1456// the error.
1457//
1458// See the AWS API reference guide for Amazon CloudWatch Logs's
1459// API operation DescribeExportTasks for usage and error information.
1460//
1461// Returned Error Types:
1462//   * InvalidParameterException
1463//   A parameter is specified incorrectly.
1464//
1465//   * ServiceUnavailableException
1466//   The service cannot complete the request.
1467//
1468// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeExportTasks
1469func (c *CloudWatchLogs) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
1470	req, out := c.DescribeExportTasksRequest(input)
1471	return out, req.Send()
1472}
1473
1474// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
1475// the ability to pass a context and additional request options.
1476//
1477// See DescribeExportTasks for details on how to use this API operation.
1478//
1479// The context must be non-nil and will be used for request cancellation. If
1480// the context is nil a panic will occur. In the future the SDK may create
1481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1482// for more information on using Contexts.
1483func (c *CloudWatchLogs) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
1484	req, out := c.DescribeExportTasksRequest(input)
1485	req.SetContext(ctx)
1486	req.ApplyOptions(opts...)
1487	return out, req.Send()
1488}
1489
1490const opDescribeLogGroups = "DescribeLogGroups"
1491
1492// DescribeLogGroupsRequest generates a "aws/request.Request" representing the
1493// client's request for the DescribeLogGroups operation. The "output" return
1494// value will be populated with the request's response once the request completes
1495// successfully.
1496//
1497// Use "Send" method on the returned Request to send the API call to the service.
1498// the "output" return value is not valid until after Send returns without error.
1499//
1500// See DescribeLogGroups for more information on using the DescribeLogGroups
1501// API call, and error handling.
1502//
1503// This method is useful when you want to inject custom logic or configuration
1504// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1505//
1506//
1507//    // Example sending a request using the DescribeLogGroupsRequest method.
1508//    req, resp := client.DescribeLogGroupsRequest(params)
1509//
1510//    err := req.Send()
1511//    if err == nil { // resp is now filled
1512//        fmt.Println(resp)
1513//    }
1514//
1515// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeLogGroups
1516func (c *CloudWatchLogs) DescribeLogGroupsRequest(input *DescribeLogGroupsInput) (req *request.Request, output *DescribeLogGroupsOutput) {
1517	op := &request.Operation{
1518		Name:       opDescribeLogGroups,
1519		HTTPMethod: "POST",
1520		HTTPPath:   "/",
1521		Paginator: &request.Paginator{
1522			InputTokens:     []string{"nextToken"},
1523			OutputTokens:    []string{"nextToken"},
1524			LimitToken:      "limit",
1525			TruncationToken: "",
1526		},
1527	}
1528
1529	if input == nil {
1530		input = &DescribeLogGroupsInput{}
1531	}
1532
1533	output = &DescribeLogGroupsOutput{}
1534	req = c.newRequest(op, input, output)
1535	return
1536}
1537
1538// DescribeLogGroups API operation for Amazon CloudWatch Logs.
1539//
1540// Lists the specified log groups. You can list all your log groups or filter
1541// the results by prefix. The results are ASCII-sorted by log group name.
1542//
1543// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1544// with awserr.Error's Code and Message methods to get detailed information about
1545// the error.
1546//
1547// See the AWS API reference guide for Amazon CloudWatch Logs's
1548// API operation DescribeLogGroups for usage and error information.
1549//
1550// Returned Error Types:
1551//   * InvalidParameterException
1552//   A parameter is specified incorrectly.
1553//
1554//   * ServiceUnavailableException
1555//   The service cannot complete the request.
1556//
1557// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeLogGroups
1558func (c *CloudWatchLogs) DescribeLogGroups(input *DescribeLogGroupsInput) (*DescribeLogGroupsOutput, error) {
1559	req, out := c.DescribeLogGroupsRequest(input)
1560	return out, req.Send()
1561}
1562
1563// DescribeLogGroupsWithContext is the same as DescribeLogGroups with the addition of
1564// the ability to pass a context and additional request options.
1565//
1566// See DescribeLogGroups for details on how to use this API operation.
1567//
1568// The context must be non-nil and will be used for request cancellation. If
1569// the context is nil a panic will occur. In the future the SDK may create
1570// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1571// for more information on using Contexts.
1572func (c *CloudWatchLogs) DescribeLogGroupsWithContext(ctx aws.Context, input *DescribeLogGroupsInput, opts ...request.Option) (*DescribeLogGroupsOutput, error) {
1573	req, out := c.DescribeLogGroupsRequest(input)
1574	req.SetContext(ctx)
1575	req.ApplyOptions(opts...)
1576	return out, req.Send()
1577}
1578
1579// DescribeLogGroupsPages iterates over the pages of a DescribeLogGroups operation,
1580// calling the "fn" function with the response data for each page. To stop
1581// iterating, return false from the fn function.
1582//
1583// See DescribeLogGroups method for more information on how to use this operation.
1584//
1585// Note: This operation can generate multiple requests to a service.
1586//
1587//    // Example iterating over at most 3 pages of a DescribeLogGroups operation.
1588//    pageNum := 0
1589//    err := client.DescribeLogGroupsPages(params,
1590//        func(page *cloudwatchlogs.DescribeLogGroupsOutput, lastPage bool) bool {
1591//            pageNum++
1592//            fmt.Println(page)
1593//            return pageNum <= 3
1594//        })
1595//
1596func (c *CloudWatchLogs) DescribeLogGroupsPages(input *DescribeLogGroupsInput, fn func(*DescribeLogGroupsOutput, bool) bool) error {
1597	return c.DescribeLogGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
1598}
1599
1600// DescribeLogGroupsPagesWithContext same as DescribeLogGroupsPages except
1601// it takes a Context and allows setting request options on the pages.
1602//
1603// The context must be non-nil and will be used for request cancellation. If
1604// the context is nil a panic will occur. In the future the SDK may create
1605// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1606// for more information on using Contexts.
1607func (c *CloudWatchLogs) DescribeLogGroupsPagesWithContext(ctx aws.Context, input *DescribeLogGroupsInput, fn func(*DescribeLogGroupsOutput, bool) bool, opts ...request.Option) error {
1608	p := request.Pagination{
1609		EndPageOnSameToken: true,
1610		NewRequest: func() (*request.Request, error) {
1611			var inCpy *DescribeLogGroupsInput
1612			if input != nil {
1613				tmp := *input
1614				inCpy = &tmp
1615			}
1616			req, _ := c.DescribeLogGroupsRequest(inCpy)
1617			req.SetContext(ctx)
1618			req.ApplyOptions(opts...)
1619			return req, nil
1620		},
1621	}
1622
1623	for p.Next() {
1624		if !fn(p.Page().(*DescribeLogGroupsOutput), !p.HasNextPage()) {
1625			break
1626		}
1627	}
1628
1629	return p.Err()
1630}
1631
1632const opDescribeLogStreams = "DescribeLogStreams"
1633
1634// DescribeLogStreamsRequest generates a "aws/request.Request" representing the
1635// client's request for the DescribeLogStreams operation. The "output" return
1636// value will be populated with the request's response once the request completes
1637// successfully.
1638//
1639// Use "Send" method on the returned Request to send the API call to the service.
1640// the "output" return value is not valid until after Send returns without error.
1641//
1642// See DescribeLogStreams for more information on using the DescribeLogStreams
1643// API call, and error handling.
1644//
1645// This method is useful when you want to inject custom logic or configuration
1646// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1647//
1648//
1649//    // Example sending a request using the DescribeLogStreamsRequest method.
1650//    req, resp := client.DescribeLogStreamsRequest(params)
1651//
1652//    err := req.Send()
1653//    if err == nil { // resp is now filled
1654//        fmt.Println(resp)
1655//    }
1656//
1657// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeLogStreams
1658func (c *CloudWatchLogs) DescribeLogStreamsRequest(input *DescribeLogStreamsInput) (req *request.Request, output *DescribeLogStreamsOutput) {
1659	op := &request.Operation{
1660		Name:       opDescribeLogStreams,
1661		HTTPMethod: "POST",
1662		HTTPPath:   "/",
1663		Paginator: &request.Paginator{
1664			InputTokens:     []string{"nextToken"},
1665			OutputTokens:    []string{"nextToken"},
1666			LimitToken:      "limit",
1667			TruncationToken: "",
1668		},
1669	}
1670
1671	if input == nil {
1672		input = &DescribeLogStreamsInput{}
1673	}
1674
1675	output = &DescribeLogStreamsOutput{}
1676	req = c.newRequest(op, input, output)
1677	return
1678}
1679
1680// DescribeLogStreams API operation for Amazon CloudWatch Logs.
1681//
1682// Lists the log streams for the specified log group. You can list all the log
1683// streams or filter the results by prefix. You can also control how the results
1684// are ordered.
1685//
1686// This operation has a limit of five transactions per second, after which transactions
1687// are throttled.
1688//
1689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1690// with awserr.Error's Code and Message methods to get detailed information about
1691// the error.
1692//
1693// See the AWS API reference guide for Amazon CloudWatch Logs's
1694// API operation DescribeLogStreams for usage and error information.
1695//
1696// Returned Error Types:
1697//   * InvalidParameterException
1698//   A parameter is specified incorrectly.
1699//
1700//   * ResourceNotFoundException
1701//   The specified resource does not exist.
1702//
1703//   * ServiceUnavailableException
1704//   The service cannot complete the request.
1705//
1706// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeLogStreams
1707func (c *CloudWatchLogs) DescribeLogStreams(input *DescribeLogStreamsInput) (*DescribeLogStreamsOutput, error) {
1708	req, out := c.DescribeLogStreamsRequest(input)
1709	return out, req.Send()
1710}
1711
1712// DescribeLogStreamsWithContext is the same as DescribeLogStreams with the addition of
1713// the ability to pass a context and additional request options.
1714//
1715// See DescribeLogStreams for details on how to use this API operation.
1716//
1717// The context must be non-nil and will be used for request cancellation. If
1718// the context is nil a panic will occur. In the future the SDK may create
1719// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1720// for more information on using Contexts.
1721func (c *CloudWatchLogs) DescribeLogStreamsWithContext(ctx aws.Context, input *DescribeLogStreamsInput, opts ...request.Option) (*DescribeLogStreamsOutput, error) {
1722	req, out := c.DescribeLogStreamsRequest(input)
1723	req.SetContext(ctx)
1724	req.ApplyOptions(opts...)
1725	return out, req.Send()
1726}
1727
1728// DescribeLogStreamsPages iterates over the pages of a DescribeLogStreams operation,
1729// calling the "fn" function with the response data for each page. To stop
1730// iterating, return false from the fn function.
1731//
1732// See DescribeLogStreams method for more information on how to use this operation.
1733//
1734// Note: This operation can generate multiple requests to a service.
1735//
1736//    // Example iterating over at most 3 pages of a DescribeLogStreams operation.
1737//    pageNum := 0
1738//    err := client.DescribeLogStreamsPages(params,
1739//        func(page *cloudwatchlogs.DescribeLogStreamsOutput, lastPage bool) bool {
1740//            pageNum++
1741//            fmt.Println(page)
1742//            return pageNum <= 3
1743//        })
1744//
1745func (c *CloudWatchLogs) DescribeLogStreamsPages(input *DescribeLogStreamsInput, fn func(*DescribeLogStreamsOutput, bool) bool) error {
1746	return c.DescribeLogStreamsPagesWithContext(aws.BackgroundContext(), input, fn)
1747}
1748
1749// DescribeLogStreamsPagesWithContext same as DescribeLogStreamsPages except
1750// it takes a Context and allows setting request options on the pages.
1751//
1752// The context must be non-nil and will be used for request cancellation. If
1753// the context is nil a panic will occur. In the future the SDK may create
1754// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1755// for more information on using Contexts.
1756func (c *CloudWatchLogs) DescribeLogStreamsPagesWithContext(ctx aws.Context, input *DescribeLogStreamsInput, fn func(*DescribeLogStreamsOutput, bool) bool, opts ...request.Option) error {
1757	p := request.Pagination{
1758		EndPageOnSameToken: true,
1759		NewRequest: func() (*request.Request, error) {
1760			var inCpy *DescribeLogStreamsInput
1761			if input != nil {
1762				tmp := *input
1763				inCpy = &tmp
1764			}
1765			req, _ := c.DescribeLogStreamsRequest(inCpy)
1766			req.SetContext(ctx)
1767			req.ApplyOptions(opts...)
1768			return req, nil
1769		},
1770	}
1771
1772	for p.Next() {
1773		if !fn(p.Page().(*DescribeLogStreamsOutput), !p.HasNextPage()) {
1774			break
1775		}
1776	}
1777
1778	return p.Err()
1779}
1780
1781const opDescribeMetricFilters = "DescribeMetricFilters"
1782
1783// DescribeMetricFiltersRequest generates a "aws/request.Request" representing the
1784// client's request for the DescribeMetricFilters operation. The "output" return
1785// value will be populated with the request's response once the request completes
1786// successfully.
1787//
1788// Use "Send" method on the returned Request to send the API call to the service.
1789// the "output" return value is not valid until after Send returns without error.
1790//
1791// See DescribeMetricFilters for more information on using the DescribeMetricFilters
1792// API call, and error handling.
1793//
1794// This method is useful when you want to inject custom logic or configuration
1795// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1796//
1797//
1798//    // Example sending a request using the DescribeMetricFiltersRequest method.
1799//    req, resp := client.DescribeMetricFiltersRequest(params)
1800//
1801//    err := req.Send()
1802//    if err == nil { // resp is now filled
1803//        fmt.Println(resp)
1804//    }
1805//
1806// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeMetricFilters
1807func (c *CloudWatchLogs) DescribeMetricFiltersRequest(input *DescribeMetricFiltersInput) (req *request.Request, output *DescribeMetricFiltersOutput) {
1808	op := &request.Operation{
1809		Name:       opDescribeMetricFilters,
1810		HTTPMethod: "POST",
1811		HTTPPath:   "/",
1812		Paginator: &request.Paginator{
1813			InputTokens:     []string{"nextToken"},
1814			OutputTokens:    []string{"nextToken"},
1815			LimitToken:      "limit",
1816			TruncationToken: "",
1817		},
1818	}
1819
1820	if input == nil {
1821		input = &DescribeMetricFiltersInput{}
1822	}
1823
1824	output = &DescribeMetricFiltersOutput{}
1825	req = c.newRequest(op, input, output)
1826	return
1827}
1828
1829// DescribeMetricFilters API operation for Amazon CloudWatch Logs.
1830//
1831// Lists the specified metric filters. You can list all of the metric filters
1832// or filter the results by log name, prefix, metric name, or metric namespace.
1833// The results are ASCII-sorted by filter name.
1834//
1835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1836// with awserr.Error's Code and Message methods to get detailed information about
1837// the error.
1838//
1839// See the AWS API reference guide for Amazon CloudWatch Logs's
1840// API operation DescribeMetricFilters for usage and error information.
1841//
1842// Returned Error Types:
1843//   * InvalidParameterException
1844//   A parameter is specified incorrectly.
1845//
1846//   * ResourceNotFoundException
1847//   The specified resource does not exist.
1848//
1849//   * ServiceUnavailableException
1850//   The service cannot complete the request.
1851//
1852// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeMetricFilters
1853func (c *CloudWatchLogs) DescribeMetricFilters(input *DescribeMetricFiltersInput) (*DescribeMetricFiltersOutput, error) {
1854	req, out := c.DescribeMetricFiltersRequest(input)
1855	return out, req.Send()
1856}
1857
1858// DescribeMetricFiltersWithContext is the same as DescribeMetricFilters with the addition of
1859// the ability to pass a context and additional request options.
1860//
1861// See DescribeMetricFilters for details on how to use this API operation.
1862//
1863// The context must be non-nil and will be used for request cancellation. If
1864// the context is nil a panic will occur. In the future the SDK may create
1865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1866// for more information on using Contexts.
1867func (c *CloudWatchLogs) DescribeMetricFiltersWithContext(ctx aws.Context, input *DescribeMetricFiltersInput, opts ...request.Option) (*DescribeMetricFiltersOutput, error) {
1868	req, out := c.DescribeMetricFiltersRequest(input)
1869	req.SetContext(ctx)
1870	req.ApplyOptions(opts...)
1871	return out, req.Send()
1872}
1873
1874// DescribeMetricFiltersPages iterates over the pages of a DescribeMetricFilters operation,
1875// calling the "fn" function with the response data for each page. To stop
1876// iterating, return false from the fn function.
1877//
1878// See DescribeMetricFilters method for more information on how to use this operation.
1879//
1880// Note: This operation can generate multiple requests to a service.
1881//
1882//    // Example iterating over at most 3 pages of a DescribeMetricFilters operation.
1883//    pageNum := 0
1884//    err := client.DescribeMetricFiltersPages(params,
1885//        func(page *cloudwatchlogs.DescribeMetricFiltersOutput, lastPage bool) bool {
1886//            pageNum++
1887//            fmt.Println(page)
1888//            return pageNum <= 3
1889//        })
1890//
1891func (c *CloudWatchLogs) DescribeMetricFiltersPages(input *DescribeMetricFiltersInput, fn func(*DescribeMetricFiltersOutput, bool) bool) error {
1892	return c.DescribeMetricFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
1893}
1894
1895// DescribeMetricFiltersPagesWithContext same as DescribeMetricFiltersPages except
1896// it takes a Context and allows setting request options on the pages.
1897//
1898// The context must be non-nil and will be used for request cancellation. If
1899// the context is nil a panic will occur. In the future the SDK may create
1900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1901// for more information on using Contexts.
1902func (c *CloudWatchLogs) DescribeMetricFiltersPagesWithContext(ctx aws.Context, input *DescribeMetricFiltersInput, fn func(*DescribeMetricFiltersOutput, bool) bool, opts ...request.Option) error {
1903	p := request.Pagination{
1904		EndPageOnSameToken: true,
1905		NewRequest: func() (*request.Request, error) {
1906			var inCpy *DescribeMetricFiltersInput
1907			if input != nil {
1908				tmp := *input
1909				inCpy = &tmp
1910			}
1911			req, _ := c.DescribeMetricFiltersRequest(inCpy)
1912			req.SetContext(ctx)
1913			req.ApplyOptions(opts...)
1914			return req, nil
1915		},
1916	}
1917
1918	for p.Next() {
1919		if !fn(p.Page().(*DescribeMetricFiltersOutput), !p.HasNextPage()) {
1920			break
1921		}
1922	}
1923
1924	return p.Err()
1925}
1926
1927const opDescribeQueries = "DescribeQueries"
1928
1929// DescribeQueriesRequest generates a "aws/request.Request" representing the
1930// client's request for the DescribeQueries operation. The "output" return
1931// value will be populated with the request's response once the request completes
1932// successfully.
1933//
1934// Use "Send" method on the returned Request to send the API call to the service.
1935// the "output" return value is not valid until after Send returns without error.
1936//
1937// See DescribeQueries for more information on using the DescribeQueries
1938// API call, and error handling.
1939//
1940// This method is useful when you want to inject custom logic or configuration
1941// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1942//
1943//
1944//    // Example sending a request using the DescribeQueriesRequest method.
1945//    req, resp := client.DescribeQueriesRequest(params)
1946//
1947//    err := req.Send()
1948//    if err == nil { // resp is now filled
1949//        fmt.Println(resp)
1950//    }
1951//
1952// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueries
1953func (c *CloudWatchLogs) DescribeQueriesRequest(input *DescribeQueriesInput) (req *request.Request, output *DescribeQueriesOutput) {
1954	op := &request.Operation{
1955		Name:       opDescribeQueries,
1956		HTTPMethod: "POST",
1957		HTTPPath:   "/",
1958	}
1959
1960	if input == nil {
1961		input = &DescribeQueriesInput{}
1962	}
1963
1964	output = &DescribeQueriesOutput{}
1965	req = c.newRequest(op, input, output)
1966	return
1967}
1968
1969// DescribeQueries API operation for Amazon CloudWatch Logs.
1970//
1971// Returns a list of CloudWatch Logs Insights queries that are scheduled, executing,
1972// or have been executed recently in this account. You can request all queries
1973// or limit it to queries of a specific log group or queries with a certain
1974// status.
1975//
1976// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1977// with awserr.Error's Code and Message methods to get detailed information about
1978// the error.
1979//
1980// See the AWS API reference guide for Amazon CloudWatch Logs's
1981// API operation DescribeQueries for usage and error information.
1982//
1983// Returned Error Types:
1984//   * InvalidParameterException
1985//   A parameter is specified incorrectly.
1986//
1987//   * ResourceNotFoundException
1988//   The specified resource does not exist.
1989//
1990//   * ServiceUnavailableException
1991//   The service cannot complete the request.
1992//
1993// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueries
1994func (c *CloudWatchLogs) DescribeQueries(input *DescribeQueriesInput) (*DescribeQueriesOutput, error) {
1995	req, out := c.DescribeQueriesRequest(input)
1996	return out, req.Send()
1997}
1998
1999// DescribeQueriesWithContext is the same as DescribeQueries with the addition of
2000// the ability to pass a context and additional request options.
2001//
2002// See DescribeQueries for details on how to use this API operation.
2003//
2004// The context must be non-nil and will be used for request cancellation. If
2005// the context is nil a panic will occur. In the future the SDK may create
2006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2007// for more information on using Contexts.
2008func (c *CloudWatchLogs) DescribeQueriesWithContext(ctx aws.Context, input *DescribeQueriesInput, opts ...request.Option) (*DescribeQueriesOutput, error) {
2009	req, out := c.DescribeQueriesRequest(input)
2010	req.SetContext(ctx)
2011	req.ApplyOptions(opts...)
2012	return out, req.Send()
2013}
2014
2015const opDescribeQueryDefinitions = "DescribeQueryDefinitions"
2016
2017// DescribeQueryDefinitionsRequest generates a "aws/request.Request" representing the
2018// client's request for the DescribeQueryDefinitions operation. The "output" return
2019// value will be populated with the request's response once the request completes
2020// successfully.
2021//
2022// Use "Send" method on the returned Request to send the API call to the service.
2023// the "output" return value is not valid until after Send returns without error.
2024//
2025// See DescribeQueryDefinitions for more information on using the DescribeQueryDefinitions
2026// API call, and error handling.
2027//
2028// This method is useful when you want to inject custom logic or configuration
2029// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2030//
2031//
2032//    // Example sending a request using the DescribeQueryDefinitionsRequest method.
2033//    req, resp := client.DescribeQueryDefinitionsRequest(params)
2034//
2035//    err := req.Send()
2036//    if err == nil { // resp is now filled
2037//        fmt.Println(resp)
2038//    }
2039//
2040// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueryDefinitions
2041func (c *CloudWatchLogs) DescribeQueryDefinitionsRequest(input *DescribeQueryDefinitionsInput) (req *request.Request, output *DescribeQueryDefinitionsOutput) {
2042	op := &request.Operation{
2043		Name:       opDescribeQueryDefinitions,
2044		HTTPMethod: "POST",
2045		HTTPPath:   "/",
2046	}
2047
2048	if input == nil {
2049		input = &DescribeQueryDefinitionsInput{}
2050	}
2051
2052	output = &DescribeQueryDefinitionsOutput{}
2053	req = c.newRequest(op, input, output)
2054	return
2055}
2056
2057// DescribeQueryDefinitions API operation for Amazon CloudWatch Logs.
2058//
2059// This operation returns a paginated list of your saved CloudWatch Logs Insights
2060// query definitions.
2061//
2062// You can use the queryDefinitionNamePrefix parameter to limit the results
2063// to only the query definitions that have names that start with a certain string.
2064//
2065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2066// with awserr.Error's Code and Message methods to get detailed information about
2067// the error.
2068//
2069// See the AWS API reference guide for Amazon CloudWatch Logs's
2070// API operation DescribeQueryDefinitions for usage and error information.
2071//
2072// Returned Error Types:
2073//   * InvalidParameterException
2074//   A parameter is specified incorrectly.
2075//
2076//   * ServiceUnavailableException
2077//   The service cannot complete the request.
2078//
2079// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueryDefinitions
2080func (c *CloudWatchLogs) DescribeQueryDefinitions(input *DescribeQueryDefinitionsInput) (*DescribeQueryDefinitionsOutput, error) {
2081	req, out := c.DescribeQueryDefinitionsRequest(input)
2082	return out, req.Send()
2083}
2084
2085// DescribeQueryDefinitionsWithContext is the same as DescribeQueryDefinitions with the addition of
2086// the ability to pass a context and additional request options.
2087//
2088// See DescribeQueryDefinitions for details on how to use this API operation.
2089//
2090// The context must be non-nil and will be used for request cancellation. If
2091// the context is nil a panic will occur. In the future the SDK may create
2092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2093// for more information on using Contexts.
2094func (c *CloudWatchLogs) DescribeQueryDefinitionsWithContext(ctx aws.Context, input *DescribeQueryDefinitionsInput, opts ...request.Option) (*DescribeQueryDefinitionsOutput, error) {
2095	req, out := c.DescribeQueryDefinitionsRequest(input)
2096	req.SetContext(ctx)
2097	req.ApplyOptions(opts...)
2098	return out, req.Send()
2099}
2100
2101const opDescribeResourcePolicies = "DescribeResourcePolicies"
2102
2103// DescribeResourcePoliciesRequest generates a "aws/request.Request" representing the
2104// client's request for the DescribeResourcePolicies operation. The "output" return
2105// value will be populated with the request's response once the request completes
2106// successfully.
2107//
2108// Use "Send" method on the returned Request to send the API call to the service.
2109// the "output" return value is not valid until after Send returns without error.
2110//
2111// See DescribeResourcePolicies for more information on using the DescribeResourcePolicies
2112// API call, and error handling.
2113//
2114// This method is useful when you want to inject custom logic or configuration
2115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2116//
2117//
2118//    // Example sending a request using the DescribeResourcePoliciesRequest method.
2119//    req, resp := client.DescribeResourcePoliciesRequest(params)
2120//
2121//    err := req.Send()
2122//    if err == nil { // resp is now filled
2123//        fmt.Println(resp)
2124//    }
2125//
2126// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeResourcePolicies
2127func (c *CloudWatchLogs) DescribeResourcePoliciesRequest(input *DescribeResourcePoliciesInput) (req *request.Request, output *DescribeResourcePoliciesOutput) {
2128	op := &request.Operation{
2129		Name:       opDescribeResourcePolicies,
2130		HTTPMethod: "POST",
2131		HTTPPath:   "/",
2132	}
2133
2134	if input == nil {
2135		input = &DescribeResourcePoliciesInput{}
2136	}
2137
2138	output = &DescribeResourcePoliciesOutput{}
2139	req = c.newRequest(op, input, output)
2140	return
2141}
2142
2143// DescribeResourcePolicies API operation for Amazon CloudWatch Logs.
2144//
2145// Lists the resource policies in this account.
2146//
2147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2148// with awserr.Error's Code and Message methods to get detailed information about
2149// the error.
2150//
2151// See the AWS API reference guide for Amazon CloudWatch Logs's
2152// API operation DescribeResourcePolicies for usage and error information.
2153//
2154// Returned Error Types:
2155//   * InvalidParameterException
2156//   A parameter is specified incorrectly.
2157//
2158//   * ServiceUnavailableException
2159//   The service cannot complete the request.
2160//
2161// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeResourcePolicies
2162func (c *CloudWatchLogs) DescribeResourcePolicies(input *DescribeResourcePoliciesInput) (*DescribeResourcePoliciesOutput, error) {
2163	req, out := c.DescribeResourcePoliciesRequest(input)
2164	return out, req.Send()
2165}
2166
2167// DescribeResourcePoliciesWithContext is the same as DescribeResourcePolicies with the addition of
2168// the ability to pass a context and additional request options.
2169//
2170// See DescribeResourcePolicies for details on how to use this API operation.
2171//
2172// The context must be non-nil and will be used for request cancellation. If
2173// the context is nil a panic will occur. In the future the SDK may create
2174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2175// for more information on using Contexts.
2176func (c *CloudWatchLogs) DescribeResourcePoliciesWithContext(ctx aws.Context, input *DescribeResourcePoliciesInput, opts ...request.Option) (*DescribeResourcePoliciesOutput, error) {
2177	req, out := c.DescribeResourcePoliciesRequest(input)
2178	req.SetContext(ctx)
2179	req.ApplyOptions(opts...)
2180	return out, req.Send()
2181}
2182
2183const opDescribeSubscriptionFilters = "DescribeSubscriptionFilters"
2184
2185// DescribeSubscriptionFiltersRequest generates a "aws/request.Request" representing the
2186// client's request for the DescribeSubscriptionFilters operation. The "output" return
2187// value will be populated with the request's response once the request completes
2188// successfully.
2189//
2190// Use "Send" method on the returned Request to send the API call to the service.
2191// the "output" return value is not valid until after Send returns without error.
2192//
2193// See DescribeSubscriptionFilters for more information on using the DescribeSubscriptionFilters
2194// API call, and error handling.
2195//
2196// This method is useful when you want to inject custom logic or configuration
2197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2198//
2199//
2200//    // Example sending a request using the DescribeSubscriptionFiltersRequest method.
2201//    req, resp := client.DescribeSubscriptionFiltersRequest(params)
2202//
2203//    err := req.Send()
2204//    if err == nil { // resp is now filled
2205//        fmt.Println(resp)
2206//    }
2207//
2208// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeSubscriptionFilters
2209func (c *CloudWatchLogs) DescribeSubscriptionFiltersRequest(input *DescribeSubscriptionFiltersInput) (req *request.Request, output *DescribeSubscriptionFiltersOutput) {
2210	op := &request.Operation{
2211		Name:       opDescribeSubscriptionFilters,
2212		HTTPMethod: "POST",
2213		HTTPPath:   "/",
2214		Paginator: &request.Paginator{
2215			InputTokens:     []string{"nextToken"},
2216			OutputTokens:    []string{"nextToken"},
2217			LimitToken:      "limit",
2218			TruncationToken: "",
2219		},
2220	}
2221
2222	if input == nil {
2223		input = &DescribeSubscriptionFiltersInput{}
2224	}
2225
2226	output = &DescribeSubscriptionFiltersOutput{}
2227	req = c.newRequest(op, input, output)
2228	return
2229}
2230
2231// DescribeSubscriptionFilters API operation for Amazon CloudWatch Logs.
2232//
2233// Lists the subscription filters for the specified log group. You can list
2234// all the subscription filters or filter the results by prefix. The results
2235// are ASCII-sorted by filter name.
2236//
2237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2238// with awserr.Error's Code and Message methods to get detailed information about
2239// the error.
2240//
2241// See the AWS API reference guide for Amazon CloudWatch Logs's
2242// API operation DescribeSubscriptionFilters for usage and error information.
2243//
2244// Returned Error Types:
2245//   * InvalidParameterException
2246//   A parameter is specified incorrectly.
2247//
2248//   * ResourceNotFoundException
2249//   The specified resource does not exist.
2250//
2251//   * ServiceUnavailableException
2252//   The service cannot complete the request.
2253//
2254// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeSubscriptionFilters
2255func (c *CloudWatchLogs) DescribeSubscriptionFilters(input *DescribeSubscriptionFiltersInput) (*DescribeSubscriptionFiltersOutput, error) {
2256	req, out := c.DescribeSubscriptionFiltersRequest(input)
2257	return out, req.Send()
2258}
2259
2260// DescribeSubscriptionFiltersWithContext is the same as DescribeSubscriptionFilters with the addition of
2261// the ability to pass a context and additional request options.
2262//
2263// See DescribeSubscriptionFilters for details on how to use this API operation.
2264//
2265// The context must be non-nil and will be used for request cancellation. If
2266// the context is nil a panic will occur. In the future the SDK may create
2267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2268// for more information on using Contexts.
2269func (c *CloudWatchLogs) DescribeSubscriptionFiltersWithContext(ctx aws.Context, input *DescribeSubscriptionFiltersInput, opts ...request.Option) (*DescribeSubscriptionFiltersOutput, error) {
2270	req, out := c.DescribeSubscriptionFiltersRequest(input)
2271	req.SetContext(ctx)
2272	req.ApplyOptions(opts...)
2273	return out, req.Send()
2274}
2275
2276// DescribeSubscriptionFiltersPages iterates over the pages of a DescribeSubscriptionFilters operation,
2277// calling the "fn" function with the response data for each page. To stop
2278// iterating, return false from the fn function.
2279//
2280// See DescribeSubscriptionFilters method for more information on how to use this operation.
2281//
2282// Note: This operation can generate multiple requests to a service.
2283//
2284//    // Example iterating over at most 3 pages of a DescribeSubscriptionFilters operation.
2285//    pageNum := 0
2286//    err := client.DescribeSubscriptionFiltersPages(params,
2287//        func(page *cloudwatchlogs.DescribeSubscriptionFiltersOutput, lastPage bool) bool {
2288//            pageNum++
2289//            fmt.Println(page)
2290//            return pageNum <= 3
2291//        })
2292//
2293func (c *CloudWatchLogs) DescribeSubscriptionFiltersPages(input *DescribeSubscriptionFiltersInput, fn func(*DescribeSubscriptionFiltersOutput, bool) bool) error {
2294	return c.DescribeSubscriptionFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
2295}
2296
2297// DescribeSubscriptionFiltersPagesWithContext same as DescribeSubscriptionFiltersPages except
2298// it takes a Context and allows setting request options on the pages.
2299//
2300// The context must be non-nil and will be used for request cancellation. If
2301// the context is nil a panic will occur. In the future the SDK may create
2302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2303// for more information on using Contexts.
2304func (c *CloudWatchLogs) DescribeSubscriptionFiltersPagesWithContext(ctx aws.Context, input *DescribeSubscriptionFiltersInput, fn func(*DescribeSubscriptionFiltersOutput, bool) bool, opts ...request.Option) error {
2305	p := request.Pagination{
2306		EndPageOnSameToken: true,
2307		NewRequest: func() (*request.Request, error) {
2308			var inCpy *DescribeSubscriptionFiltersInput
2309			if input != nil {
2310				tmp := *input
2311				inCpy = &tmp
2312			}
2313			req, _ := c.DescribeSubscriptionFiltersRequest(inCpy)
2314			req.SetContext(ctx)
2315			req.ApplyOptions(opts...)
2316			return req, nil
2317		},
2318	}
2319
2320	for p.Next() {
2321		if !fn(p.Page().(*DescribeSubscriptionFiltersOutput), !p.HasNextPage()) {
2322			break
2323		}
2324	}
2325
2326	return p.Err()
2327}
2328
2329const opDisassociateKmsKey = "DisassociateKmsKey"
2330
2331// DisassociateKmsKeyRequest generates a "aws/request.Request" representing the
2332// client's request for the DisassociateKmsKey operation. The "output" return
2333// value will be populated with the request's response once the request completes
2334// successfully.
2335//
2336// Use "Send" method on the returned Request to send the API call to the service.
2337// the "output" return value is not valid until after Send returns without error.
2338//
2339// See DisassociateKmsKey for more information on using the DisassociateKmsKey
2340// API call, and error handling.
2341//
2342// This method is useful when you want to inject custom logic or configuration
2343// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2344//
2345//
2346//    // Example sending a request using the DisassociateKmsKeyRequest method.
2347//    req, resp := client.DisassociateKmsKeyRequest(params)
2348//
2349//    err := req.Send()
2350//    if err == nil { // resp is now filled
2351//        fmt.Println(resp)
2352//    }
2353//
2354// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DisassociateKmsKey
2355func (c *CloudWatchLogs) DisassociateKmsKeyRequest(input *DisassociateKmsKeyInput) (req *request.Request, output *DisassociateKmsKeyOutput) {
2356	op := &request.Operation{
2357		Name:       opDisassociateKmsKey,
2358		HTTPMethod: "POST",
2359		HTTPPath:   "/",
2360	}
2361
2362	if input == nil {
2363		input = &DisassociateKmsKeyInput{}
2364	}
2365
2366	output = &DisassociateKmsKeyOutput{}
2367	req = c.newRequest(op, input, output)
2368	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2369	return
2370}
2371
2372// DisassociateKmsKey API operation for Amazon CloudWatch Logs.
2373//
2374// Disassociates the associated AWS Key Management Service (AWS KMS) customer
2375// master key (CMK) from the specified log group.
2376//
2377// After the AWS KMS CMK is disassociated from the log group, AWS CloudWatch
2378// Logs stops encrypting newly ingested data for the log group. All previously
2379// ingested data remains encrypted, and AWS CloudWatch Logs requires permissions
2380// for the CMK whenever the encrypted data is requested.
2381//
2382// Note that it can take up to 5 minutes for this operation to take effect.
2383//
2384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2385// with awserr.Error's Code and Message methods to get detailed information about
2386// the error.
2387//
2388// See the AWS API reference guide for Amazon CloudWatch Logs's
2389// API operation DisassociateKmsKey for usage and error information.
2390//
2391// Returned Error Types:
2392//   * InvalidParameterException
2393//   A parameter is specified incorrectly.
2394//
2395//   * ResourceNotFoundException
2396//   The specified resource does not exist.
2397//
2398//   * OperationAbortedException
2399//   Multiple requests to update the same resource were in conflict.
2400//
2401//   * ServiceUnavailableException
2402//   The service cannot complete the request.
2403//
2404// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DisassociateKmsKey
2405func (c *CloudWatchLogs) DisassociateKmsKey(input *DisassociateKmsKeyInput) (*DisassociateKmsKeyOutput, error) {
2406	req, out := c.DisassociateKmsKeyRequest(input)
2407	return out, req.Send()
2408}
2409
2410// DisassociateKmsKeyWithContext is the same as DisassociateKmsKey with the addition of
2411// the ability to pass a context and additional request options.
2412//
2413// See DisassociateKmsKey for details on how to use this API operation.
2414//
2415// The context must be non-nil and will be used for request cancellation. If
2416// the context is nil a panic will occur. In the future the SDK may create
2417// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2418// for more information on using Contexts.
2419func (c *CloudWatchLogs) DisassociateKmsKeyWithContext(ctx aws.Context, input *DisassociateKmsKeyInput, opts ...request.Option) (*DisassociateKmsKeyOutput, error) {
2420	req, out := c.DisassociateKmsKeyRequest(input)
2421	req.SetContext(ctx)
2422	req.ApplyOptions(opts...)
2423	return out, req.Send()
2424}
2425
2426const opFilterLogEvents = "FilterLogEvents"
2427
2428// FilterLogEventsRequest generates a "aws/request.Request" representing the
2429// client's request for the FilterLogEvents operation. The "output" return
2430// value will be populated with the request's response once the request completes
2431// successfully.
2432//
2433// Use "Send" method on the returned Request to send the API call to the service.
2434// the "output" return value is not valid until after Send returns without error.
2435//
2436// See FilterLogEvents for more information on using the FilterLogEvents
2437// API call, and error handling.
2438//
2439// This method is useful when you want to inject custom logic or configuration
2440// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2441//
2442//
2443//    // Example sending a request using the FilterLogEventsRequest method.
2444//    req, resp := client.FilterLogEventsRequest(params)
2445//
2446//    err := req.Send()
2447//    if err == nil { // resp is now filled
2448//        fmt.Println(resp)
2449//    }
2450//
2451// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/FilterLogEvents
2452func (c *CloudWatchLogs) FilterLogEventsRequest(input *FilterLogEventsInput) (req *request.Request, output *FilterLogEventsOutput) {
2453	op := &request.Operation{
2454		Name:       opFilterLogEvents,
2455		HTTPMethod: "POST",
2456		HTTPPath:   "/",
2457		Paginator: &request.Paginator{
2458			InputTokens:     []string{"nextToken"},
2459			OutputTokens:    []string{"nextToken"},
2460			LimitToken:      "limit",
2461			TruncationToken: "",
2462		},
2463	}
2464
2465	if input == nil {
2466		input = &FilterLogEventsInput{}
2467	}
2468
2469	output = &FilterLogEventsOutput{}
2470	req = c.newRequest(op, input, output)
2471	return
2472}
2473
2474// FilterLogEvents API operation for Amazon CloudWatch Logs.
2475//
2476// Lists log events from the specified log group. You can list all the log events
2477// or filter the results using a filter pattern, a time range, and the name
2478// of the log stream.
2479//
2480// By default, this operation returns as many log events as can fit in 1 MB
2481// (up to 10,000 log events) or all the events found within the time range that
2482// you specify. If the results include a token, then there are more log events
2483// available, and you can get additional results by specifying the token in
2484// a subsequent call. This operation can return empty results while there are
2485// more log events available through the token.
2486//
2487// The returned log events are sorted by event timestamp, the timestamp when
2488// the event was ingested by CloudWatch Logs, and the ID of the PutLogEvents
2489// request.
2490//
2491// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2492// with awserr.Error's Code and Message methods to get detailed information about
2493// the error.
2494//
2495// See the AWS API reference guide for Amazon CloudWatch Logs's
2496// API operation FilterLogEvents for usage and error information.
2497//
2498// Returned Error Types:
2499//   * InvalidParameterException
2500//   A parameter is specified incorrectly.
2501//
2502//   * ResourceNotFoundException
2503//   The specified resource does not exist.
2504//
2505//   * ServiceUnavailableException
2506//   The service cannot complete the request.
2507//
2508// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/FilterLogEvents
2509func (c *CloudWatchLogs) FilterLogEvents(input *FilterLogEventsInput) (*FilterLogEventsOutput, error) {
2510	req, out := c.FilterLogEventsRequest(input)
2511	return out, req.Send()
2512}
2513
2514// FilterLogEventsWithContext is the same as FilterLogEvents with the addition of
2515// the ability to pass a context and additional request options.
2516//
2517// See FilterLogEvents for details on how to use this API operation.
2518//
2519// The context must be non-nil and will be used for request cancellation. If
2520// the context is nil a panic will occur. In the future the SDK may create
2521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2522// for more information on using Contexts.
2523func (c *CloudWatchLogs) FilterLogEventsWithContext(ctx aws.Context, input *FilterLogEventsInput, opts ...request.Option) (*FilterLogEventsOutput, error) {
2524	req, out := c.FilterLogEventsRequest(input)
2525	req.SetContext(ctx)
2526	req.ApplyOptions(opts...)
2527	return out, req.Send()
2528}
2529
2530// FilterLogEventsPages iterates over the pages of a FilterLogEvents operation,
2531// calling the "fn" function with the response data for each page. To stop
2532// iterating, return false from the fn function.
2533//
2534// See FilterLogEvents method for more information on how to use this operation.
2535//
2536// Note: This operation can generate multiple requests to a service.
2537//
2538//    // Example iterating over at most 3 pages of a FilterLogEvents operation.
2539//    pageNum := 0
2540//    err := client.FilterLogEventsPages(params,
2541//        func(page *cloudwatchlogs.FilterLogEventsOutput, lastPage bool) bool {
2542//            pageNum++
2543//            fmt.Println(page)
2544//            return pageNum <= 3
2545//        })
2546//
2547func (c *CloudWatchLogs) FilterLogEventsPages(input *FilterLogEventsInput, fn func(*FilterLogEventsOutput, bool) bool) error {
2548	return c.FilterLogEventsPagesWithContext(aws.BackgroundContext(), input, fn)
2549}
2550
2551// FilterLogEventsPagesWithContext same as FilterLogEventsPages except
2552// it takes a Context and allows setting request options on the pages.
2553//
2554// The context must be non-nil and will be used for request cancellation. If
2555// the context is nil a panic will occur. In the future the SDK may create
2556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2557// for more information on using Contexts.
2558func (c *CloudWatchLogs) FilterLogEventsPagesWithContext(ctx aws.Context, input *FilterLogEventsInput, fn func(*FilterLogEventsOutput, bool) bool, opts ...request.Option) error {
2559	p := request.Pagination{
2560		EndPageOnSameToken: true,
2561		NewRequest: func() (*request.Request, error) {
2562			var inCpy *FilterLogEventsInput
2563			if input != nil {
2564				tmp := *input
2565				inCpy = &tmp
2566			}
2567			req, _ := c.FilterLogEventsRequest(inCpy)
2568			req.SetContext(ctx)
2569			req.ApplyOptions(opts...)
2570			return req, nil
2571		},
2572	}
2573
2574	for p.Next() {
2575		if !fn(p.Page().(*FilterLogEventsOutput), !p.HasNextPage()) {
2576			break
2577		}
2578	}
2579
2580	return p.Err()
2581}
2582
2583const opGetLogEvents = "GetLogEvents"
2584
2585// GetLogEventsRequest generates a "aws/request.Request" representing the
2586// client's request for the GetLogEvents operation. The "output" return
2587// value will be populated with the request's response once the request completes
2588// successfully.
2589//
2590// Use "Send" method on the returned Request to send the API call to the service.
2591// the "output" return value is not valid until after Send returns without error.
2592//
2593// See GetLogEvents for more information on using the GetLogEvents
2594// API call, and error handling.
2595//
2596// This method is useful when you want to inject custom logic or configuration
2597// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2598//
2599//
2600//    // Example sending a request using the GetLogEventsRequest method.
2601//    req, resp := client.GetLogEventsRequest(params)
2602//
2603//    err := req.Send()
2604//    if err == nil { // resp is now filled
2605//        fmt.Println(resp)
2606//    }
2607//
2608// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogEvents
2609func (c *CloudWatchLogs) GetLogEventsRequest(input *GetLogEventsInput) (req *request.Request, output *GetLogEventsOutput) {
2610	op := &request.Operation{
2611		Name:       opGetLogEvents,
2612		HTTPMethod: "POST",
2613		HTTPPath:   "/",
2614		Paginator: &request.Paginator{
2615			InputTokens:     []string{"nextToken"},
2616			OutputTokens:    []string{"nextForwardToken"},
2617			LimitToken:      "limit",
2618			TruncationToken: "",
2619		},
2620	}
2621
2622	if input == nil {
2623		input = &GetLogEventsInput{}
2624	}
2625
2626	output = &GetLogEventsOutput{}
2627	req = c.newRequest(op, input, output)
2628	return
2629}
2630
2631// GetLogEvents API operation for Amazon CloudWatch Logs.
2632//
2633// Lists log events from the specified log stream. You can list all of the log
2634// events or filter using a time range.
2635//
2636// By default, this operation returns as many log events as can fit in a response
2637// size of 1MB (up to 10,000 log events). You can get additional log events
2638// by specifying one of the tokens in a subsequent call. This operation can
2639// return empty results while there are more log events available through the
2640// token.
2641//
2642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2643// with awserr.Error's Code and Message methods to get detailed information about
2644// the error.
2645//
2646// See the AWS API reference guide for Amazon CloudWatch Logs's
2647// API operation GetLogEvents for usage and error information.
2648//
2649// Returned Error Types:
2650//   * InvalidParameterException
2651//   A parameter is specified incorrectly.
2652//
2653//   * ResourceNotFoundException
2654//   The specified resource does not exist.
2655//
2656//   * ServiceUnavailableException
2657//   The service cannot complete the request.
2658//
2659// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogEvents
2660func (c *CloudWatchLogs) GetLogEvents(input *GetLogEventsInput) (*GetLogEventsOutput, error) {
2661	req, out := c.GetLogEventsRequest(input)
2662	return out, req.Send()
2663}
2664
2665// GetLogEventsWithContext is the same as GetLogEvents with the addition of
2666// the ability to pass a context and additional request options.
2667//
2668// See GetLogEvents for details on how to use this API operation.
2669//
2670// The context must be non-nil and will be used for request cancellation. If
2671// the context is nil a panic will occur. In the future the SDK may create
2672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2673// for more information on using Contexts.
2674func (c *CloudWatchLogs) GetLogEventsWithContext(ctx aws.Context, input *GetLogEventsInput, opts ...request.Option) (*GetLogEventsOutput, error) {
2675	req, out := c.GetLogEventsRequest(input)
2676	req.SetContext(ctx)
2677	req.ApplyOptions(opts...)
2678	return out, req.Send()
2679}
2680
2681// GetLogEventsPages iterates over the pages of a GetLogEvents operation,
2682// calling the "fn" function with the response data for each page. To stop
2683// iterating, return false from the fn function.
2684//
2685// See GetLogEvents method for more information on how to use this operation.
2686//
2687// Note: This operation can generate multiple requests to a service.
2688//
2689//    // Example iterating over at most 3 pages of a GetLogEvents operation.
2690//    pageNum := 0
2691//    err := client.GetLogEventsPages(params,
2692//        func(page *cloudwatchlogs.GetLogEventsOutput, lastPage bool) bool {
2693//            pageNum++
2694//            fmt.Println(page)
2695//            return pageNum <= 3
2696//        })
2697//
2698func (c *CloudWatchLogs) GetLogEventsPages(input *GetLogEventsInput, fn func(*GetLogEventsOutput, bool) bool) error {
2699	return c.GetLogEventsPagesWithContext(aws.BackgroundContext(), input, fn)
2700}
2701
2702// GetLogEventsPagesWithContext same as GetLogEventsPages except
2703// it takes a Context and allows setting request options on the pages.
2704//
2705// The context must be non-nil and will be used for request cancellation. If
2706// the context is nil a panic will occur. In the future the SDK may create
2707// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2708// for more information on using Contexts.
2709func (c *CloudWatchLogs) GetLogEventsPagesWithContext(ctx aws.Context, input *GetLogEventsInput, fn func(*GetLogEventsOutput, bool) bool, opts ...request.Option) error {
2710	p := request.Pagination{
2711		EndPageOnSameToken: true,
2712		NewRequest: func() (*request.Request, error) {
2713			var inCpy *GetLogEventsInput
2714			if input != nil {
2715				tmp := *input
2716				inCpy = &tmp
2717			}
2718			req, _ := c.GetLogEventsRequest(inCpy)
2719			req.SetContext(ctx)
2720			req.ApplyOptions(opts...)
2721			return req, nil
2722		},
2723	}
2724
2725	for p.Next() {
2726		if !fn(p.Page().(*GetLogEventsOutput), !p.HasNextPage()) {
2727			break
2728		}
2729	}
2730
2731	return p.Err()
2732}
2733
2734const opGetLogGroupFields = "GetLogGroupFields"
2735
2736// GetLogGroupFieldsRequest generates a "aws/request.Request" representing the
2737// client's request for the GetLogGroupFields operation. The "output" return
2738// value will be populated with the request's response once the request completes
2739// successfully.
2740//
2741// Use "Send" method on the returned Request to send the API call to the service.
2742// the "output" return value is not valid until after Send returns without error.
2743//
2744// See GetLogGroupFields for more information on using the GetLogGroupFields
2745// API call, and error handling.
2746//
2747// This method is useful when you want to inject custom logic or configuration
2748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2749//
2750//
2751//    // Example sending a request using the GetLogGroupFieldsRequest method.
2752//    req, resp := client.GetLogGroupFieldsRequest(params)
2753//
2754//    err := req.Send()
2755//    if err == nil { // resp is now filled
2756//        fmt.Println(resp)
2757//    }
2758//
2759// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogGroupFields
2760func (c *CloudWatchLogs) GetLogGroupFieldsRequest(input *GetLogGroupFieldsInput) (req *request.Request, output *GetLogGroupFieldsOutput) {
2761	op := &request.Operation{
2762		Name:       opGetLogGroupFields,
2763		HTTPMethod: "POST",
2764		HTTPPath:   "/",
2765	}
2766
2767	if input == nil {
2768		input = &GetLogGroupFieldsInput{}
2769	}
2770
2771	output = &GetLogGroupFieldsOutput{}
2772	req = c.newRequest(op, input, output)
2773	return
2774}
2775
2776// GetLogGroupFields API operation for Amazon CloudWatch Logs.
2777//
2778// Returns a list of the fields that are included in log events in the specified
2779// log group, along with the percentage of log events that contain each field.
2780// The search is limited to a time period that you specify.
2781//
2782// In the results, fields that start with @ are fields generated by CloudWatch
2783// Logs. For example, @timestamp is the timestamp of each log event. For more
2784// information about the fields that are generated by CloudWatch logs, see Supported
2785// Logs and Discovered Fields (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData-discoverable-fields.html).
2786//
2787// The response results are sorted by the frequency percentage, starting with
2788// the highest percentage.
2789//
2790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2791// with awserr.Error's Code and Message methods to get detailed information about
2792// the error.
2793//
2794// See the AWS API reference guide for Amazon CloudWatch Logs's
2795// API operation GetLogGroupFields for usage and error information.
2796//
2797// Returned Error Types:
2798//   * InvalidParameterException
2799//   A parameter is specified incorrectly.
2800//
2801//   * LimitExceededException
2802//   You have reached the maximum number of resources that can be created.
2803//
2804//   * ResourceNotFoundException
2805//   The specified resource does not exist.
2806//
2807//   * ServiceUnavailableException
2808//   The service cannot complete the request.
2809//
2810// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogGroupFields
2811func (c *CloudWatchLogs) GetLogGroupFields(input *GetLogGroupFieldsInput) (*GetLogGroupFieldsOutput, error) {
2812	req, out := c.GetLogGroupFieldsRequest(input)
2813	return out, req.Send()
2814}
2815
2816// GetLogGroupFieldsWithContext is the same as GetLogGroupFields with the addition of
2817// the ability to pass a context and additional request options.
2818//
2819// See GetLogGroupFields for details on how to use this API operation.
2820//
2821// The context must be non-nil and will be used for request cancellation. If
2822// the context is nil a panic will occur. In the future the SDK may create
2823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2824// for more information on using Contexts.
2825func (c *CloudWatchLogs) GetLogGroupFieldsWithContext(ctx aws.Context, input *GetLogGroupFieldsInput, opts ...request.Option) (*GetLogGroupFieldsOutput, error) {
2826	req, out := c.GetLogGroupFieldsRequest(input)
2827	req.SetContext(ctx)
2828	req.ApplyOptions(opts...)
2829	return out, req.Send()
2830}
2831
2832const opGetLogRecord = "GetLogRecord"
2833
2834// GetLogRecordRequest generates a "aws/request.Request" representing the
2835// client's request for the GetLogRecord operation. The "output" return
2836// value will be populated with the request's response once the request completes
2837// successfully.
2838//
2839// Use "Send" method on the returned Request to send the API call to the service.
2840// the "output" return value is not valid until after Send returns without error.
2841//
2842// See GetLogRecord for more information on using the GetLogRecord
2843// API call, and error handling.
2844//
2845// This method is useful when you want to inject custom logic or configuration
2846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2847//
2848//
2849//    // Example sending a request using the GetLogRecordRequest method.
2850//    req, resp := client.GetLogRecordRequest(params)
2851//
2852//    err := req.Send()
2853//    if err == nil { // resp is now filled
2854//        fmt.Println(resp)
2855//    }
2856//
2857// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogRecord
2858func (c *CloudWatchLogs) GetLogRecordRequest(input *GetLogRecordInput) (req *request.Request, output *GetLogRecordOutput) {
2859	op := &request.Operation{
2860		Name:       opGetLogRecord,
2861		HTTPMethod: "POST",
2862		HTTPPath:   "/",
2863	}
2864
2865	if input == nil {
2866		input = &GetLogRecordInput{}
2867	}
2868
2869	output = &GetLogRecordOutput{}
2870	req = c.newRequest(op, input, output)
2871	return
2872}
2873
2874// GetLogRecord API operation for Amazon CloudWatch Logs.
2875//
2876// Retrieves all of the fields and values of a single log event. All fields
2877// are retrieved, even if the original query that produced the logRecordPointer
2878// retrieved only a subset of fields. Fields are returned as field name/field
2879// value pairs.
2880//
2881// The full unparsed log event is returned within @message.
2882//
2883// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2884// with awserr.Error's Code and Message methods to get detailed information about
2885// the error.
2886//
2887// See the AWS API reference guide for Amazon CloudWatch Logs's
2888// API operation GetLogRecord for usage and error information.
2889//
2890// Returned Error Types:
2891//   * InvalidParameterException
2892//   A parameter is specified incorrectly.
2893//
2894//   * LimitExceededException
2895//   You have reached the maximum number of resources that can be created.
2896//
2897//   * ResourceNotFoundException
2898//   The specified resource does not exist.
2899//
2900//   * ServiceUnavailableException
2901//   The service cannot complete the request.
2902//
2903// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogRecord
2904func (c *CloudWatchLogs) GetLogRecord(input *GetLogRecordInput) (*GetLogRecordOutput, error) {
2905	req, out := c.GetLogRecordRequest(input)
2906	return out, req.Send()
2907}
2908
2909// GetLogRecordWithContext is the same as GetLogRecord with the addition of
2910// the ability to pass a context and additional request options.
2911//
2912// See GetLogRecord for details on how to use this API operation.
2913//
2914// The context must be non-nil and will be used for request cancellation. If
2915// the context is nil a panic will occur. In the future the SDK may create
2916// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2917// for more information on using Contexts.
2918func (c *CloudWatchLogs) GetLogRecordWithContext(ctx aws.Context, input *GetLogRecordInput, opts ...request.Option) (*GetLogRecordOutput, error) {
2919	req, out := c.GetLogRecordRequest(input)
2920	req.SetContext(ctx)
2921	req.ApplyOptions(opts...)
2922	return out, req.Send()
2923}
2924
2925const opGetQueryResults = "GetQueryResults"
2926
2927// GetQueryResultsRequest generates a "aws/request.Request" representing the
2928// client's request for the GetQueryResults operation. The "output" return
2929// value will be populated with the request's response once the request completes
2930// successfully.
2931//
2932// Use "Send" method on the returned Request to send the API call to the service.
2933// the "output" return value is not valid until after Send returns without error.
2934//
2935// See GetQueryResults for more information on using the GetQueryResults
2936// API call, and error handling.
2937//
2938// This method is useful when you want to inject custom logic or configuration
2939// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2940//
2941//
2942//    // Example sending a request using the GetQueryResultsRequest method.
2943//    req, resp := client.GetQueryResultsRequest(params)
2944//
2945//    err := req.Send()
2946//    if err == nil { // resp is now filled
2947//        fmt.Println(resp)
2948//    }
2949//
2950// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetQueryResults
2951func (c *CloudWatchLogs) GetQueryResultsRequest(input *GetQueryResultsInput) (req *request.Request, output *GetQueryResultsOutput) {
2952	op := &request.Operation{
2953		Name:       opGetQueryResults,
2954		HTTPMethod: "POST",
2955		HTTPPath:   "/",
2956	}
2957
2958	if input == nil {
2959		input = &GetQueryResultsInput{}
2960	}
2961
2962	output = &GetQueryResultsOutput{}
2963	req = c.newRequest(op, input, output)
2964	return
2965}
2966
2967// GetQueryResults API operation for Amazon CloudWatch Logs.
2968//
2969// Returns the results from the specified query.
2970//
2971// Only the fields requested in the query are returned, along with a @ptr field,
2972// which is the identifier for the log record. You can use the value of @ptr
2973// in a GetLogRecord (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogRecord.html)
2974// operation to get the full log record.
2975//
2976// GetQueryResults does not start a query execution. To run a query, use StartQuery
2977// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_StartQuery.html).
2978//
2979// If the value of the Status field in the output is Running, this operation
2980// returns only partial results. If you see a value of Scheduled or Running
2981// for the status, you can retry the operation later to see the final results.
2982//
2983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2984// with awserr.Error's Code and Message methods to get detailed information about
2985// the error.
2986//
2987// See the AWS API reference guide for Amazon CloudWatch Logs's
2988// API operation GetQueryResults for usage and error information.
2989//
2990// Returned Error Types:
2991//   * InvalidParameterException
2992//   A parameter is specified incorrectly.
2993//
2994//   * ResourceNotFoundException
2995//   The specified resource does not exist.
2996//
2997//   * ServiceUnavailableException
2998//   The service cannot complete the request.
2999//
3000// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetQueryResults
3001func (c *CloudWatchLogs) GetQueryResults(input *GetQueryResultsInput) (*GetQueryResultsOutput, error) {
3002	req, out := c.GetQueryResultsRequest(input)
3003	return out, req.Send()
3004}
3005
3006// GetQueryResultsWithContext is the same as GetQueryResults with the addition of
3007// the ability to pass a context and additional request options.
3008//
3009// See GetQueryResults for details on how to use this API operation.
3010//
3011// The context must be non-nil and will be used for request cancellation. If
3012// the context is nil a panic will occur. In the future the SDK may create
3013// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3014// for more information on using Contexts.
3015func (c *CloudWatchLogs) GetQueryResultsWithContext(ctx aws.Context, input *GetQueryResultsInput, opts ...request.Option) (*GetQueryResultsOutput, error) {
3016	req, out := c.GetQueryResultsRequest(input)
3017	req.SetContext(ctx)
3018	req.ApplyOptions(opts...)
3019	return out, req.Send()
3020}
3021
3022const opListTagsLogGroup = "ListTagsLogGroup"
3023
3024// ListTagsLogGroupRequest generates a "aws/request.Request" representing the
3025// client's request for the ListTagsLogGroup operation. The "output" return
3026// value will be populated with the request's response once the request completes
3027// successfully.
3028//
3029// Use "Send" method on the returned Request to send the API call to the service.
3030// the "output" return value is not valid until after Send returns without error.
3031//
3032// See ListTagsLogGroup for more information on using the ListTagsLogGroup
3033// API call, and error handling.
3034//
3035// This method is useful when you want to inject custom logic or configuration
3036// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3037//
3038//
3039//    // Example sending a request using the ListTagsLogGroupRequest method.
3040//    req, resp := client.ListTagsLogGroupRequest(params)
3041//
3042//    err := req.Send()
3043//    if err == nil { // resp is now filled
3044//        fmt.Println(resp)
3045//    }
3046//
3047// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListTagsLogGroup
3048func (c *CloudWatchLogs) ListTagsLogGroupRequest(input *ListTagsLogGroupInput) (req *request.Request, output *ListTagsLogGroupOutput) {
3049	op := &request.Operation{
3050		Name:       opListTagsLogGroup,
3051		HTTPMethod: "POST",
3052		HTTPPath:   "/",
3053	}
3054
3055	if input == nil {
3056		input = &ListTagsLogGroupInput{}
3057	}
3058
3059	output = &ListTagsLogGroupOutput{}
3060	req = c.newRequest(op, input, output)
3061	return
3062}
3063
3064// ListTagsLogGroup API operation for Amazon CloudWatch Logs.
3065//
3066// Lists the tags for the specified log group.
3067//
3068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3069// with awserr.Error's Code and Message methods to get detailed information about
3070// the error.
3071//
3072// See the AWS API reference guide for Amazon CloudWatch Logs's
3073// API operation ListTagsLogGroup for usage and error information.
3074//
3075// Returned Error Types:
3076//   * ResourceNotFoundException
3077//   The specified resource does not exist.
3078//
3079//   * ServiceUnavailableException
3080//   The service cannot complete the request.
3081//
3082// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListTagsLogGroup
3083func (c *CloudWatchLogs) ListTagsLogGroup(input *ListTagsLogGroupInput) (*ListTagsLogGroupOutput, error) {
3084	req, out := c.ListTagsLogGroupRequest(input)
3085	return out, req.Send()
3086}
3087
3088// ListTagsLogGroupWithContext is the same as ListTagsLogGroup with the addition of
3089// the ability to pass a context and additional request options.
3090//
3091// See ListTagsLogGroup for details on how to use this API operation.
3092//
3093// The context must be non-nil and will be used for request cancellation. If
3094// the context is nil a panic will occur. In the future the SDK may create
3095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3096// for more information on using Contexts.
3097func (c *CloudWatchLogs) ListTagsLogGroupWithContext(ctx aws.Context, input *ListTagsLogGroupInput, opts ...request.Option) (*ListTagsLogGroupOutput, error) {
3098	req, out := c.ListTagsLogGroupRequest(input)
3099	req.SetContext(ctx)
3100	req.ApplyOptions(opts...)
3101	return out, req.Send()
3102}
3103
3104const opPutDestination = "PutDestination"
3105
3106// PutDestinationRequest generates a "aws/request.Request" representing the
3107// client's request for the PutDestination operation. The "output" return
3108// value will be populated with the request's response once the request completes
3109// successfully.
3110//
3111// Use "Send" method on the returned Request to send the API call to the service.
3112// the "output" return value is not valid until after Send returns without error.
3113//
3114// See PutDestination for more information on using the PutDestination
3115// API call, and error handling.
3116//
3117// This method is useful when you want to inject custom logic or configuration
3118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3119//
3120//
3121//    // Example sending a request using the PutDestinationRequest method.
3122//    req, resp := client.PutDestinationRequest(params)
3123//
3124//    err := req.Send()
3125//    if err == nil { // resp is now filled
3126//        fmt.Println(resp)
3127//    }
3128//
3129// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDestination
3130func (c *CloudWatchLogs) PutDestinationRequest(input *PutDestinationInput) (req *request.Request, output *PutDestinationOutput) {
3131	op := &request.Operation{
3132		Name:       opPutDestination,
3133		HTTPMethod: "POST",
3134		HTTPPath:   "/",
3135	}
3136
3137	if input == nil {
3138		input = &PutDestinationInput{}
3139	}
3140
3141	output = &PutDestinationOutput{}
3142	req = c.newRequest(op, input, output)
3143	return
3144}
3145
3146// PutDestination API operation for Amazon CloudWatch Logs.
3147//
3148// Creates or updates a destination. This operation is used only to create destinations
3149// for cross-account subscriptions.
3150//
3151// A destination encapsulates a physical resource (such as an Amazon Kinesis
3152// stream) and enables you to subscribe to a real-time stream of log events
3153// for a different account, ingested using PutLogEvents (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html).
3154//
3155// Through an access policy, a destination controls what is written to it. By
3156// default, PutDestination does not set any access policy with the destination,
3157// which means a cross-account user cannot call PutSubscriptionFilter (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutSubscriptionFilter.html)
3158// against this destination. To enable this, the destination owner must call
3159// PutDestinationPolicy (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDestinationPolicy.html)
3160// after PutDestination.
3161//
3162// To perform a PutDestination operation, you must also have the iam:PassRole
3163// permission.
3164//
3165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3166// with awserr.Error's Code and Message methods to get detailed information about
3167// the error.
3168//
3169// See the AWS API reference guide for Amazon CloudWatch Logs's
3170// API operation PutDestination for usage and error information.
3171//
3172// Returned Error Types:
3173//   * InvalidParameterException
3174//   A parameter is specified incorrectly.
3175//
3176//   * OperationAbortedException
3177//   Multiple requests to update the same resource were in conflict.
3178//
3179//   * ServiceUnavailableException
3180//   The service cannot complete the request.
3181//
3182// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDestination
3183func (c *CloudWatchLogs) PutDestination(input *PutDestinationInput) (*PutDestinationOutput, error) {
3184	req, out := c.PutDestinationRequest(input)
3185	return out, req.Send()
3186}
3187
3188// PutDestinationWithContext is the same as PutDestination with the addition of
3189// the ability to pass a context and additional request options.
3190//
3191// See PutDestination for details on how to use this API operation.
3192//
3193// The context must be non-nil and will be used for request cancellation. If
3194// the context is nil a panic will occur. In the future the SDK may create
3195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3196// for more information on using Contexts.
3197func (c *CloudWatchLogs) PutDestinationWithContext(ctx aws.Context, input *PutDestinationInput, opts ...request.Option) (*PutDestinationOutput, error) {
3198	req, out := c.PutDestinationRequest(input)
3199	req.SetContext(ctx)
3200	req.ApplyOptions(opts...)
3201	return out, req.Send()
3202}
3203
3204const opPutDestinationPolicy = "PutDestinationPolicy"
3205
3206// PutDestinationPolicyRequest generates a "aws/request.Request" representing the
3207// client's request for the PutDestinationPolicy operation. The "output" return
3208// value will be populated with the request's response once the request completes
3209// successfully.
3210//
3211// Use "Send" method on the returned Request to send the API call to the service.
3212// the "output" return value is not valid until after Send returns without error.
3213//
3214// See PutDestinationPolicy for more information on using the PutDestinationPolicy
3215// API call, and error handling.
3216//
3217// This method is useful when you want to inject custom logic or configuration
3218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3219//
3220//
3221//    // Example sending a request using the PutDestinationPolicyRequest method.
3222//    req, resp := client.PutDestinationPolicyRequest(params)
3223//
3224//    err := req.Send()
3225//    if err == nil { // resp is now filled
3226//        fmt.Println(resp)
3227//    }
3228//
3229// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDestinationPolicy
3230func (c *CloudWatchLogs) PutDestinationPolicyRequest(input *PutDestinationPolicyInput) (req *request.Request, output *PutDestinationPolicyOutput) {
3231	op := &request.Operation{
3232		Name:       opPutDestinationPolicy,
3233		HTTPMethod: "POST",
3234		HTTPPath:   "/",
3235	}
3236
3237	if input == nil {
3238		input = &PutDestinationPolicyInput{}
3239	}
3240
3241	output = &PutDestinationPolicyOutput{}
3242	req = c.newRequest(op, input, output)
3243	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3244	return
3245}
3246
3247// PutDestinationPolicy API operation for Amazon CloudWatch Logs.
3248//
3249// Creates or updates an access policy associated with an existing destination.
3250// An access policy is an IAM policy document (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_overview.html)
3251// that is used to authorize claims to register a subscription filter against
3252// a given destination.
3253//
3254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3255// with awserr.Error's Code and Message methods to get detailed information about
3256// the error.
3257//
3258// See the AWS API reference guide for Amazon CloudWatch Logs's
3259// API operation PutDestinationPolicy for usage and error information.
3260//
3261// Returned Error Types:
3262//   * InvalidParameterException
3263//   A parameter is specified incorrectly.
3264//
3265//   * OperationAbortedException
3266//   Multiple requests to update the same resource were in conflict.
3267//
3268//   * ServiceUnavailableException
3269//   The service cannot complete the request.
3270//
3271// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDestinationPolicy
3272func (c *CloudWatchLogs) PutDestinationPolicy(input *PutDestinationPolicyInput) (*PutDestinationPolicyOutput, error) {
3273	req, out := c.PutDestinationPolicyRequest(input)
3274	return out, req.Send()
3275}
3276
3277// PutDestinationPolicyWithContext is the same as PutDestinationPolicy with the addition of
3278// the ability to pass a context and additional request options.
3279//
3280// See PutDestinationPolicy for details on how to use this API operation.
3281//
3282// The context must be non-nil and will be used for request cancellation. If
3283// the context is nil a panic will occur. In the future the SDK may create
3284// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3285// for more information on using Contexts.
3286func (c *CloudWatchLogs) PutDestinationPolicyWithContext(ctx aws.Context, input *PutDestinationPolicyInput, opts ...request.Option) (*PutDestinationPolicyOutput, error) {
3287	req, out := c.PutDestinationPolicyRequest(input)
3288	req.SetContext(ctx)
3289	req.ApplyOptions(opts...)
3290	return out, req.Send()
3291}
3292
3293const opPutLogEvents = "PutLogEvents"
3294
3295// PutLogEventsRequest generates a "aws/request.Request" representing the
3296// client's request for the PutLogEvents operation. The "output" return
3297// value will be populated with the request's response once the request completes
3298// successfully.
3299//
3300// Use "Send" method on the returned Request to send the API call to the service.
3301// the "output" return value is not valid until after Send returns without error.
3302//
3303// See PutLogEvents for more information on using the PutLogEvents
3304// API call, and error handling.
3305//
3306// This method is useful when you want to inject custom logic or configuration
3307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3308//
3309//
3310//    // Example sending a request using the PutLogEventsRequest method.
3311//    req, resp := client.PutLogEventsRequest(params)
3312//
3313//    err := req.Send()
3314//    if err == nil { // resp is now filled
3315//        fmt.Println(resp)
3316//    }
3317//
3318// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutLogEvents
3319func (c *CloudWatchLogs) PutLogEventsRequest(input *PutLogEventsInput) (req *request.Request, output *PutLogEventsOutput) {
3320	op := &request.Operation{
3321		Name:       opPutLogEvents,
3322		HTTPMethod: "POST",
3323		HTTPPath:   "/",
3324	}
3325
3326	if input == nil {
3327		input = &PutLogEventsInput{}
3328	}
3329
3330	output = &PutLogEventsOutput{}
3331	req = c.newRequest(op, input, output)
3332	return
3333}
3334
3335// PutLogEvents API operation for Amazon CloudWatch Logs.
3336//
3337// Uploads a batch of log events to the specified log stream.
3338//
3339// You must include the sequence token obtained from the response of the previous
3340// call. An upload in a newly created log stream does not require a sequence
3341// token. You can also get the sequence token in the expectedSequenceToken field
3342// from InvalidSequenceTokenException. If you call PutLogEvents twice within
3343// a narrow time period using the same value for sequenceToken, both calls might
3344// be successful or one might be rejected.
3345//
3346// The batch of events must satisfy the following constraints:
3347//
3348//    * The maximum batch size is 1,048,576 bytes. This size is calculated as
3349//    the sum of all event messages in UTF-8, plus 26 bytes for each log event.
3350//
3351//    * None of the log events in the batch can be more than 2 hours in the
3352//    future.
3353//
3354//    * None of the log events in the batch can be older than 14 days or older
3355//    than the retention period of the log group.
3356//
3357//    * The log events in the batch must be in chronological order by their
3358//    timestamp. The timestamp is the time the event occurred, expressed as
3359//    the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In AWS Tools
3360//    for PowerShell and the AWS SDK for .NET, the timestamp is specified in
3361//    .NET format: yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)
3362//
3363//    * A batch of log events in a single request cannot span more than 24 hours.
3364//    Otherwise, the operation fails.
3365//
3366//    * The maximum number of log events in a batch is 10,000.
3367//
3368//    * There is a quota of 5 requests per second per log stream. Additional
3369//    requests are throttled. This quota can't be changed.
3370//
3371// If a call to PutLogEvents returns "UnrecognizedClientException" the most
3372// likely cause is an invalid AWS access key ID or secret key.
3373//
3374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3375// with awserr.Error's Code and Message methods to get detailed information about
3376// the error.
3377//
3378// See the AWS API reference guide for Amazon CloudWatch Logs's
3379// API operation PutLogEvents for usage and error information.
3380//
3381// Returned Error Types:
3382//   * InvalidParameterException
3383//   A parameter is specified incorrectly.
3384//
3385//   * InvalidSequenceTokenException
3386//   The sequence token is not valid. You can get the correct sequence token in
3387//   the expectedSequenceToken field in the InvalidSequenceTokenException message.
3388//
3389//   * DataAlreadyAcceptedException
3390//   The event was already logged.
3391//
3392//   * ResourceNotFoundException
3393//   The specified resource does not exist.
3394//
3395//   * ServiceUnavailableException
3396//   The service cannot complete the request.
3397//
3398//   * UnrecognizedClientException
3399//   The most likely cause is an invalid AWS access key ID or secret key.
3400//
3401// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutLogEvents
3402func (c *CloudWatchLogs) PutLogEvents(input *PutLogEventsInput) (*PutLogEventsOutput, error) {
3403	req, out := c.PutLogEventsRequest(input)
3404	return out, req.Send()
3405}
3406
3407// PutLogEventsWithContext is the same as PutLogEvents with the addition of
3408// the ability to pass a context and additional request options.
3409//
3410// See PutLogEvents for details on how to use this API operation.
3411//
3412// The context must be non-nil and will be used for request cancellation. If
3413// the context is nil a panic will occur. In the future the SDK may create
3414// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3415// for more information on using Contexts.
3416func (c *CloudWatchLogs) PutLogEventsWithContext(ctx aws.Context, input *PutLogEventsInput, opts ...request.Option) (*PutLogEventsOutput, error) {
3417	req, out := c.PutLogEventsRequest(input)
3418	req.SetContext(ctx)
3419	req.ApplyOptions(opts...)
3420	return out, req.Send()
3421}
3422
3423const opPutMetricFilter = "PutMetricFilter"
3424
3425// PutMetricFilterRequest generates a "aws/request.Request" representing the
3426// client's request for the PutMetricFilter operation. The "output" return
3427// value will be populated with the request's response once the request completes
3428// successfully.
3429//
3430// Use "Send" method on the returned Request to send the API call to the service.
3431// the "output" return value is not valid until after Send returns without error.
3432//
3433// See PutMetricFilter for more information on using the PutMetricFilter
3434// API call, and error handling.
3435//
3436// This method is useful when you want to inject custom logic or configuration
3437// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3438//
3439//
3440//    // Example sending a request using the PutMetricFilterRequest method.
3441//    req, resp := client.PutMetricFilterRequest(params)
3442//
3443//    err := req.Send()
3444//    if err == nil { // resp is now filled
3445//        fmt.Println(resp)
3446//    }
3447//
3448// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutMetricFilter
3449func (c *CloudWatchLogs) PutMetricFilterRequest(input *PutMetricFilterInput) (req *request.Request, output *PutMetricFilterOutput) {
3450	op := &request.Operation{
3451		Name:       opPutMetricFilter,
3452		HTTPMethod: "POST",
3453		HTTPPath:   "/",
3454	}
3455
3456	if input == nil {
3457		input = &PutMetricFilterInput{}
3458	}
3459
3460	output = &PutMetricFilterOutput{}
3461	req = c.newRequest(op, input, output)
3462	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3463	return
3464}
3465
3466// PutMetricFilter API operation for Amazon CloudWatch Logs.
3467//
3468// Creates or updates a metric filter and associates it with the specified log
3469// group. Metric filters allow you to configure rules to extract metric data
3470// from log events ingested through PutLogEvents (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html).
3471//
3472// The maximum number of metric filters that can be associated with a log group
3473// is 100.
3474//
3475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3476// with awserr.Error's Code and Message methods to get detailed information about
3477// the error.
3478//
3479// See the AWS API reference guide for Amazon CloudWatch Logs's
3480// API operation PutMetricFilter for usage and error information.
3481//
3482// Returned Error Types:
3483//   * InvalidParameterException
3484//   A parameter is specified incorrectly.
3485//
3486//   * ResourceNotFoundException
3487//   The specified resource does not exist.
3488//
3489//   * OperationAbortedException
3490//   Multiple requests to update the same resource were in conflict.
3491//
3492//   * LimitExceededException
3493//   You have reached the maximum number of resources that can be created.
3494//
3495//   * ServiceUnavailableException
3496//   The service cannot complete the request.
3497//
3498// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutMetricFilter
3499func (c *CloudWatchLogs) PutMetricFilter(input *PutMetricFilterInput) (*PutMetricFilterOutput, error) {
3500	req, out := c.PutMetricFilterRequest(input)
3501	return out, req.Send()
3502}
3503
3504// PutMetricFilterWithContext is the same as PutMetricFilter with the addition of
3505// the ability to pass a context and additional request options.
3506//
3507// See PutMetricFilter for details on how to use this API operation.
3508//
3509// The context must be non-nil and will be used for request cancellation. If
3510// the context is nil a panic will occur. In the future the SDK may create
3511// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3512// for more information on using Contexts.
3513func (c *CloudWatchLogs) PutMetricFilterWithContext(ctx aws.Context, input *PutMetricFilterInput, opts ...request.Option) (*PutMetricFilterOutput, error) {
3514	req, out := c.PutMetricFilterRequest(input)
3515	req.SetContext(ctx)
3516	req.ApplyOptions(opts...)
3517	return out, req.Send()
3518}
3519
3520const opPutQueryDefinition = "PutQueryDefinition"
3521
3522// PutQueryDefinitionRequest generates a "aws/request.Request" representing the
3523// client's request for the PutQueryDefinition operation. The "output" return
3524// value will be populated with the request's response once the request completes
3525// successfully.
3526//
3527// Use "Send" method on the returned Request to send the API call to the service.
3528// the "output" return value is not valid until after Send returns without error.
3529//
3530// See PutQueryDefinition for more information on using the PutQueryDefinition
3531// API call, and error handling.
3532//
3533// This method is useful when you want to inject custom logic or configuration
3534// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3535//
3536//
3537//    // Example sending a request using the PutQueryDefinitionRequest method.
3538//    req, resp := client.PutQueryDefinitionRequest(params)
3539//
3540//    err := req.Send()
3541//    if err == nil { // resp is now filled
3542//        fmt.Println(resp)
3543//    }
3544//
3545// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutQueryDefinition
3546func (c *CloudWatchLogs) PutQueryDefinitionRequest(input *PutQueryDefinitionInput) (req *request.Request, output *PutQueryDefinitionOutput) {
3547	op := &request.Operation{
3548		Name:       opPutQueryDefinition,
3549		HTTPMethod: "POST",
3550		HTTPPath:   "/",
3551	}
3552
3553	if input == nil {
3554		input = &PutQueryDefinitionInput{}
3555	}
3556
3557	output = &PutQueryDefinitionOutput{}
3558	req = c.newRequest(op, input, output)
3559	return
3560}
3561
3562// PutQueryDefinition API operation for Amazon CloudWatch Logs.
3563//
3564// Creates or updates a query definition for CloudWatch Logs Insights. For more
3565// information, see Analyzing Log Data with CloudWatch Logs Insights (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).
3566//
3567// To update a query definition, specify its queryDefinitionId in your request.
3568// The values of name, queryString, and logGroupNames are changed to the values
3569// that you specify in your update operation. No current values are retained
3570// from the current query definition. For example, if you update a current query
3571// definition that includes log groups, and you don't specify the logGroupNames
3572// parameter in your update operation, the query definition changes to contain
3573// no log groups.
3574//
3575// You must have the logs:PutQueryDefinition permission to be able to perform
3576// this operation.
3577//
3578// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3579// with awserr.Error's Code and Message methods to get detailed information about
3580// the error.
3581//
3582// See the AWS API reference guide for Amazon CloudWatch Logs's
3583// API operation PutQueryDefinition for usage and error information.
3584//
3585// Returned Error Types:
3586//   * InvalidParameterException
3587//   A parameter is specified incorrectly.
3588//
3589//   * ResourceNotFoundException
3590//   The specified resource does not exist.
3591//
3592//   * ServiceUnavailableException
3593//   The service cannot complete the request.
3594//
3595// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutQueryDefinition
3596func (c *CloudWatchLogs) PutQueryDefinition(input *PutQueryDefinitionInput) (*PutQueryDefinitionOutput, error) {
3597	req, out := c.PutQueryDefinitionRequest(input)
3598	return out, req.Send()
3599}
3600
3601// PutQueryDefinitionWithContext is the same as PutQueryDefinition with the addition of
3602// the ability to pass a context and additional request options.
3603//
3604// See PutQueryDefinition for details on how to use this API operation.
3605//
3606// The context must be non-nil and will be used for request cancellation. If
3607// the context is nil a panic will occur. In the future the SDK may create
3608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3609// for more information on using Contexts.
3610func (c *CloudWatchLogs) PutQueryDefinitionWithContext(ctx aws.Context, input *PutQueryDefinitionInput, opts ...request.Option) (*PutQueryDefinitionOutput, error) {
3611	req, out := c.PutQueryDefinitionRequest(input)
3612	req.SetContext(ctx)
3613	req.ApplyOptions(opts...)
3614	return out, req.Send()
3615}
3616
3617const opPutResourcePolicy = "PutResourcePolicy"
3618
3619// PutResourcePolicyRequest generates a "aws/request.Request" representing the
3620// client's request for the PutResourcePolicy operation. The "output" return
3621// value will be populated with the request's response once the request completes
3622// successfully.
3623//
3624// Use "Send" method on the returned Request to send the API call to the service.
3625// the "output" return value is not valid until after Send returns without error.
3626//
3627// See PutResourcePolicy for more information on using the PutResourcePolicy
3628// API call, and error handling.
3629//
3630// This method is useful when you want to inject custom logic or configuration
3631// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3632//
3633//
3634//    // Example sending a request using the PutResourcePolicyRequest method.
3635//    req, resp := client.PutResourcePolicyRequest(params)
3636//
3637//    err := req.Send()
3638//    if err == nil { // resp is now filled
3639//        fmt.Println(resp)
3640//    }
3641//
3642// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutResourcePolicy
3643func (c *CloudWatchLogs) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) {
3644	op := &request.Operation{
3645		Name:       opPutResourcePolicy,
3646		HTTPMethod: "POST",
3647		HTTPPath:   "/",
3648	}
3649
3650	if input == nil {
3651		input = &PutResourcePolicyInput{}
3652	}
3653
3654	output = &PutResourcePolicyOutput{}
3655	req = c.newRequest(op, input, output)
3656	return
3657}
3658
3659// PutResourcePolicy API operation for Amazon CloudWatch Logs.
3660//
3661// Creates or updates a resource policy allowing other AWS services to put log
3662// events to this account, such as Amazon Route 53. An account can have up to
3663// 10 resource policies per AWS Region.
3664//
3665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3666// with awserr.Error's Code and Message methods to get detailed information about
3667// the error.
3668//
3669// See the AWS API reference guide for Amazon CloudWatch Logs's
3670// API operation PutResourcePolicy for usage and error information.
3671//
3672// Returned Error Types:
3673//   * InvalidParameterException
3674//   A parameter is specified incorrectly.
3675//
3676//   * LimitExceededException
3677//   You have reached the maximum number of resources that can be created.
3678//
3679//   * ServiceUnavailableException
3680//   The service cannot complete the request.
3681//
3682// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutResourcePolicy
3683func (c *CloudWatchLogs) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) {
3684	req, out := c.PutResourcePolicyRequest(input)
3685	return out, req.Send()
3686}
3687
3688// PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of
3689// the ability to pass a context and additional request options.
3690//
3691// See PutResourcePolicy for details on how to use this API operation.
3692//
3693// The context must be non-nil and will be used for request cancellation. If
3694// the context is nil a panic will occur. In the future the SDK may create
3695// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3696// for more information on using Contexts.
3697func (c *CloudWatchLogs) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) {
3698	req, out := c.PutResourcePolicyRequest(input)
3699	req.SetContext(ctx)
3700	req.ApplyOptions(opts...)
3701	return out, req.Send()
3702}
3703
3704const opPutRetentionPolicy = "PutRetentionPolicy"
3705
3706// PutRetentionPolicyRequest generates a "aws/request.Request" representing the
3707// client's request for the PutRetentionPolicy operation. The "output" return
3708// value will be populated with the request's response once the request completes
3709// successfully.
3710//
3711// Use "Send" method on the returned Request to send the API call to the service.
3712// the "output" return value is not valid until after Send returns without error.
3713//
3714// See PutRetentionPolicy for more information on using the PutRetentionPolicy
3715// API call, and error handling.
3716//
3717// This method is useful when you want to inject custom logic or configuration
3718// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3719//
3720//
3721//    // Example sending a request using the PutRetentionPolicyRequest method.
3722//    req, resp := client.PutRetentionPolicyRequest(params)
3723//
3724//    err := req.Send()
3725//    if err == nil { // resp is now filled
3726//        fmt.Println(resp)
3727//    }
3728//
3729// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutRetentionPolicy
3730func (c *CloudWatchLogs) PutRetentionPolicyRequest(input *PutRetentionPolicyInput) (req *request.Request, output *PutRetentionPolicyOutput) {
3731	op := &request.Operation{
3732		Name:       opPutRetentionPolicy,
3733		HTTPMethod: "POST",
3734		HTTPPath:   "/",
3735	}
3736
3737	if input == nil {
3738		input = &PutRetentionPolicyInput{}
3739	}
3740
3741	output = &PutRetentionPolicyOutput{}
3742	req = c.newRequest(op, input, output)
3743	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3744	return
3745}
3746
3747// PutRetentionPolicy API operation for Amazon CloudWatch Logs.
3748//
3749// Sets the retention of the specified log group. A retention policy allows
3750// you to configure the number of days for which to retain log events in the
3751// specified log group.
3752//
3753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3754// with awserr.Error's Code and Message methods to get detailed information about
3755// the error.
3756//
3757// See the AWS API reference guide for Amazon CloudWatch Logs's
3758// API operation PutRetentionPolicy for usage and error information.
3759//
3760// Returned Error Types:
3761//   * InvalidParameterException
3762//   A parameter is specified incorrectly.
3763//
3764//   * ResourceNotFoundException
3765//   The specified resource does not exist.
3766//
3767//   * OperationAbortedException
3768//   Multiple requests to update the same resource were in conflict.
3769//
3770//   * ServiceUnavailableException
3771//   The service cannot complete the request.
3772//
3773// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutRetentionPolicy
3774func (c *CloudWatchLogs) PutRetentionPolicy(input *PutRetentionPolicyInput) (*PutRetentionPolicyOutput, error) {
3775	req, out := c.PutRetentionPolicyRequest(input)
3776	return out, req.Send()
3777}
3778
3779// PutRetentionPolicyWithContext is the same as PutRetentionPolicy with the addition of
3780// the ability to pass a context and additional request options.
3781//
3782// See PutRetentionPolicy for details on how to use this API operation.
3783//
3784// The context must be non-nil and will be used for request cancellation. If
3785// the context is nil a panic will occur. In the future the SDK may create
3786// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3787// for more information on using Contexts.
3788func (c *CloudWatchLogs) PutRetentionPolicyWithContext(ctx aws.Context, input *PutRetentionPolicyInput, opts ...request.Option) (*PutRetentionPolicyOutput, error) {
3789	req, out := c.PutRetentionPolicyRequest(input)
3790	req.SetContext(ctx)
3791	req.ApplyOptions(opts...)
3792	return out, req.Send()
3793}
3794
3795const opPutSubscriptionFilter = "PutSubscriptionFilter"
3796
3797// PutSubscriptionFilterRequest generates a "aws/request.Request" representing the
3798// client's request for the PutSubscriptionFilter operation. The "output" return
3799// value will be populated with the request's response once the request completes
3800// successfully.
3801//
3802// Use "Send" method on the returned Request to send the API call to the service.
3803// the "output" return value is not valid until after Send returns without error.
3804//
3805// See PutSubscriptionFilter for more information on using the PutSubscriptionFilter
3806// API call, and error handling.
3807//
3808// This method is useful when you want to inject custom logic or configuration
3809// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3810//
3811//
3812//    // Example sending a request using the PutSubscriptionFilterRequest method.
3813//    req, resp := client.PutSubscriptionFilterRequest(params)
3814//
3815//    err := req.Send()
3816//    if err == nil { // resp is now filled
3817//        fmt.Println(resp)
3818//    }
3819//
3820// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutSubscriptionFilter
3821func (c *CloudWatchLogs) PutSubscriptionFilterRequest(input *PutSubscriptionFilterInput) (req *request.Request, output *PutSubscriptionFilterOutput) {
3822	op := &request.Operation{
3823		Name:       opPutSubscriptionFilter,
3824		HTTPMethod: "POST",
3825		HTTPPath:   "/",
3826	}
3827
3828	if input == nil {
3829		input = &PutSubscriptionFilterInput{}
3830	}
3831
3832	output = &PutSubscriptionFilterOutput{}
3833	req = c.newRequest(op, input, output)
3834	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3835	return
3836}
3837
3838// PutSubscriptionFilter API operation for Amazon CloudWatch Logs.
3839//
3840// Creates or updates a subscription filter and associates it with the specified
3841// log group. Subscription filters allow you to subscribe to a real-time stream
3842// of log events ingested through PutLogEvents (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html)
3843// and have them delivered to a specific destination. When log events are sent
3844// to the receiving service, they are Base64 encoded and compressed with the
3845// gzip format.
3846//
3847// The following destinations are supported for subscription filters:
3848//
3849//    * An Amazon Kinesis stream belonging to the same account as the subscription
3850//    filter, for same-account delivery.
3851//
3852//    * A logical destination that belongs to a different account, for cross-account
3853//    delivery.
3854//
3855//    * An Amazon Kinesis Firehose delivery stream that belongs to the same
3856//    account as the subscription filter, for same-account delivery.
3857//
3858//    * An AWS Lambda function that belongs to the same account as the subscription
3859//    filter, for same-account delivery.
3860//
3861// There can only be one subscription filter associated with a log group. If
3862// you are updating an existing filter, you must specify the correct name in
3863// filterName. Otherwise, the call fails because you cannot associate a second
3864// filter with a log group.
3865//
3866// To perform a PutSubscriptionFilter operation, you must also have the iam:PassRole
3867// permission.
3868//
3869// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3870// with awserr.Error's Code and Message methods to get detailed information about
3871// the error.
3872//
3873// See the AWS API reference guide for Amazon CloudWatch Logs's
3874// API operation PutSubscriptionFilter for usage and error information.
3875//
3876// Returned Error Types:
3877//   * InvalidParameterException
3878//   A parameter is specified incorrectly.
3879//
3880//   * ResourceNotFoundException
3881//   The specified resource does not exist.
3882//
3883//   * OperationAbortedException
3884//   Multiple requests to update the same resource were in conflict.
3885//
3886//   * LimitExceededException
3887//   You have reached the maximum number of resources that can be created.
3888//
3889//   * ServiceUnavailableException
3890//   The service cannot complete the request.
3891//
3892// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutSubscriptionFilter
3893func (c *CloudWatchLogs) PutSubscriptionFilter(input *PutSubscriptionFilterInput) (*PutSubscriptionFilterOutput, error) {
3894	req, out := c.PutSubscriptionFilterRequest(input)
3895	return out, req.Send()
3896}
3897
3898// PutSubscriptionFilterWithContext is the same as PutSubscriptionFilter with the addition of
3899// the ability to pass a context and additional request options.
3900//
3901// See PutSubscriptionFilter for details on how to use this API operation.
3902//
3903// The context must be non-nil and will be used for request cancellation. If
3904// the context is nil a panic will occur. In the future the SDK may create
3905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3906// for more information on using Contexts.
3907func (c *CloudWatchLogs) PutSubscriptionFilterWithContext(ctx aws.Context, input *PutSubscriptionFilterInput, opts ...request.Option) (*PutSubscriptionFilterOutput, error) {
3908	req, out := c.PutSubscriptionFilterRequest(input)
3909	req.SetContext(ctx)
3910	req.ApplyOptions(opts...)
3911	return out, req.Send()
3912}
3913
3914const opStartQuery = "StartQuery"
3915
3916// StartQueryRequest generates a "aws/request.Request" representing the
3917// client's request for the StartQuery operation. The "output" return
3918// value will be populated with the request's response once the request completes
3919// successfully.
3920//
3921// Use "Send" method on the returned Request to send the API call to the service.
3922// the "output" return value is not valid until after Send returns without error.
3923//
3924// See StartQuery for more information on using the StartQuery
3925// API call, and error handling.
3926//
3927// This method is useful when you want to inject custom logic or configuration
3928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3929//
3930//
3931//    // Example sending a request using the StartQueryRequest method.
3932//    req, resp := client.StartQueryRequest(params)
3933//
3934//    err := req.Send()
3935//    if err == nil { // resp is now filled
3936//        fmt.Println(resp)
3937//    }
3938//
3939// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StartQuery
3940func (c *CloudWatchLogs) StartQueryRequest(input *StartQueryInput) (req *request.Request, output *StartQueryOutput) {
3941	op := &request.Operation{
3942		Name:       opStartQuery,
3943		HTTPMethod: "POST",
3944		HTTPPath:   "/",
3945	}
3946
3947	if input == nil {
3948		input = &StartQueryInput{}
3949	}
3950
3951	output = &StartQueryOutput{}
3952	req = c.newRequest(op, input, output)
3953	return
3954}
3955
3956// StartQuery API operation for Amazon CloudWatch Logs.
3957//
3958// Schedules a query of a log group using CloudWatch Logs Insights. You specify
3959// the log group and time range to query and the query string to use.
3960//
3961// For more information, see CloudWatch Logs Insights Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
3962//
3963// Queries time out after 15 minutes of execution. If your queries are timing
3964// out, reduce the time range being searched or partition your query into a
3965// number of queries.
3966//
3967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3968// with awserr.Error's Code and Message methods to get detailed information about
3969// the error.
3970//
3971// See the AWS API reference guide for Amazon CloudWatch Logs's
3972// API operation StartQuery for usage and error information.
3973//
3974// Returned Error Types:
3975//   * MalformedQueryException
3976//   The query string is not valid. Details about this error are displayed in
3977//   a QueryCompileError object. For more information, see QueryCompileError (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_QueryCompileError.html).
3978//
3979//   For more information about valid query syntax, see CloudWatch Logs Insights
3980//   Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
3981//
3982//   * InvalidParameterException
3983//   A parameter is specified incorrectly.
3984//
3985//   * LimitExceededException
3986//   You have reached the maximum number of resources that can be created.
3987//
3988//   * ResourceNotFoundException
3989//   The specified resource does not exist.
3990//
3991//   * ServiceUnavailableException
3992//   The service cannot complete the request.
3993//
3994// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StartQuery
3995func (c *CloudWatchLogs) StartQuery(input *StartQueryInput) (*StartQueryOutput, error) {
3996	req, out := c.StartQueryRequest(input)
3997	return out, req.Send()
3998}
3999
4000// StartQueryWithContext is the same as StartQuery with the addition of
4001// the ability to pass a context and additional request options.
4002//
4003// See StartQuery for details on how to use this API operation.
4004//
4005// The context must be non-nil and will be used for request cancellation. If
4006// the context is nil a panic will occur. In the future the SDK may create
4007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4008// for more information on using Contexts.
4009func (c *CloudWatchLogs) StartQueryWithContext(ctx aws.Context, input *StartQueryInput, opts ...request.Option) (*StartQueryOutput, error) {
4010	req, out := c.StartQueryRequest(input)
4011	req.SetContext(ctx)
4012	req.ApplyOptions(opts...)
4013	return out, req.Send()
4014}
4015
4016const opStopQuery = "StopQuery"
4017
4018// StopQueryRequest generates a "aws/request.Request" representing the
4019// client's request for the StopQuery operation. The "output" return
4020// value will be populated with the request's response once the request completes
4021// successfully.
4022//
4023// Use "Send" method on the returned Request to send the API call to the service.
4024// the "output" return value is not valid until after Send returns without error.
4025//
4026// See StopQuery for more information on using the StopQuery
4027// API call, and error handling.
4028//
4029// This method is useful when you want to inject custom logic or configuration
4030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4031//
4032//
4033//    // Example sending a request using the StopQueryRequest method.
4034//    req, resp := client.StopQueryRequest(params)
4035//
4036//    err := req.Send()
4037//    if err == nil { // resp is now filled
4038//        fmt.Println(resp)
4039//    }
4040//
4041// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StopQuery
4042func (c *CloudWatchLogs) StopQueryRequest(input *StopQueryInput) (req *request.Request, output *StopQueryOutput) {
4043	op := &request.Operation{
4044		Name:       opStopQuery,
4045		HTTPMethod: "POST",
4046		HTTPPath:   "/",
4047	}
4048
4049	if input == nil {
4050		input = &StopQueryInput{}
4051	}
4052
4053	output = &StopQueryOutput{}
4054	req = c.newRequest(op, input, output)
4055	return
4056}
4057
4058// StopQuery API operation for Amazon CloudWatch Logs.
4059//
4060// Stops a CloudWatch Logs Insights query that is in progress. If the query
4061// has already ended, the operation returns an error indicating that the specified
4062// query is not running.
4063//
4064// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4065// with awserr.Error's Code and Message methods to get detailed information about
4066// the error.
4067//
4068// See the AWS API reference guide for Amazon CloudWatch Logs's
4069// API operation StopQuery for usage and error information.
4070//
4071// Returned Error Types:
4072//   * InvalidParameterException
4073//   A parameter is specified incorrectly.
4074//
4075//   * ResourceNotFoundException
4076//   The specified resource does not exist.
4077//
4078//   * ServiceUnavailableException
4079//   The service cannot complete the request.
4080//
4081// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StopQuery
4082func (c *CloudWatchLogs) StopQuery(input *StopQueryInput) (*StopQueryOutput, error) {
4083	req, out := c.StopQueryRequest(input)
4084	return out, req.Send()
4085}
4086
4087// StopQueryWithContext is the same as StopQuery with the addition of
4088// the ability to pass a context and additional request options.
4089//
4090// See StopQuery for details on how to use this API operation.
4091//
4092// The context must be non-nil and will be used for request cancellation. If
4093// the context is nil a panic will occur. In the future the SDK may create
4094// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4095// for more information on using Contexts.
4096func (c *CloudWatchLogs) StopQueryWithContext(ctx aws.Context, input *StopQueryInput, opts ...request.Option) (*StopQueryOutput, error) {
4097	req, out := c.StopQueryRequest(input)
4098	req.SetContext(ctx)
4099	req.ApplyOptions(opts...)
4100	return out, req.Send()
4101}
4102
4103const opTagLogGroup = "TagLogGroup"
4104
4105// TagLogGroupRequest generates a "aws/request.Request" representing the
4106// client's request for the TagLogGroup operation. The "output" return
4107// value will be populated with the request's response once the request completes
4108// successfully.
4109//
4110// Use "Send" method on the returned Request to send the API call to the service.
4111// the "output" return value is not valid until after Send returns without error.
4112//
4113// See TagLogGroup for more information on using the TagLogGroup
4114// API call, and error handling.
4115//
4116// This method is useful when you want to inject custom logic or configuration
4117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4118//
4119//
4120//    // Example sending a request using the TagLogGroupRequest method.
4121//    req, resp := client.TagLogGroupRequest(params)
4122//
4123//    err := req.Send()
4124//    if err == nil { // resp is now filled
4125//        fmt.Println(resp)
4126//    }
4127//
4128// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TagLogGroup
4129func (c *CloudWatchLogs) TagLogGroupRequest(input *TagLogGroupInput) (req *request.Request, output *TagLogGroupOutput) {
4130	op := &request.Operation{
4131		Name:       opTagLogGroup,
4132		HTTPMethod: "POST",
4133		HTTPPath:   "/",
4134	}
4135
4136	if input == nil {
4137		input = &TagLogGroupInput{}
4138	}
4139
4140	output = &TagLogGroupOutput{}
4141	req = c.newRequest(op, input, output)
4142	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4143	return
4144}
4145
4146// TagLogGroup API operation for Amazon CloudWatch Logs.
4147//
4148// Adds or updates the specified tags for the specified log group.
4149//
4150// To list the tags for a log group, use ListTagsLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsLogGroup.html).
4151// To remove tags, use UntagLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_UntagLogGroup.html).
4152//
4153// For more information about tags, see Tag Log Groups in Amazon CloudWatch
4154// Logs (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#log-group-tagging)
4155// in the Amazon CloudWatch Logs User Guide.
4156//
4157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4158// with awserr.Error's Code and Message methods to get detailed information about
4159// the error.
4160//
4161// See the AWS API reference guide for Amazon CloudWatch Logs's
4162// API operation TagLogGroup for usage and error information.
4163//
4164// Returned Error Types:
4165//   * ResourceNotFoundException
4166//   The specified resource does not exist.
4167//
4168//   * InvalidParameterException
4169//   A parameter is specified incorrectly.
4170//
4171// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TagLogGroup
4172func (c *CloudWatchLogs) TagLogGroup(input *TagLogGroupInput) (*TagLogGroupOutput, error) {
4173	req, out := c.TagLogGroupRequest(input)
4174	return out, req.Send()
4175}
4176
4177// TagLogGroupWithContext is the same as TagLogGroup with the addition of
4178// the ability to pass a context and additional request options.
4179//
4180// See TagLogGroup for details on how to use this API operation.
4181//
4182// The context must be non-nil and will be used for request cancellation. If
4183// the context is nil a panic will occur. In the future the SDK may create
4184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4185// for more information on using Contexts.
4186func (c *CloudWatchLogs) TagLogGroupWithContext(ctx aws.Context, input *TagLogGroupInput, opts ...request.Option) (*TagLogGroupOutput, error) {
4187	req, out := c.TagLogGroupRequest(input)
4188	req.SetContext(ctx)
4189	req.ApplyOptions(opts...)
4190	return out, req.Send()
4191}
4192
4193const opTestMetricFilter = "TestMetricFilter"
4194
4195// TestMetricFilterRequest generates a "aws/request.Request" representing the
4196// client's request for the TestMetricFilter operation. The "output" return
4197// value will be populated with the request's response once the request completes
4198// successfully.
4199//
4200// Use "Send" method on the returned Request to send the API call to the service.
4201// the "output" return value is not valid until after Send returns without error.
4202//
4203// See TestMetricFilter for more information on using the TestMetricFilter
4204// API call, and error handling.
4205//
4206// This method is useful when you want to inject custom logic or configuration
4207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4208//
4209//
4210//    // Example sending a request using the TestMetricFilterRequest method.
4211//    req, resp := client.TestMetricFilterRequest(params)
4212//
4213//    err := req.Send()
4214//    if err == nil { // resp is now filled
4215//        fmt.Println(resp)
4216//    }
4217//
4218// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TestMetricFilter
4219func (c *CloudWatchLogs) TestMetricFilterRequest(input *TestMetricFilterInput) (req *request.Request, output *TestMetricFilterOutput) {
4220	op := &request.Operation{
4221		Name:       opTestMetricFilter,
4222		HTTPMethod: "POST",
4223		HTTPPath:   "/",
4224	}
4225
4226	if input == nil {
4227		input = &TestMetricFilterInput{}
4228	}
4229
4230	output = &TestMetricFilterOutput{}
4231	req = c.newRequest(op, input, output)
4232	return
4233}
4234
4235// TestMetricFilter API operation for Amazon CloudWatch Logs.
4236//
4237// Tests the filter pattern of a metric filter against a sample of log event
4238// messages. You can use this operation to validate the correctness of a metric
4239// filter pattern.
4240//
4241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4242// with awserr.Error's Code and Message methods to get detailed information about
4243// the error.
4244//
4245// See the AWS API reference guide for Amazon CloudWatch Logs's
4246// API operation TestMetricFilter for usage and error information.
4247//
4248// Returned Error Types:
4249//   * InvalidParameterException
4250//   A parameter is specified incorrectly.
4251//
4252//   * ServiceUnavailableException
4253//   The service cannot complete the request.
4254//
4255// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TestMetricFilter
4256func (c *CloudWatchLogs) TestMetricFilter(input *TestMetricFilterInput) (*TestMetricFilterOutput, error) {
4257	req, out := c.TestMetricFilterRequest(input)
4258	return out, req.Send()
4259}
4260
4261// TestMetricFilterWithContext is the same as TestMetricFilter with the addition of
4262// the ability to pass a context and additional request options.
4263//
4264// See TestMetricFilter for details on how to use this API operation.
4265//
4266// The context must be non-nil and will be used for request cancellation. If
4267// the context is nil a panic will occur. In the future the SDK may create
4268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4269// for more information on using Contexts.
4270func (c *CloudWatchLogs) TestMetricFilterWithContext(ctx aws.Context, input *TestMetricFilterInput, opts ...request.Option) (*TestMetricFilterOutput, error) {
4271	req, out := c.TestMetricFilterRequest(input)
4272	req.SetContext(ctx)
4273	req.ApplyOptions(opts...)
4274	return out, req.Send()
4275}
4276
4277const opUntagLogGroup = "UntagLogGroup"
4278
4279// UntagLogGroupRequest generates a "aws/request.Request" representing the
4280// client's request for the UntagLogGroup operation. The "output" return
4281// value will be populated with the request's response once the request completes
4282// successfully.
4283//
4284// Use "Send" method on the returned Request to send the API call to the service.
4285// the "output" return value is not valid until after Send returns without error.
4286//
4287// See UntagLogGroup for more information on using the UntagLogGroup
4288// API call, and error handling.
4289//
4290// This method is useful when you want to inject custom logic or configuration
4291// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4292//
4293//
4294//    // Example sending a request using the UntagLogGroupRequest method.
4295//    req, resp := client.UntagLogGroupRequest(params)
4296//
4297//    err := req.Send()
4298//    if err == nil { // resp is now filled
4299//        fmt.Println(resp)
4300//    }
4301//
4302// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/UntagLogGroup
4303func (c *CloudWatchLogs) UntagLogGroupRequest(input *UntagLogGroupInput) (req *request.Request, output *UntagLogGroupOutput) {
4304	op := &request.Operation{
4305		Name:       opUntagLogGroup,
4306		HTTPMethod: "POST",
4307		HTTPPath:   "/",
4308	}
4309
4310	if input == nil {
4311		input = &UntagLogGroupInput{}
4312	}
4313
4314	output = &UntagLogGroupOutput{}
4315	req = c.newRequest(op, input, output)
4316	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4317	return
4318}
4319
4320// UntagLogGroup API operation for Amazon CloudWatch Logs.
4321//
4322// Removes the specified tags from the specified log group.
4323//
4324// To list the tags for a log group, use ListTagsLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsLogGroup.html).
4325// To add tags, use TagLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_TagLogGroup.html).
4326//
4327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4328// with awserr.Error's Code and Message methods to get detailed information about
4329// the error.
4330//
4331// See the AWS API reference guide for Amazon CloudWatch Logs's
4332// API operation UntagLogGroup for usage and error information.
4333//
4334// Returned Error Types:
4335//   * ResourceNotFoundException
4336//   The specified resource does not exist.
4337//
4338// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/UntagLogGroup
4339func (c *CloudWatchLogs) UntagLogGroup(input *UntagLogGroupInput) (*UntagLogGroupOutput, error) {
4340	req, out := c.UntagLogGroupRequest(input)
4341	return out, req.Send()
4342}
4343
4344// UntagLogGroupWithContext is the same as UntagLogGroup with the addition of
4345// the ability to pass a context and additional request options.
4346//
4347// See UntagLogGroup for details on how to use this API operation.
4348//
4349// The context must be non-nil and will be used for request cancellation. If
4350// the context is nil a panic will occur. In the future the SDK may create
4351// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4352// for more information on using Contexts.
4353func (c *CloudWatchLogs) UntagLogGroupWithContext(ctx aws.Context, input *UntagLogGroupInput, opts ...request.Option) (*UntagLogGroupOutput, error) {
4354	req, out := c.UntagLogGroupRequest(input)
4355	req.SetContext(ctx)
4356	req.ApplyOptions(opts...)
4357	return out, req.Send()
4358}
4359
4360type AssociateKmsKeyInput struct {
4361	_ struct{} `type:"structure"`
4362
4363	// The Amazon Resource Name (ARN) of the CMK to use when encrypting log data.
4364	// This must be a symmetric CMK. For more information, see Amazon Resource Names
4365	// - AWS Key Management Service (AWS KMS) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kms)
4366	// and Using Symmetric and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html).
4367	//
4368	// KmsKeyId is a required field
4369	KmsKeyId *string `locationName:"kmsKeyId" type:"string" required:"true"`
4370
4371	// The name of the log group.
4372	//
4373	// LogGroupName is a required field
4374	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
4375}
4376
4377// String returns the string representation
4378func (s AssociateKmsKeyInput) String() string {
4379	return awsutil.Prettify(s)
4380}
4381
4382// GoString returns the string representation
4383func (s AssociateKmsKeyInput) GoString() string {
4384	return s.String()
4385}
4386
4387// Validate inspects the fields of the type to determine if they are valid.
4388func (s *AssociateKmsKeyInput) Validate() error {
4389	invalidParams := request.ErrInvalidParams{Context: "AssociateKmsKeyInput"}
4390	if s.KmsKeyId == nil {
4391		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
4392	}
4393	if s.LogGroupName == nil {
4394		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
4395	}
4396	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
4397		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
4398	}
4399
4400	if invalidParams.Len() > 0 {
4401		return invalidParams
4402	}
4403	return nil
4404}
4405
4406// SetKmsKeyId sets the KmsKeyId field's value.
4407func (s *AssociateKmsKeyInput) SetKmsKeyId(v string) *AssociateKmsKeyInput {
4408	s.KmsKeyId = &v
4409	return s
4410}
4411
4412// SetLogGroupName sets the LogGroupName field's value.
4413func (s *AssociateKmsKeyInput) SetLogGroupName(v string) *AssociateKmsKeyInput {
4414	s.LogGroupName = &v
4415	return s
4416}
4417
4418type AssociateKmsKeyOutput struct {
4419	_ struct{} `type:"structure"`
4420}
4421
4422// String returns the string representation
4423func (s AssociateKmsKeyOutput) String() string {
4424	return awsutil.Prettify(s)
4425}
4426
4427// GoString returns the string representation
4428func (s AssociateKmsKeyOutput) GoString() string {
4429	return s.String()
4430}
4431
4432type CancelExportTaskInput struct {
4433	_ struct{} `type:"structure"`
4434
4435	// The ID of the export task.
4436	//
4437	// TaskId is a required field
4438	TaskId *string `locationName:"taskId" min:"1" type:"string" required:"true"`
4439}
4440
4441// String returns the string representation
4442func (s CancelExportTaskInput) String() string {
4443	return awsutil.Prettify(s)
4444}
4445
4446// GoString returns the string representation
4447func (s CancelExportTaskInput) GoString() string {
4448	return s.String()
4449}
4450
4451// Validate inspects the fields of the type to determine if they are valid.
4452func (s *CancelExportTaskInput) Validate() error {
4453	invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
4454	if s.TaskId == nil {
4455		invalidParams.Add(request.NewErrParamRequired("TaskId"))
4456	}
4457	if s.TaskId != nil && len(*s.TaskId) < 1 {
4458		invalidParams.Add(request.NewErrParamMinLen("TaskId", 1))
4459	}
4460
4461	if invalidParams.Len() > 0 {
4462		return invalidParams
4463	}
4464	return nil
4465}
4466
4467// SetTaskId sets the TaskId field's value.
4468func (s *CancelExportTaskInput) SetTaskId(v string) *CancelExportTaskInput {
4469	s.TaskId = &v
4470	return s
4471}
4472
4473type CancelExportTaskOutput struct {
4474	_ struct{} `type:"structure"`
4475}
4476
4477// String returns the string representation
4478func (s CancelExportTaskOutput) String() string {
4479	return awsutil.Prettify(s)
4480}
4481
4482// GoString returns the string representation
4483func (s CancelExportTaskOutput) GoString() string {
4484	return s.String()
4485}
4486
4487type CreateExportTaskInput struct {
4488	_ struct{} `type:"structure"`
4489
4490	// The name of S3 bucket for the exported log data. The bucket must be in the
4491	// same AWS region.
4492	//
4493	// Destination is a required field
4494	Destination *string `locationName:"destination" min:"1" type:"string" required:"true"`
4495
4496	// The prefix used as the start of the key for every object exported. If you
4497	// don't specify a value, the default is exportedlogs.
4498	DestinationPrefix *string `locationName:"destinationPrefix" type:"string"`
4499
4500	// The start time of the range for the request, expressed as the number of milliseconds
4501	// after Jan 1, 1970 00:00:00 UTC. Events with a timestamp earlier than this
4502	// time are not exported.
4503	//
4504	// From is a required field
4505	From *int64 `locationName:"from" type:"long" required:"true"`
4506
4507	// The name of the log group.
4508	//
4509	// LogGroupName is a required field
4510	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
4511
4512	// Export only log streams that match the provided prefix. If you don't specify
4513	// a value, no prefix filter is applied.
4514	LogStreamNamePrefix *string `locationName:"logStreamNamePrefix" min:"1" type:"string"`
4515
4516	// The name of the export task.
4517	TaskName *string `locationName:"taskName" min:"1" type:"string"`
4518
4519	// The end time of the range for the request, expressed as the number of milliseconds
4520	// after Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time
4521	// are not exported.
4522	//
4523	// To is a required field
4524	To *int64 `locationName:"to" type:"long" required:"true"`
4525}
4526
4527// String returns the string representation
4528func (s CreateExportTaskInput) String() string {
4529	return awsutil.Prettify(s)
4530}
4531
4532// GoString returns the string representation
4533func (s CreateExportTaskInput) GoString() string {
4534	return s.String()
4535}
4536
4537// Validate inspects the fields of the type to determine if they are valid.
4538func (s *CreateExportTaskInput) Validate() error {
4539	invalidParams := request.ErrInvalidParams{Context: "CreateExportTaskInput"}
4540	if s.Destination == nil {
4541		invalidParams.Add(request.NewErrParamRequired("Destination"))
4542	}
4543	if s.Destination != nil && len(*s.Destination) < 1 {
4544		invalidParams.Add(request.NewErrParamMinLen("Destination", 1))
4545	}
4546	if s.From == nil {
4547		invalidParams.Add(request.NewErrParamRequired("From"))
4548	}
4549	if s.LogGroupName == nil {
4550		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
4551	}
4552	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
4553		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
4554	}
4555	if s.LogStreamNamePrefix != nil && len(*s.LogStreamNamePrefix) < 1 {
4556		invalidParams.Add(request.NewErrParamMinLen("LogStreamNamePrefix", 1))
4557	}
4558	if s.TaskName != nil && len(*s.TaskName) < 1 {
4559		invalidParams.Add(request.NewErrParamMinLen("TaskName", 1))
4560	}
4561	if s.To == nil {
4562		invalidParams.Add(request.NewErrParamRequired("To"))
4563	}
4564
4565	if invalidParams.Len() > 0 {
4566		return invalidParams
4567	}
4568	return nil
4569}
4570
4571// SetDestination sets the Destination field's value.
4572func (s *CreateExportTaskInput) SetDestination(v string) *CreateExportTaskInput {
4573	s.Destination = &v
4574	return s
4575}
4576
4577// SetDestinationPrefix sets the DestinationPrefix field's value.
4578func (s *CreateExportTaskInput) SetDestinationPrefix(v string) *CreateExportTaskInput {
4579	s.DestinationPrefix = &v
4580	return s
4581}
4582
4583// SetFrom sets the From field's value.
4584func (s *CreateExportTaskInput) SetFrom(v int64) *CreateExportTaskInput {
4585	s.From = &v
4586	return s
4587}
4588
4589// SetLogGroupName sets the LogGroupName field's value.
4590func (s *CreateExportTaskInput) SetLogGroupName(v string) *CreateExportTaskInput {
4591	s.LogGroupName = &v
4592	return s
4593}
4594
4595// SetLogStreamNamePrefix sets the LogStreamNamePrefix field's value.
4596func (s *CreateExportTaskInput) SetLogStreamNamePrefix(v string) *CreateExportTaskInput {
4597	s.LogStreamNamePrefix = &v
4598	return s
4599}
4600
4601// SetTaskName sets the TaskName field's value.
4602func (s *CreateExportTaskInput) SetTaskName(v string) *CreateExportTaskInput {
4603	s.TaskName = &v
4604	return s
4605}
4606
4607// SetTo sets the To field's value.
4608func (s *CreateExportTaskInput) SetTo(v int64) *CreateExportTaskInput {
4609	s.To = &v
4610	return s
4611}
4612
4613type CreateExportTaskOutput struct {
4614	_ struct{} `type:"structure"`
4615
4616	// The ID of the export task.
4617	TaskId *string `locationName:"taskId" min:"1" type:"string"`
4618}
4619
4620// String returns the string representation
4621func (s CreateExportTaskOutput) String() string {
4622	return awsutil.Prettify(s)
4623}
4624
4625// GoString returns the string representation
4626func (s CreateExportTaskOutput) GoString() string {
4627	return s.String()
4628}
4629
4630// SetTaskId sets the TaskId field's value.
4631func (s *CreateExportTaskOutput) SetTaskId(v string) *CreateExportTaskOutput {
4632	s.TaskId = &v
4633	return s
4634}
4635
4636type CreateLogGroupInput struct {
4637	_ struct{} `type:"structure"`
4638
4639	// The Amazon Resource Name (ARN) of the CMK to use when encrypting log data.
4640	// For more information, see Amazon Resource Names - AWS Key Management Service
4641	// (AWS KMS) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kms).
4642	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
4643
4644	// The name of the log group.
4645	//
4646	// LogGroupName is a required field
4647	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
4648
4649	// The key-value pairs to use for the tags.
4650	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
4651}
4652
4653// String returns the string representation
4654func (s CreateLogGroupInput) String() string {
4655	return awsutil.Prettify(s)
4656}
4657
4658// GoString returns the string representation
4659func (s CreateLogGroupInput) GoString() string {
4660	return s.String()
4661}
4662
4663// Validate inspects the fields of the type to determine if they are valid.
4664func (s *CreateLogGroupInput) Validate() error {
4665	invalidParams := request.ErrInvalidParams{Context: "CreateLogGroupInput"}
4666	if s.LogGroupName == nil {
4667		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
4668	}
4669	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
4670		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
4671	}
4672	if s.Tags != nil && len(s.Tags) < 1 {
4673		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4674	}
4675
4676	if invalidParams.Len() > 0 {
4677		return invalidParams
4678	}
4679	return nil
4680}
4681
4682// SetKmsKeyId sets the KmsKeyId field's value.
4683func (s *CreateLogGroupInput) SetKmsKeyId(v string) *CreateLogGroupInput {
4684	s.KmsKeyId = &v
4685	return s
4686}
4687
4688// SetLogGroupName sets the LogGroupName field's value.
4689func (s *CreateLogGroupInput) SetLogGroupName(v string) *CreateLogGroupInput {
4690	s.LogGroupName = &v
4691	return s
4692}
4693
4694// SetTags sets the Tags field's value.
4695func (s *CreateLogGroupInput) SetTags(v map[string]*string) *CreateLogGroupInput {
4696	s.Tags = v
4697	return s
4698}
4699
4700type CreateLogGroupOutput struct {
4701	_ struct{} `type:"structure"`
4702}
4703
4704// String returns the string representation
4705func (s CreateLogGroupOutput) String() string {
4706	return awsutil.Prettify(s)
4707}
4708
4709// GoString returns the string representation
4710func (s CreateLogGroupOutput) GoString() string {
4711	return s.String()
4712}
4713
4714type CreateLogStreamInput struct {
4715	_ struct{} `type:"structure"`
4716
4717	// The name of the log group.
4718	//
4719	// LogGroupName is a required field
4720	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
4721
4722	// The name of the log stream.
4723	//
4724	// LogStreamName is a required field
4725	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"`
4726}
4727
4728// String returns the string representation
4729func (s CreateLogStreamInput) String() string {
4730	return awsutil.Prettify(s)
4731}
4732
4733// GoString returns the string representation
4734func (s CreateLogStreamInput) GoString() string {
4735	return s.String()
4736}
4737
4738// Validate inspects the fields of the type to determine if they are valid.
4739func (s *CreateLogStreamInput) Validate() error {
4740	invalidParams := request.ErrInvalidParams{Context: "CreateLogStreamInput"}
4741	if s.LogGroupName == nil {
4742		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
4743	}
4744	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
4745		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
4746	}
4747	if s.LogStreamName == nil {
4748		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
4749	}
4750	if s.LogStreamName != nil && len(*s.LogStreamName) < 1 {
4751		invalidParams.Add(request.NewErrParamMinLen("LogStreamName", 1))
4752	}
4753
4754	if invalidParams.Len() > 0 {
4755		return invalidParams
4756	}
4757	return nil
4758}
4759
4760// SetLogGroupName sets the LogGroupName field's value.
4761func (s *CreateLogStreamInput) SetLogGroupName(v string) *CreateLogStreamInput {
4762	s.LogGroupName = &v
4763	return s
4764}
4765
4766// SetLogStreamName sets the LogStreamName field's value.
4767func (s *CreateLogStreamInput) SetLogStreamName(v string) *CreateLogStreamInput {
4768	s.LogStreamName = &v
4769	return s
4770}
4771
4772type CreateLogStreamOutput struct {
4773	_ struct{} `type:"structure"`
4774}
4775
4776// String returns the string representation
4777func (s CreateLogStreamOutput) String() string {
4778	return awsutil.Prettify(s)
4779}
4780
4781// GoString returns the string representation
4782func (s CreateLogStreamOutput) GoString() string {
4783	return s.String()
4784}
4785
4786// The event was already logged.
4787type DataAlreadyAcceptedException struct {
4788	_            struct{}                  `type:"structure"`
4789	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4790
4791	ExpectedSequenceToken *string `locationName:"expectedSequenceToken" min:"1" type:"string"`
4792
4793	Message_ *string `locationName:"message" type:"string"`
4794}
4795
4796// String returns the string representation
4797func (s DataAlreadyAcceptedException) String() string {
4798	return awsutil.Prettify(s)
4799}
4800
4801// GoString returns the string representation
4802func (s DataAlreadyAcceptedException) GoString() string {
4803	return s.String()
4804}
4805
4806func newErrorDataAlreadyAcceptedException(v protocol.ResponseMetadata) error {
4807	return &DataAlreadyAcceptedException{
4808		RespMetadata: v,
4809	}
4810}
4811
4812// Code returns the exception type name.
4813func (s *DataAlreadyAcceptedException) Code() string {
4814	return "DataAlreadyAcceptedException"
4815}
4816
4817// Message returns the exception's message.
4818func (s *DataAlreadyAcceptedException) Message() string {
4819	if s.Message_ != nil {
4820		return *s.Message_
4821	}
4822	return ""
4823}
4824
4825// OrigErr always returns nil, satisfies awserr.Error interface.
4826func (s *DataAlreadyAcceptedException) OrigErr() error {
4827	return nil
4828}
4829
4830func (s *DataAlreadyAcceptedException) Error() string {
4831	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
4832}
4833
4834// Status code returns the HTTP status code for the request's response error.
4835func (s *DataAlreadyAcceptedException) StatusCode() int {
4836	return s.RespMetadata.StatusCode
4837}
4838
4839// RequestID returns the service's response RequestID for request.
4840func (s *DataAlreadyAcceptedException) RequestID() string {
4841	return s.RespMetadata.RequestID
4842}
4843
4844type DeleteDestinationInput struct {
4845	_ struct{} `type:"structure"`
4846
4847	// The name of the destination.
4848	//
4849	// DestinationName is a required field
4850	DestinationName *string `locationName:"destinationName" min:"1" type:"string" required:"true"`
4851}
4852
4853// String returns the string representation
4854func (s DeleteDestinationInput) String() string {
4855	return awsutil.Prettify(s)
4856}
4857
4858// GoString returns the string representation
4859func (s DeleteDestinationInput) GoString() string {
4860	return s.String()
4861}
4862
4863// Validate inspects the fields of the type to determine if they are valid.
4864func (s *DeleteDestinationInput) Validate() error {
4865	invalidParams := request.ErrInvalidParams{Context: "DeleteDestinationInput"}
4866	if s.DestinationName == nil {
4867		invalidParams.Add(request.NewErrParamRequired("DestinationName"))
4868	}
4869	if s.DestinationName != nil && len(*s.DestinationName) < 1 {
4870		invalidParams.Add(request.NewErrParamMinLen("DestinationName", 1))
4871	}
4872
4873	if invalidParams.Len() > 0 {
4874		return invalidParams
4875	}
4876	return nil
4877}
4878
4879// SetDestinationName sets the DestinationName field's value.
4880func (s *DeleteDestinationInput) SetDestinationName(v string) *DeleteDestinationInput {
4881	s.DestinationName = &v
4882	return s
4883}
4884
4885type DeleteDestinationOutput struct {
4886	_ struct{} `type:"structure"`
4887}
4888
4889// String returns the string representation
4890func (s DeleteDestinationOutput) String() string {
4891	return awsutil.Prettify(s)
4892}
4893
4894// GoString returns the string representation
4895func (s DeleteDestinationOutput) GoString() string {
4896	return s.String()
4897}
4898
4899type DeleteLogGroupInput struct {
4900	_ struct{} `type:"structure"`
4901
4902	// The name of the log group.
4903	//
4904	// LogGroupName is a required field
4905	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
4906}
4907
4908// String returns the string representation
4909func (s DeleteLogGroupInput) String() string {
4910	return awsutil.Prettify(s)
4911}
4912
4913// GoString returns the string representation
4914func (s DeleteLogGroupInput) GoString() string {
4915	return s.String()
4916}
4917
4918// Validate inspects the fields of the type to determine if they are valid.
4919func (s *DeleteLogGroupInput) Validate() error {
4920	invalidParams := request.ErrInvalidParams{Context: "DeleteLogGroupInput"}
4921	if s.LogGroupName == nil {
4922		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
4923	}
4924	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
4925		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
4926	}
4927
4928	if invalidParams.Len() > 0 {
4929		return invalidParams
4930	}
4931	return nil
4932}
4933
4934// SetLogGroupName sets the LogGroupName field's value.
4935func (s *DeleteLogGroupInput) SetLogGroupName(v string) *DeleteLogGroupInput {
4936	s.LogGroupName = &v
4937	return s
4938}
4939
4940type DeleteLogGroupOutput struct {
4941	_ struct{} `type:"structure"`
4942}
4943
4944// String returns the string representation
4945func (s DeleteLogGroupOutput) String() string {
4946	return awsutil.Prettify(s)
4947}
4948
4949// GoString returns the string representation
4950func (s DeleteLogGroupOutput) GoString() string {
4951	return s.String()
4952}
4953
4954type DeleteLogStreamInput struct {
4955	_ struct{} `type:"structure"`
4956
4957	// The name of the log group.
4958	//
4959	// LogGroupName is a required field
4960	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
4961
4962	// The name of the log stream.
4963	//
4964	// LogStreamName is a required field
4965	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"`
4966}
4967
4968// String returns the string representation
4969func (s DeleteLogStreamInput) String() string {
4970	return awsutil.Prettify(s)
4971}
4972
4973// GoString returns the string representation
4974func (s DeleteLogStreamInput) GoString() string {
4975	return s.String()
4976}
4977
4978// Validate inspects the fields of the type to determine if they are valid.
4979func (s *DeleteLogStreamInput) Validate() error {
4980	invalidParams := request.ErrInvalidParams{Context: "DeleteLogStreamInput"}
4981	if s.LogGroupName == nil {
4982		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
4983	}
4984	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
4985		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
4986	}
4987	if s.LogStreamName == nil {
4988		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
4989	}
4990	if s.LogStreamName != nil && len(*s.LogStreamName) < 1 {
4991		invalidParams.Add(request.NewErrParamMinLen("LogStreamName", 1))
4992	}
4993
4994	if invalidParams.Len() > 0 {
4995		return invalidParams
4996	}
4997	return nil
4998}
4999
5000// SetLogGroupName sets the LogGroupName field's value.
5001func (s *DeleteLogStreamInput) SetLogGroupName(v string) *DeleteLogStreamInput {
5002	s.LogGroupName = &v
5003	return s
5004}
5005
5006// SetLogStreamName sets the LogStreamName field's value.
5007func (s *DeleteLogStreamInput) SetLogStreamName(v string) *DeleteLogStreamInput {
5008	s.LogStreamName = &v
5009	return s
5010}
5011
5012type DeleteLogStreamOutput struct {
5013	_ struct{} `type:"structure"`
5014}
5015
5016// String returns the string representation
5017func (s DeleteLogStreamOutput) String() string {
5018	return awsutil.Prettify(s)
5019}
5020
5021// GoString returns the string representation
5022func (s DeleteLogStreamOutput) GoString() string {
5023	return s.String()
5024}
5025
5026type DeleteMetricFilterInput struct {
5027	_ struct{} `type:"structure"`
5028
5029	// The name of the metric filter.
5030	//
5031	// FilterName is a required field
5032	FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"`
5033
5034	// The name of the log group.
5035	//
5036	// LogGroupName is a required field
5037	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
5038}
5039
5040// String returns the string representation
5041func (s DeleteMetricFilterInput) String() string {
5042	return awsutil.Prettify(s)
5043}
5044
5045// GoString returns the string representation
5046func (s DeleteMetricFilterInput) GoString() string {
5047	return s.String()
5048}
5049
5050// Validate inspects the fields of the type to determine if they are valid.
5051func (s *DeleteMetricFilterInput) Validate() error {
5052	invalidParams := request.ErrInvalidParams{Context: "DeleteMetricFilterInput"}
5053	if s.FilterName == nil {
5054		invalidParams.Add(request.NewErrParamRequired("FilterName"))
5055	}
5056	if s.FilterName != nil && len(*s.FilterName) < 1 {
5057		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
5058	}
5059	if s.LogGroupName == nil {
5060		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
5061	}
5062	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
5063		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
5064	}
5065
5066	if invalidParams.Len() > 0 {
5067		return invalidParams
5068	}
5069	return nil
5070}
5071
5072// SetFilterName sets the FilterName field's value.
5073func (s *DeleteMetricFilterInput) SetFilterName(v string) *DeleteMetricFilterInput {
5074	s.FilterName = &v
5075	return s
5076}
5077
5078// SetLogGroupName sets the LogGroupName field's value.
5079func (s *DeleteMetricFilterInput) SetLogGroupName(v string) *DeleteMetricFilterInput {
5080	s.LogGroupName = &v
5081	return s
5082}
5083
5084type DeleteMetricFilterOutput struct {
5085	_ struct{} `type:"structure"`
5086}
5087
5088// String returns the string representation
5089func (s DeleteMetricFilterOutput) String() string {
5090	return awsutil.Prettify(s)
5091}
5092
5093// GoString returns the string representation
5094func (s DeleteMetricFilterOutput) GoString() string {
5095	return s.String()
5096}
5097
5098type DeleteQueryDefinitionInput struct {
5099	_ struct{} `type:"structure"`
5100
5101	// The ID of the query definition that you want to delete. You can use DescribeQueryDefinitions
5102	// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeQueryDefinitions.html)
5103	// to retrieve the IDs of your saved query definitions.
5104	//
5105	// QueryDefinitionId is a required field
5106	QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string" required:"true"`
5107}
5108
5109// String returns the string representation
5110func (s DeleteQueryDefinitionInput) String() string {
5111	return awsutil.Prettify(s)
5112}
5113
5114// GoString returns the string representation
5115func (s DeleteQueryDefinitionInput) GoString() string {
5116	return s.String()
5117}
5118
5119// Validate inspects the fields of the type to determine if they are valid.
5120func (s *DeleteQueryDefinitionInput) Validate() error {
5121	invalidParams := request.ErrInvalidParams{Context: "DeleteQueryDefinitionInput"}
5122	if s.QueryDefinitionId == nil {
5123		invalidParams.Add(request.NewErrParamRequired("QueryDefinitionId"))
5124	}
5125
5126	if invalidParams.Len() > 0 {
5127		return invalidParams
5128	}
5129	return nil
5130}
5131
5132// SetQueryDefinitionId sets the QueryDefinitionId field's value.
5133func (s *DeleteQueryDefinitionInput) SetQueryDefinitionId(v string) *DeleteQueryDefinitionInput {
5134	s.QueryDefinitionId = &v
5135	return s
5136}
5137
5138type DeleteQueryDefinitionOutput struct {
5139	_ struct{} `type:"structure"`
5140
5141	// A value of TRUE indicates that the operation succeeded. FALSE indicates that
5142	// the operation failed.
5143	Success *bool `locationName:"success" type:"boolean"`
5144}
5145
5146// String returns the string representation
5147func (s DeleteQueryDefinitionOutput) String() string {
5148	return awsutil.Prettify(s)
5149}
5150
5151// GoString returns the string representation
5152func (s DeleteQueryDefinitionOutput) GoString() string {
5153	return s.String()
5154}
5155
5156// SetSuccess sets the Success field's value.
5157func (s *DeleteQueryDefinitionOutput) SetSuccess(v bool) *DeleteQueryDefinitionOutput {
5158	s.Success = &v
5159	return s
5160}
5161
5162type DeleteResourcePolicyInput struct {
5163	_ struct{} `type:"structure"`
5164
5165	// The name of the policy to be revoked. This parameter is required.
5166	PolicyName *string `locationName:"policyName" type:"string"`
5167}
5168
5169// String returns the string representation
5170func (s DeleteResourcePolicyInput) String() string {
5171	return awsutil.Prettify(s)
5172}
5173
5174// GoString returns the string representation
5175func (s DeleteResourcePolicyInput) GoString() string {
5176	return s.String()
5177}
5178
5179// SetPolicyName sets the PolicyName field's value.
5180func (s *DeleteResourcePolicyInput) SetPolicyName(v string) *DeleteResourcePolicyInput {
5181	s.PolicyName = &v
5182	return s
5183}
5184
5185type DeleteResourcePolicyOutput struct {
5186	_ struct{} `type:"structure"`
5187}
5188
5189// String returns the string representation
5190func (s DeleteResourcePolicyOutput) String() string {
5191	return awsutil.Prettify(s)
5192}
5193
5194// GoString returns the string representation
5195func (s DeleteResourcePolicyOutput) GoString() string {
5196	return s.String()
5197}
5198
5199type DeleteRetentionPolicyInput struct {
5200	_ struct{} `type:"structure"`
5201
5202	// The name of the log group.
5203	//
5204	// LogGroupName is a required field
5205	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
5206}
5207
5208// String returns the string representation
5209func (s DeleteRetentionPolicyInput) String() string {
5210	return awsutil.Prettify(s)
5211}
5212
5213// GoString returns the string representation
5214func (s DeleteRetentionPolicyInput) GoString() string {
5215	return s.String()
5216}
5217
5218// Validate inspects the fields of the type to determine if they are valid.
5219func (s *DeleteRetentionPolicyInput) Validate() error {
5220	invalidParams := request.ErrInvalidParams{Context: "DeleteRetentionPolicyInput"}
5221	if s.LogGroupName == nil {
5222		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
5223	}
5224	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
5225		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
5226	}
5227
5228	if invalidParams.Len() > 0 {
5229		return invalidParams
5230	}
5231	return nil
5232}
5233
5234// SetLogGroupName sets the LogGroupName field's value.
5235func (s *DeleteRetentionPolicyInput) SetLogGroupName(v string) *DeleteRetentionPolicyInput {
5236	s.LogGroupName = &v
5237	return s
5238}
5239
5240type DeleteRetentionPolicyOutput struct {
5241	_ struct{} `type:"structure"`
5242}
5243
5244// String returns the string representation
5245func (s DeleteRetentionPolicyOutput) String() string {
5246	return awsutil.Prettify(s)
5247}
5248
5249// GoString returns the string representation
5250func (s DeleteRetentionPolicyOutput) GoString() string {
5251	return s.String()
5252}
5253
5254type DeleteSubscriptionFilterInput struct {
5255	_ struct{} `type:"structure"`
5256
5257	// The name of the subscription filter.
5258	//
5259	// FilterName is a required field
5260	FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"`
5261
5262	// The name of the log group.
5263	//
5264	// LogGroupName is a required field
5265	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
5266}
5267
5268// String returns the string representation
5269func (s DeleteSubscriptionFilterInput) String() string {
5270	return awsutil.Prettify(s)
5271}
5272
5273// GoString returns the string representation
5274func (s DeleteSubscriptionFilterInput) GoString() string {
5275	return s.String()
5276}
5277
5278// Validate inspects the fields of the type to determine if they are valid.
5279func (s *DeleteSubscriptionFilterInput) Validate() error {
5280	invalidParams := request.ErrInvalidParams{Context: "DeleteSubscriptionFilterInput"}
5281	if s.FilterName == nil {
5282		invalidParams.Add(request.NewErrParamRequired("FilterName"))
5283	}
5284	if s.FilterName != nil && len(*s.FilterName) < 1 {
5285		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
5286	}
5287	if s.LogGroupName == nil {
5288		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
5289	}
5290	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
5291		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
5292	}
5293
5294	if invalidParams.Len() > 0 {
5295		return invalidParams
5296	}
5297	return nil
5298}
5299
5300// SetFilterName sets the FilterName field's value.
5301func (s *DeleteSubscriptionFilterInput) SetFilterName(v string) *DeleteSubscriptionFilterInput {
5302	s.FilterName = &v
5303	return s
5304}
5305
5306// SetLogGroupName sets the LogGroupName field's value.
5307func (s *DeleteSubscriptionFilterInput) SetLogGroupName(v string) *DeleteSubscriptionFilterInput {
5308	s.LogGroupName = &v
5309	return s
5310}
5311
5312type DeleteSubscriptionFilterOutput struct {
5313	_ struct{} `type:"structure"`
5314}
5315
5316// String returns the string representation
5317func (s DeleteSubscriptionFilterOutput) String() string {
5318	return awsutil.Prettify(s)
5319}
5320
5321// GoString returns the string representation
5322func (s DeleteSubscriptionFilterOutput) GoString() string {
5323	return s.String()
5324}
5325
5326type DescribeDestinationsInput struct {
5327	_ struct{} `type:"structure"`
5328
5329	// The prefix to match. If you don't specify a value, no prefix filter is applied.
5330	DestinationNamePrefix *string `min:"1" type:"string"`
5331
5332	// The maximum number of items returned. If you don't specify a value, the default
5333	// is up to 50 items.
5334	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
5335
5336	// The token for the next set of items to return. (You received this token from
5337	// a previous call.)
5338	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5339}
5340
5341// String returns the string representation
5342func (s DescribeDestinationsInput) String() string {
5343	return awsutil.Prettify(s)
5344}
5345
5346// GoString returns the string representation
5347func (s DescribeDestinationsInput) GoString() string {
5348	return s.String()
5349}
5350
5351// Validate inspects the fields of the type to determine if they are valid.
5352func (s *DescribeDestinationsInput) Validate() error {
5353	invalidParams := request.ErrInvalidParams{Context: "DescribeDestinationsInput"}
5354	if s.DestinationNamePrefix != nil && len(*s.DestinationNamePrefix) < 1 {
5355		invalidParams.Add(request.NewErrParamMinLen("DestinationNamePrefix", 1))
5356	}
5357	if s.Limit != nil && *s.Limit < 1 {
5358		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
5359	}
5360	if s.NextToken != nil && len(*s.NextToken) < 1 {
5361		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5362	}
5363
5364	if invalidParams.Len() > 0 {
5365		return invalidParams
5366	}
5367	return nil
5368}
5369
5370// SetDestinationNamePrefix sets the DestinationNamePrefix field's value.
5371func (s *DescribeDestinationsInput) SetDestinationNamePrefix(v string) *DescribeDestinationsInput {
5372	s.DestinationNamePrefix = &v
5373	return s
5374}
5375
5376// SetLimit sets the Limit field's value.
5377func (s *DescribeDestinationsInput) SetLimit(v int64) *DescribeDestinationsInput {
5378	s.Limit = &v
5379	return s
5380}
5381
5382// SetNextToken sets the NextToken field's value.
5383func (s *DescribeDestinationsInput) SetNextToken(v string) *DescribeDestinationsInput {
5384	s.NextToken = &v
5385	return s
5386}
5387
5388type DescribeDestinationsOutput struct {
5389	_ struct{} `type:"structure"`
5390
5391	// The destinations.
5392	Destinations []*Destination `locationName:"destinations" type:"list"`
5393
5394	// The token for the next set of items to return. The token expires after 24
5395	// hours.
5396	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5397}
5398
5399// String returns the string representation
5400func (s DescribeDestinationsOutput) String() string {
5401	return awsutil.Prettify(s)
5402}
5403
5404// GoString returns the string representation
5405func (s DescribeDestinationsOutput) GoString() string {
5406	return s.String()
5407}
5408
5409// SetDestinations sets the Destinations field's value.
5410func (s *DescribeDestinationsOutput) SetDestinations(v []*Destination) *DescribeDestinationsOutput {
5411	s.Destinations = v
5412	return s
5413}
5414
5415// SetNextToken sets the NextToken field's value.
5416func (s *DescribeDestinationsOutput) SetNextToken(v string) *DescribeDestinationsOutput {
5417	s.NextToken = &v
5418	return s
5419}
5420
5421type DescribeExportTasksInput struct {
5422	_ struct{} `type:"structure"`
5423
5424	// The maximum number of items returned. If you don't specify a value, the default
5425	// is up to 50 items.
5426	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
5427
5428	// The token for the next set of items to return. (You received this token from
5429	// a previous call.)
5430	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5431
5432	// The status code of the export task. Specifying a status code filters the
5433	// results to zero or more export tasks.
5434	StatusCode *string `locationName:"statusCode" type:"string" enum:"ExportTaskStatusCode"`
5435
5436	// The ID of the export task. Specifying a task ID filters the results to zero
5437	// or one export tasks.
5438	TaskId *string `locationName:"taskId" min:"1" type:"string"`
5439}
5440
5441// String returns the string representation
5442func (s DescribeExportTasksInput) String() string {
5443	return awsutil.Prettify(s)
5444}
5445
5446// GoString returns the string representation
5447func (s DescribeExportTasksInput) GoString() string {
5448	return s.String()
5449}
5450
5451// Validate inspects the fields of the type to determine if they are valid.
5452func (s *DescribeExportTasksInput) Validate() error {
5453	invalidParams := request.ErrInvalidParams{Context: "DescribeExportTasksInput"}
5454	if s.Limit != nil && *s.Limit < 1 {
5455		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
5456	}
5457	if s.NextToken != nil && len(*s.NextToken) < 1 {
5458		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5459	}
5460	if s.TaskId != nil && len(*s.TaskId) < 1 {
5461		invalidParams.Add(request.NewErrParamMinLen("TaskId", 1))
5462	}
5463
5464	if invalidParams.Len() > 0 {
5465		return invalidParams
5466	}
5467	return nil
5468}
5469
5470// SetLimit sets the Limit field's value.
5471func (s *DescribeExportTasksInput) SetLimit(v int64) *DescribeExportTasksInput {
5472	s.Limit = &v
5473	return s
5474}
5475
5476// SetNextToken sets the NextToken field's value.
5477func (s *DescribeExportTasksInput) SetNextToken(v string) *DescribeExportTasksInput {
5478	s.NextToken = &v
5479	return s
5480}
5481
5482// SetStatusCode sets the StatusCode field's value.
5483func (s *DescribeExportTasksInput) SetStatusCode(v string) *DescribeExportTasksInput {
5484	s.StatusCode = &v
5485	return s
5486}
5487
5488// SetTaskId sets the TaskId field's value.
5489func (s *DescribeExportTasksInput) SetTaskId(v string) *DescribeExportTasksInput {
5490	s.TaskId = &v
5491	return s
5492}
5493
5494type DescribeExportTasksOutput struct {
5495	_ struct{} `type:"structure"`
5496
5497	// The export tasks.
5498	ExportTasks []*ExportTask `locationName:"exportTasks" type:"list"`
5499
5500	// The token for the next set of items to return. The token expires after 24
5501	// hours.
5502	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5503}
5504
5505// String returns the string representation
5506func (s DescribeExportTasksOutput) String() string {
5507	return awsutil.Prettify(s)
5508}
5509
5510// GoString returns the string representation
5511func (s DescribeExportTasksOutput) GoString() string {
5512	return s.String()
5513}
5514
5515// SetExportTasks sets the ExportTasks field's value.
5516func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
5517	s.ExportTasks = v
5518	return s
5519}
5520
5521// SetNextToken sets the NextToken field's value.
5522func (s *DescribeExportTasksOutput) SetNextToken(v string) *DescribeExportTasksOutput {
5523	s.NextToken = &v
5524	return s
5525}
5526
5527type DescribeLogGroupsInput struct {
5528	_ struct{} `type:"structure"`
5529
5530	// The maximum number of items returned. If you don't specify a value, the default
5531	// is up to 50 items.
5532	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
5533
5534	// The prefix to match.
5535	LogGroupNamePrefix *string `locationName:"logGroupNamePrefix" min:"1" type:"string"`
5536
5537	// The token for the next set of items to return. (You received this token from
5538	// a previous call.)
5539	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5540}
5541
5542// String returns the string representation
5543func (s DescribeLogGroupsInput) String() string {
5544	return awsutil.Prettify(s)
5545}
5546
5547// GoString returns the string representation
5548func (s DescribeLogGroupsInput) GoString() string {
5549	return s.String()
5550}
5551
5552// Validate inspects the fields of the type to determine if they are valid.
5553func (s *DescribeLogGroupsInput) Validate() error {
5554	invalidParams := request.ErrInvalidParams{Context: "DescribeLogGroupsInput"}
5555	if s.Limit != nil && *s.Limit < 1 {
5556		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
5557	}
5558	if s.LogGroupNamePrefix != nil && len(*s.LogGroupNamePrefix) < 1 {
5559		invalidParams.Add(request.NewErrParamMinLen("LogGroupNamePrefix", 1))
5560	}
5561	if s.NextToken != nil && len(*s.NextToken) < 1 {
5562		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5563	}
5564
5565	if invalidParams.Len() > 0 {
5566		return invalidParams
5567	}
5568	return nil
5569}
5570
5571// SetLimit sets the Limit field's value.
5572func (s *DescribeLogGroupsInput) SetLimit(v int64) *DescribeLogGroupsInput {
5573	s.Limit = &v
5574	return s
5575}
5576
5577// SetLogGroupNamePrefix sets the LogGroupNamePrefix field's value.
5578func (s *DescribeLogGroupsInput) SetLogGroupNamePrefix(v string) *DescribeLogGroupsInput {
5579	s.LogGroupNamePrefix = &v
5580	return s
5581}
5582
5583// SetNextToken sets the NextToken field's value.
5584func (s *DescribeLogGroupsInput) SetNextToken(v string) *DescribeLogGroupsInput {
5585	s.NextToken = &v
5586	return s
5587}
5588
5589type DescribeLogGroupsOutput struct {
5590	_ struct{} `type:"structure"`
5591
5592	// The log groups.
5593	//
5594	// If the retentionInDays value if not included for a log group, then that log
5595	// group is set to have its events never expire.
5596	LogGroups []*LogGroup `locationName:"logGroups" type:"list"`
5597
5598	// The token for the next set of items to return. The token expires after 24
5599	// hours.
5600	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5601}
5602
5603// String returns the string representation
5604func (s DescribeLogGroupsOutput) String() string {
5605	return awsutil.Prettify(s)
5606}
5607
5608// GoString returns the string representation
5609func (s DescribeLogGroupsOutput) GoString() string {
5610	return s.String()
5611}
5612
5613// SetLogGroups sets the LogGroups field's value.
5614func (s *DescribeLogGroupsOutput) SetLogGroups(v []*LogGroup) *DescribeLogGroupsOutput {
5615	s.LogGroups = v
5616	return s
5617}
5618
5619// SetNextToken sets the NextToken field's value.
5620func (s *DescribeLogGroupsOutput) SetNextToken(v string) *DescribeLogGroupsOutput {
5621	s.NextToken = &v
5622	return s
5623}
5624
5625type DescribeLogStreamsInput struct {
5626	_ struct{} `type:"structure"`
5627
5628	// If the value is true, results are returned in descending order. If the value
5629	// is to false, results are returned in ascending order. The default value is
5630	// false.
5631	Descending *bool `locationName:"descending" type:"boolean"`
5632
5633	// The maximum number of items returned. If you don't specify a value, the default
5634	// is up to 50 items.
5635	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
5636
5637	// The name of the log group.
5638	//
5639	// LogGroupName is a required field
5640	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
5641
5642	// The prefix to match.
5643	//
5644	// If orderBy is LastEventTime, you cannot specify this parameter.
5645	LogStreamNamePrefix *string `locationName:"logStreamNamePrefix" min:"1" type:"string"`
5646
5647	// The token for the next set of items to return. (You received this token from
5648	// a previous call.)
5649	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5650
5651	// If the value is LogStreamName, the results are ordered by log stream name.
5652	// If the value is LastEventTime, the results are ordered by the event time.
5653	// The default value is LogStreamName.
5654	//
5655	// If you order the results by event time, you cannot specify the logStreamNamePrefix
5656	// parameter.
5657	//
5658	// lastEventTimeStamp represents the time of the most recent log event in the
5659	// log stream in CloudWatch Logs. This number is expressed as the number of
5660	// milliseconds after Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on
5661	// an eventual consistency basis. It typically updates in less than an hour
5662	// from ingestion, but in rare situations might take longer.
5663	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
5664}
5665
5666// String returns the string representation
5667func (s DescribeLogStreamsInput) String() string {
5668	return awsutil.Prettify(s)
5669}
5670
5671// GoString returns the string representation
5672func (s DescribeLogStreamsInput) GoString() string {
5673	return s.String()
5674}
5675
5676// Validate inspects the fields of the type to determine if they are valid.
5677func (s *DescribeLogStreamsInput) Validate() error {
5678	invalidParams := request.ErrInvalidParams{Context: "DescribeLogStreamsInput"}
5679	if s.Limit != nil && *s.Limit < 1 {
5680		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
5681	}
5682	if s.LogGroupName == nil {
5683		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
5684	}
5685	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
5686		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
5687	}
5688	if s.LogStreamNamePrefix != nil && len(*s.LogStreamNamePrefix) < 1 {
5689		invalidParams.Add(request.NewErrParamMinLen("LogStreamNamePrefix", 1))
5690	}
5691	if s.NextToken != nil && len(*s.NextToken) < 1 {
5692		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5693	}
5694
5695	if invalidParams.Len() > 0 {
5696		return invalidParams
5697	}
5698	return nil
5699}
5700
5701// SetDescending sets the Descending field's value.
5702func (s *DescribeLogStreamsInput) SetDescending(v bool) *DescribeLogStreamsInput {
5703	s.Descending = &v
5704	return s
5705}
5706
5707// SetLimit sets the Limit field's value.
5708func (s *DescribeLogStreamsInput) SetLimit(v int64) *DescribeLogStreamsInput {
5709	s.Limit = &v
5710	return s
5711}
5712
5713// SetLogGroupName sets the LogGroupName field's value.
5714func (s *DescribeLogStreamsInput) SetLogGroupName(v string) *DescribeLogStreamsInput {
5715	s.LogGroupName = &v
5716	return s
5717}
5718
5719// SetLogStreamNamePrefix sets the LogStreamNamePrefix field's value.
5720func (s *DescribeLogStreamsInput) SetLogStreamNamePrefix(v string) *DescribeLogStreamsInput {
5721	s.LogStreamNamePrefix = &v
5722	return s
5723}
5724
5725// SetNextToken sets the NextToken field's value.
5726func (s *DescribeLogStreamsInput) SetNextToken(v string) *DescribeLogStreamsInput {
5727	s.NextToken = &v
5728	return s
5729}
5730
5731// SetOrderBy sets the OrderBy field's value.
5732func (s *DescribeLogStreamsInput) SetOrderBy(v string) *DescribeLogStreamsInput {
5733	s.OrderBy = &v
5734	return s
5735}
5736
5737type DescribeLogStreamsOutput struct {
5738	_ struct{} `type:"structure"`
5739
5740	// The log streams.
5741	LogStreams []*LogStream `locationName:"logStreams" type:"list"`
5742
5743	// The token for the next set of items to return. The token expires after 24
5744	// hours.
5745	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5746}
5747
5748// String returns the string representation
5749func (s DescribeLogStreamsOutput) String() string {
5750	return awsutil.Prettify(s)
5751}
5752
5753// GoString returns the string representation
5754func (s DescribeLogStreamsOutput) GoString() string {
5755	return s.String()
5756}
5757
5758// SetLogStreams sets the LogStreams field's value.
5759func (s *DescribeLogStreamsOutput) SetLogStreams(v []*LogStream) *DescribeLogStreamsOutput {
5760	s.LogStreams = v
5761	return s
5762}
5763
5764// SetNextToken sets the NextToken field's value.
5765func (s *DescribeLogStreamsOutput) SetNextToken(v string) *DescribeLogStreamsOutput {
5766	s.NextToken = &v
5767	return s
5768}
5769
5770type DescribeMetricFiltersInput struct {
5771	_ struct{} `type:"structure"`
5772
5773	// The prefix to match. CloudWatch Logs uses the value you set here only if
5774	// you also include the logGroupName parameter in your request.
5775	FilterNamePrefix *string `locationName:"filterNamePrefix" min:"1" type:"string"`
5776
5777	// The maximum number of items returned. If you don't specify a value, the default
5778	// is up to 50 items.
5779	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
5780
5781	// The name of the log group.
5782	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
5783
5784	// Filters results to include only those with the specified metric name. If
5785	// you include this parameter in your request, you must also include the metricNamespace
5786	// parameter.
5787	MetricName *string `locationName:"metricName" type:"string"`
5788
5789	// Filters results to include only those in the specified namespace. If you
5790	// include this parameter in your request, you must also include the metricName
5791	// parameter.
5792	MetricNamespace *string `locationName:"metricNamespace" type:"string"`
5793
5794	// The token for the next set of items to return. (You received this token from
5795	// a previous call.)
5796	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5797}
5798
5799// String returns the string representation
5800func (s DescribeMetricFiltersInput) String() string {
5801	return awsutil.Prettify(s)
5802}
5803
5804// GoString returns the string representation
5805func (s DescribeMetricFiltersInput) GoString() string {
5806	return s.String()
5807}
5808
5809// Validate inspects the fields of the type to determine if they are valid.
5810func (s *DescribeMetricFiltersInput) Validate() error {
5811	invalidParams := request.ErrInvalidParams{Context: "DescribeMetricFiltersInput"}
5812	if s.FilterNamePrefix != nil && len(*s.FilterNamePrefix) < 1 {
5813		invalidParams.Add(request.NewErrParamMinLen("FilterNamePrefix", 1))
5814	}
5815	if s.Limit != nil && *s.Limit < 1 {
5816		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
5817	}
5818	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
5819		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
5820	}
5821	if s.NextToken != nil && len(*s.NextToken) < 1 {
5822		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5823	}
5824
5825	if invalidParams.Len() > 0 {
5826		return invalidParams
5827	}
5828	return nil
5829}
5830
5831// SetFilterNamePrefix sets the FilterNamePrefix field's value.
5832func (s *DescribeMetricFiltersInput) SetFilterNamePrefix(v string) *DescribeMetricFiltersInput {
5833	s.FilterNamePrefix = &v
5834	return s
5835}
5836
5837// SetLimit sets the Limit field's value.
5838func (s *DescribeMetricFiltersInput) SetLimit(v int64) *DescribeMetricFiltersInput {
5839	s.Limit = &v
5840	return s
5841}
5842
5843// SetLogGroupName sets the LogGroupName field's value.
5844func (s *DescribeMetricFiltersInput) SetLogGroupName(v string) *DescribeMetricFiltersInput {
5845	s.LogGroupName = &v
5846	return s
5847}
5848
5849// SetMetricName sets the MetricName field's value.
5850func (s *DescribeMetricFiltersInput) SetMetricName(v string) *DescribeMetricFiltersInput {
5851	s.MetricName = &v
5852	return s
5853}
5854
5855// SetMetricNamespace sets the MetricNamespace field's value.
5856func (s *DescribeMetricFiltersInput) SetMetricNamespace(v string) *DescribeMetricFiltersInput {
5857	s.MetricNamespace = &v
5858	return s
5859}
5860
5861// SetNextToken sets the NextToken field's value.
5862func (s *DescribeMetricFiltersInput) SetNextToken(v string) *DescribeMetricFiltersInput {
5863	s.NextToken = &v
5864	return s
5865}
5866
5867type DescribeMetricFiltersOutput struct {
5868	_ struct{} `type:"structure"`
5869
5870	// The metric filters.
5871	MetricFilters []*MetricFilter `locationName:"metricFilters" type:"list"`
5872
5873	// The token for the next set of items to return. The token expires after 24
5874	// hours.
5875	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5876}
5877
5878// String returns the string representation
5879func (s DescribeMetricFiltersOutput) String() string {
5880	return awsutil.Prettify(s)
5881}
5882
5883// GoString returns the string representation
5884func (s DescribeMetricFiltersOutput) GoString() string {
5885	return s.String()
5886}
5887
5888// SetMetricFilters sets the MetricFilters field's value.
5889func (s *DescribeMetricFiltersOutput) SetMetricFilters(v []*MetricFilter) *DescribeMetricFiltersOutput {
5890	s.MetricFilters = v
5891	return s
5892}
5893
5894// SetNextToken sets the NextToken field's value.
5895func (s *DescribeMetricFiltersOutput) SetNextToken(v string) *DescribeMetricFiltersOutput {
5896	s.NextToken = &v
5897	return s
5898}
5899
5900type DescribeQueriesInput struct {
5901	_ struct{} `type:"structure"`
5902
5903	// Limits the returned queries to only those for the specified log group.
5904	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
5905
5906	// Limits the number of returned queries to the specified number.
5907	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5908
5909	// The token for the next set of items to return. The token expires after 24
5910	// hours.
5911	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5912
5913	// Limits the returned queries to only those that have the specified status.
5914	// Valid values are Cancelled, Complete, Failed, Running, and Scheduled.
5915	Status *string `locationName:"status" type:"string" enum:"QueryStatus"`
5916}
5917
5918// String returns the string representation
5919func (s DescribeQueriesInput) String() string {
5920	return awsutil.Prettify(s)
5921}
5922
5923// GoString returns the string representation
5924func (s DescribeQueriesInput) GoString() string {
5925	return s.String()
5926}
5927
5928// Validate inspects the fields of the type to determine if they are valid.
5929func (s *DescribeQueriesInput) Validate() error {
5930	invalidParams := request.ErrInvalidParams{Context: "DescribeQueriesInput"}
5931	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
5932		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
5933	}
5934	if s.MaxResults != nil && *s.MaxResults < 1 {
5935		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5936	}
5937	if s.NextToken != nil && len(*s.NextToken) < 1 {
5938		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5939	}
5940
5941	if invalidParams.Len() > 0 {
5942		return invalidParams
5943	}
5944	return nil
5945}
5946
5947// SetLogGroupName sets the LogGroupName field's value.
5948func (s *DescribeQueriesInput) SetLogGroupName(v string) *DescribeQueriesInput {
5949	s.LogGroupName = &v
5950	return s
5951}
5952
5953// SetMaxResults sets the MaxResults field's value.
5954func (s *DescribeQueriesInput) SetMaxResults(v int64) *DescribeQueriesInput {
5955	s.MaxResults = &v
5956	return s
5957}
5958
5959// SetNextToken sets the NextToken field's value.
5960func (s *DescribeQueriesInput) SetNextToken(v string) *DescribeQueriesInput {
5961	s.NextToken = &v
5962	return s
5963}
5964
5965// SetStatus sets the Status field's value.
5966func (s *DescribeQueriesInput) SetStatus(v string) *DescribeQueriesInput {
5967	s.Status = &v
5968	return s
5969}
5970
5971type DescribeQueriesOutput struct {
5972	_ struct{} `type:"structure"`
5973
5974	// The token for the next set of items to return. The token expires after 24
5975	// hours.
5976	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5977
5978	// The list of queries that match the request.
5979	Queries []*QueryInfo `locationName:"queries" type:"list"`
5980}
5981
5982// String returns the string representation
5983func (s DescribeQueriesOutput) String() string {
5984	return awsutil.Prettify(s)
5985}
5986
5987// GoString returns the string representation
5988func (s DescribeQueriesOutput) GoString() string {
5989	return s.String()
5990}
5991
5992// SetNextToken sets the NextToken field's value.
5993func (s *DescribeQueriesOutput) SetNextToken(v string) *DescribeQueriesOutput {
5994	s.NextToken = &v
5995	return s
5996}
5997
5998// SetQueries sets the Queries field's value.
5999func (s *DescribeQueriesOutput) SetQueries(v []*QueryInfo) *DescribeQueriesOutput {
6000	s.Queries = v
6001	return s
6002}
6003
6004type DescribeQueryDefinitionsInput struct {
6005	_ struct{} `type:"structure"`
6006
6007	// Limits the number of returned query definitions to the specified number.
6008	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6009
6010	// The token for the next set of items to return. The token expires after 24
6011	// hours.
6012	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6013
6014	// Use this parameter to filter your results to only the query definitions that
6015	// have names that start with the prefix you specify.
6016	QueryDefinitionNamePrefix *string `locationName:"queryDefinitionNamePrefix" min:"1" type:"string"`
6017}
6018
6019// String returns the string representation
6020func (s DescribeQueryDefinitionsInput) String() string {
6021	return awsutil.Prettify(s)
6022}
6023
6024// GoString returns the string representation
6025func (s DescribeQueryDefinitionsInput) GoString() string {
6026	return s.String()
6027}
6028
6029// Validate inspects the fields of the type to determine if they are valid.
6030func (s *DescribeQueryDefinitionsInput) Validate() error {
6031	invalidParams := request.ErrInvalidParams{Context: "DescribeQueryDefinitionsInput"}
6032	if s.MaxResults != nil && *s.MaxResults < 1 {
6033		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6034	}
6035	if s.NextToken != nil && len(*s.NextToken) < 1 {
6036		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6037	}
6038	if s.QueryDefinitionNamePrefix != nil && len(*s.QueryDefinitionNamePrefix) < 1 {
6039		invalidParams.Add(request.NewErrParamMinLen("QueryDefinitionNamePrefix", 1))
6040	}
6041
6042	if invalidParams.Len() > 0 {
6043		return invalidParams
6044	}
6045	return nil
6046}
6047
6048// SetMaxResults sets the MaxResults field's value.
6049func (s *DescribeQueryDefinitionsInput) SetMaxResults(v int64) *DescribeQueryDefinitionsInput {
6050	s.MaxResults = &v
6051	return s
6052}
6053
6054// SetNextToken sets the NextToken field's value.
6055func (s *DescribeQueryDefinitionsInput) SetNextToken(v string) *DescribeQueryDefinitionsInput {
6056	s.NextToken = &v
6057	return s
6058}
6059
6060// SetQueryDefinitionNamePrefix sets the QueryDefinitionNamePrefix field's value.
6061func (s *DescribeQueryDefinitionsInput) SetQueryDefinitionNamePrefix(v string) *DescribeQueryDefinitionsInput {
6062	s.QueryDefinitionNamePrefix = &v
6063	return s
6064}
6065
6066type DescribeQueryDefinitionsOutput struct {
6067	_ struct{} `type:"structure"`
6068
6069	// The token for the next set of items to return. The token expires after 24
6070	// hours.
6071	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6072
6073	// The list of query definitions that match your request.
6074	QueryDefinitions []*QueryDefinition `locationName:"queryDefinitions" type:"list"`
6075}
6076
6077// String returns the string representation
6078func (s DescribeQueryDefinitionsOutput) String() string {
6079	return awsutil.Prettify(s)
6080}
6081
6082// GoString returns the string representation
6083func (s DescribeQueryDefinitionsOutput) GoString() string {
6084	return s.String()
6085}
6086
6087// SetNextToken sets the NextToken field's value.
6088func (s *DescribeQueryDefinitionsOutput) SetNextToken(v string) *DescribeQueryDefinitionsOutput {
6089	s.NextToken = &v
6090	return s
6091}
6092
6093// SetQueryDefinitions sets the QueryDefinitions field's value.
6094func (s *DescribeQueryDefinitionsOutput) SetQueryDefinitions(v []*QueryDefinition) *DescribeQueryDefinitionsOutput {
6095	s.QueryDefinitions = v
6096	return s
6097}
6098
6099type DescribeResourcePoliciesInput struct {
6100	_ struct{} `type:"structure"`
6101
6102	// The maximum number of resource policies to be displayed with one call of
6103	// this API.
6104	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
6105
6106	// The token for the next set of items to return. The token expires after 24
6107	// hours.
6108	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6109}
6110
6111// String returns the string representation
6112func (s DescribeResourcePoliciesInput) String() string {
6113	return awsutil.Prettify(s)
6114}
6115
6116// GoString returns the string representation
6117func (s DescribeResourcePoliciesInput) GoString() string {
6118	return s.String()
6119}
6120
6121// Validate inspects the fields of the type to determine if they are valid.
6122func (s *DescribeResourcePoliciesInput) Validate() error {
6123	invalidParams := request.ErrInvalidParams{Context: "DescribeResourcePoliciesInput"}
6124	if s.Limit != nil && *s.Limit < 1 {
6125		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6126	}
6127	if s.NextToken != nil && len(*s.NextToken) < 1 {
6128		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6129	}
6130
6131	if invalidParams.Len() > 0 {
6132		return invalidParams
6133	}
6134	return nil
6135}
6136
6137// SetLimit sets the Limit field's value.
6138func (s *DescribeResourcePoliciesInput) SetLimit(v int64) *DescribeResourcePoliciesInput {
6139	s.Limit = &v
6140	return s
6141}
6142
6143// SetNextToken sets the NextToken field's value.
6144func (s *DescribeResourcePoliciesInput) SetNextToken(v string) *DescribeResourcePoliciesInput {
6145	s.NextToken = &v
6146	return s
6147}
6148
6149type DescribeResourcePoliciesOutput struct {
6150	_ struct{} `type:"structure"`
6151
6152	// The token for the next set of items to return. The token expires after 24
6153	// hours.
6154	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6155
6156	// The resource policies that exist in this account.
6157	ResourcePolicies []*ResourcePolicy `locationName:"resourcePolicies" type:"list"`
6158}
6159
6160// String returns the string representation
6161func (s DescribeResourcePoliciesOutput) String() string {
6162	return awsutil.Prettify(s)
6163}
6164
6165// GoString returns the string representation
6166func (s DescribeResourcePoliciesOutput) GoString() string {
6167	return s.String()
6168}
6169
6170// SetNextToken sets the NextToken field's value.
6171func (s *DescribeResourcePoliciesOutput) SetNextToken(v string) *DescribeResourcePoliciesOutput {
6172	s.NextToken = &v
6173	return s
6174}
6175
6176// SetResourcePolicies sets the ResourcePolicies field's value.
6177func (s *DescribeResourcePoliciesOutput) SetResourcePolicies(v []*ResourcePolicy) *DescribeResourcePoliciesOutput {
6178	s.ResourcePolicies = v
6179	return s
6180}
6181
6182type DescribeSubscriptionFiltersInput struct {
6183	_ struct{} `type:"structure"`
6184
6185	// The prefix to match. If you don't specify a value, no prefix filter is applied.
6186	FilterNamePrefix *string `locationName:"filterNamePrefix" min:"1" type:"string"`
6187
6188	// The maximum number of items returned. If you don't specify a value, the default
6189	// is up to 50 items.
6190	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
6191
6192	// The name of the log group.
6193	//
6194	// LogGroupName is a required field
6195	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
6196
6197	// The token for the next set of items to return. (You received this token from
6198	// a previous call.)
6199	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6200}
6201
6202// String returns the string representation
6203func (s DescribeSubscriptionFiltersInput) String() string {
6204	return awsutil.Prettify(s)
6205}
6206
6207// GoString returns the string representation
6208func (s DescribeSubscriptionFiltersInput) GoString() string {
6209	return s.String()
6210}
6211
6212// Validate inspects the fields of the type to determine if they are valid.
6213func (s *DescribeSubscriptionFiltersInput) Validate() error {
6214	invalidParams := request.ErrInvalidParams{Context: "DescribeSubscriptionFiltersInput"}
6215	if s.FilterNamePrefix != nil && len(*s.FilterNamePrefix) < 1 {
6216		invalidParams.Add(request.NewErrParamMinLen("FilterNamePrefix", 1))
6217	}
6218	if s.Limit != nil && *s.Limit < 1 {
6219		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6220	}
6221	if s.LogGroupName == nil {
6222		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
6223	}
6224	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
6225		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
6226	}
6227	if s.NextToken != nil && len(*s.NextToken) < 1 {
6228		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6229	}
6230
6231	if invalidParams.Len() > 0 {
6232		return invalidParams
6233	}
6234	return nil
6235}
6236
6237// SetFilterNamePrefix sets the FilterNamePrefix field's value.
6238func (s *DescribeSubscriptionFiltersInput) SetFilterNamePrefix(v string) *DescribeSubscriptionFiltersInput {
6239	s.FilterNamePrefix = &v
6240	return s
6241}
6242
6243// SetLimit sets the Limit field's value.
6244func (s *DescribeSubscriptionFiltersInput) SetLimit(v int64) *DescribeSubscriptionFiltersInput {
6245	s.Limit = &v
6246	return s
6247}
6248
6249// SetLogGroupName sets the LogGroupName field's value.
6250func (s *DescribeSubscriptionFiltersInput) SetLogGroupName(v string) *DescribeSubscriptionFiltersInput {
6251	s.LogGroupName = &v
6252	return s
6253}
6254
6255// SetNextToken sets the NextToken field's value.
6256func (s *DescribeSubscriptionFiltersInput) SetNextToken(v string) *DescribeSubscriptionFiltersInput {
6257	s.NextToken = &v
6258	return s
6259}
6260
6261type DescribeSubscriptionFiltersOutput struct {
6262	_ struct{} `type:"structure"`
6263
6264	// The token for the next set of items to return. The token expires after 24
6265	// hours.
6266	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6267
6268	// The subscription filters.
6269	SubscriptionFilters []*SubscriptionFilter `locationName:"subscriptionFilters" type:"list"`
6270}
6271
6272// String returns the string representation
6273func (s DescribeSubscriptionFiltersOutput) String() string {
6274	return awsutil.Prettify(s)
6275}
6276
6277// GoString returns the string representation
6278func (s DescribeSubscriptionFiltersOutput) GoString() string {
6279	return s.String()
6280}
6281
6282// SetNextToken sets the NextToken field's value.
6283func (s *DescribeSubscriptionFiltersOutput) SetNextToken(v string) *DescribeSubscriptionFiltersOutput {
6284	s.NextToken = &v
6285	return s
6286}
6287
6288// SetSubscriptionFilters sets the SubscriptionFilters field's value.
6289func (s *DescribeSubscriptionFiltersOutput) SetSubscriptionFilters(v []*SubscriptionFilter) *DescribeSubscriptionFiltersOutput {
6290	s.SubscriptionFilters = v
6291	return s
6292}
6293
6294// Represents a cross-account destination that receives subscription log events.
6295type Destination struct {
6296	_ struct{} `type:"structure"`
6297
6298	// An IAM policy document that governs which AWS accounts can create subscription
6299	// filters against this destination.
6300	AccessPolicy *string `locationName:"accessPolicy" min:"1" type:"string"`
6301
6302	// The ARN of this destination.
6303	Arn *string `locationName:"arn" type:"string"`
6304
6305	// The creation time of the destination, expressed as the number of milliseconds
6306	// after Jan 1, 1970 00:00:00 UTC.
6307	CreationTime *int64 `locationName:"creationTime" type:"long"`
6308
6309	// The name of the destination.
6310	DestinationName *string `locationName:"destinationName" min:"1" type:"string"`
6311
6312	// A role for impersonation, used when delivering log events to the target.
6313	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
6314
6315	// The Amazon Resource Name (ARN) of the physical target where the log events
6316	// are delivered (for example, a Kinesis stream).
6317	TargetArn *string `locationName:"targetArn" min:"1" type:"string"`
6318}
6319
6320// String returns the string representation
6321func (s Destination) String() string {
6322	return awsutil.Prettify(s)
6323}
6324
6325// GoString returns the string representation
6326func (s Destination) GoString() string {
6327	return s.String()
6328}
6329
6330// SetAccessPolicy sets the AccessPolicy field's value.
6331func (s *Destination) SetAccessPolicy(v string) *Destination {
6332	s.AccessPolicy = &v
6333	return s
6334}
6335
6336// SetArn sets the Arn field's value.
6337func (s *Destination) SetArn(v string) *Destination {
6338	s.Arn = &v
6339	return s
6340}
6341
6342// SetCreationTime sets the CreationTime field's value.
6343func (s *Destination) SetCreationTime(v int64) *Destination {
6344	s.CreationTime = &v
6345	return s
6346}
6347
6348// SetDestinationName sets the DestinationName field's value.
6349func (s *Destination) SetDestinationName(v string) *Destination {
6350	s.DestinationName = &v
6351	return s
6352}
6353
6354// SetRoleArn sets the RoleArn field's value.
6355func (s *Destination) SetRoleArn(v string) *Destination {
6356	s.RoleArn = &v
6357	return s
6358}
6359
6360// SetTargetArn sets the TargetArn field's value.
6361func (s *Destination) SetTargetArn(v string) *Destination {
6362	s.TargetArn = &v
6363	return s
6364}
6365
6366type DisassociateKmsKeyInput struct {
6367	_ struct{} `type:"structure"`
6368
6369	// The name of the log group.
6370	//
6371	// LogGroupName is a required field
6372	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
6373}
6374
6375// String returns the string representation
6376func (s DisassociateKmsKeyInput) String() string {
6377	return awsutil.Prettify(s)
6378}
6379
6380// GoString returns the string representation
6381func (s DisassociateKmsKeyInput) GoString() string {
6382	return s.String()
6383}
6384
6385// Validate inspects the fields of the type to determine if they are valid.
6386func (s *DisassociateKmsKeyInput) Validate() error {
6387	invalidParams := request.ErrInvalidParams{Context: "DisassociateKmsKeyInput"}
6388	if s.LogGroupName == nil {
6389		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
6390	}
6391	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
6392		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
6393	}
6394
6395	if invalidParams.Len() > 0 {
6396		return invalidParams
6397	}
6398	return nil
6399}
6400
6401// SetLogGroupName sets the LogGroupName field's value.
6402func (s *DisassociateKmsKeyInput) SetLogGroupName(v string) *DisassociateKmsKeyInput {
6403	s.LogGroupName = &v
6404	return s
6405}
6406
6407type DisassociateKmsKeyOutput struct {
6408	_ struct{} `type:"structure"`
6409}
6410
6411// String returns the string representation
6412func (s DisassociateKmsKeyOutput) String() string {
6413	return awsutil.Prettify(s)
6414}
6415
6416// GoString returns the string representation
6417func (s DisassociateKmsKeyOutput) GoString() string {
6418	return s.String()
6419}
6420
6421// Represents an export task.
6422type ExportTask struct {
6423	_ struct{} `type:"structure"`
6424
6425	// The name of the S3 bucket to which the log data was exported.
6426	Destination *string `locationName:"destination" min:"1" type:"string"`
6427
6428	// The prefix that was used as the start of Amazon S3 key for every object exported.
6429	DestinationPrefix *string `locationName:"destinationPrefix" type:"string"`
6430
6431	// Execution information about the export task.
6432	ExecutionInfo *ExportTaskExecutionInfo `locationName:"executionInfo" type:"structure"`
6433
6434	// The start time, expressed as the number of milliseconds after Jan 1, 1970
6435	// 00:00:00 UTC. Events with a timestamp before this time are not exported.
6436	From *int64 `locationName:"from" type:"long"`
6437
6438	// The name of the log group from which logs data was exported.
6439	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
6440
6441	// The status of the export task.
6442	Status *ExportTaskStatus `locationName:"status" type:"structure"`
6443
6444	// The ID of the export task.
6445	TaskId *string `locationName:"taskId" min:"1" type:"string"`
6446
6447	// The name of the export task.
6448	TaskName *string `locationName:"taskName" min:"1" type:"string"`
6449
6450	// The end time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00
6451	// UTC. Events with a timestamp later than this time are not exported.
6452	To *int64 `locationName:"to" type:"long"`
6453}
6454
6455// String returns the string representation
6456func (s ExportTask) String() string {
6457	return awsutil.Prettify(s)
6458}
6459
6460// GoString returns the string representation
6461func (s ExportTask) GoString() string {
6462	return s.String()
6463}
6464
6465// SetDestination sets the Destination field's value.
6466func (s *ExportTask) SetDestination(v string) *ExportTask {
6467	s.Destination = &v
6468	return s
6469}
6470
6471// SetDestinationPrefix sets the DestinationPrefix field's value.
6472func (s *ExportTask) SetDestinationPrefix(v string) *ExportTask {
6473	s.DestinationPrefix = &v
6474	return s
6475}
6476
6477// SetExecutionInfo sets the ExecutionInfo field's value.
6478func (s *ExportTask) SetExecutionInfo(v *ExportTaskExecutionInfo) *ExportTask {
6479	s.ExecutionInfo = v
6480	return s
6481}
6482
6483// SetFrom sets the From field's value.
6484func (s *ExportTask) SetFrom(v int64) *ExportTask {
6485	s.From = &v
6486	return s
6487}
6488
6489// SetLogGroupName sets the LogGroupName field's value.
6490func (s *ExportTask) SetLogGroupName(v string) *ExportTask {
6491	s.LogGroupName = &v
6492	return s
6493}
6494
6495// SetStatus sets the Status field's value.
6496func (s *ExportTask) SetStatus(v *ExportTaskStatus) *ExportTask {
6497	s.Status = v
6498	return s
6499}
6500
6501// SetTaskId sets the TaskId field's value.
6502func (s *ExportTask) SetTaskId(v string) *ExportTask {
6503	s.TaskId = &v
6504	return s
6505}
6506
6507// SetTaskName sets the TaskName field's value.
6508func (s *ExportTask) SetTaskName(v string) *ExportTask {
6509	s.TaskName = &v
6510	return s
6511}
6512
6513// SetTo sets the To field's value.
6514func (s *ExportTask) SetTo(v int64) *ExportTask {
6515	s.To = &v
6516	return s
6517}
6518
6519// Represents the status of an export task.
6520type ExportTaskExecutionInfo struct {
6521	_ struct{} `type:"structure"`
6522
6523	// The completion time of the export task, expressed as the number of milliseconds
6524	// after Jan 1, 1970 00:00:00 UTC.
6525	CompletionTime *int64 `locationName:"completionTime" type:"long"`
6526
6527	// The creation time of the export task, expressed as the number of milliseconds
6528	// after Jan 1, 1970 00:00:00 UTC.
6529	CreationTime *int64 `locationName:"creationTime" type:"long"`
6530}
6531
6532// String returns the string representation
6533func (s ExportTaskExecutionInfo) String() string {
6534	return awsutil.Prettify(s)
6535}
6536
6537// GoString returns the string representation
6538func (s ExportTaskExecutionInfo) GoString() string {
6539	return s.String()
6540}
6541
6542// SetCompletionTime sets the CompletionTime field's value.
6543func (s *ExportTaskExecutionInfo) SetCompletionTime(v int64) *ExportTaskExecutionInfo {
6544	s.CompletionTime = &v
6545	return s
6546}
6547
6548// SetCreationTime sets the CreationTime field's value.
6549func (s *ExportTaskExecutionInfo) SetCreationTime(v int64) *ExportTaskExecutionInfo {
6550	s.CreationTime = &v
6551	return s
6552}
6553
6554// Represents the status of an export task.
6555type ExportTaskStatus struct {
6556	_ struct{} `type:"structure"`
6557
6558	// The status code of the export task.
6559	Code *string `locationName:"code" type:"string" enum:"ExportTaskStatusCode"`
6560
6561	// The status message related to the status code.
6562	Message *string `locationName:"message" type:"string"`
6563}
6564
6565// String returns the string representation
6566func (s ExportTaskStatus) String() string {
6567	return awsutil.Prettify(s)
6568}
6569
6570// GoString returns the string representation
6571func (s ExportTaskStatus) GoString() string {
6572	return s.String()
6573}
6574
6575// SetCode sets the Code field's value.
6576func (s *ExportTaskStatus) SetCode(v string) *ExportTaskStatus {
6577	s.Code = &v
6578	return s
6579}
6580
6581// SetMessage sets the Message field's value.
6582func (s *ExportTaskStatus) SetMessage(v string) *ExportTaskStatus {
6583	s.Message = &v
6584	return s
6585}
6586
6587type FilterLogEventsInput struct {
6588	_ struct{} `type:"structure"`
6589
6590	// The end of the time range, expressed as the number of milliseconds after
6591	// Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are
6592	// not returned.
6593	EndTime *int64 `locationName:"endTime" type:"long"`
6594
6595	// The filter pattern to use. For more information, see Filter and Pattern Syntax
6596	// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).
6597	//
6598	// If not provided, all the events are matched.
6599	FilterPattern *string `locationName:"filterPattern" type:"string"`
6600
6601	// If the value is true, the operation makes a best effort to provide responses
6602	// that contain events from multiple log streams within the log group, interleaved
6603	// in a single response. If the value is false, all the matched log events in
6604	// the first log stream are searched first, then those in the next log stream,
6605	// and so on. The default is false.
6606	//
6607	// Important: Starting on June 17, 2019, this parameter is ignored and the value
6608	// is assumed to be true. The response from this operation always interleaves
6609	// events from multiple log streams within a log group.
6610	//
6611	// Deprecated: Starting on June 17, 2019, this parameter will be ignored and the value will be assumed to be true. The response from this operation will always interleave events from multiple log streams within a log group.
6612	Interleaved *bool `locationName:"interleaved" deprecated:"true" type:"boolean"`
6613
6614	// The maximum number of events to return. The default is 10,000 events.
6615	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
6616
6617	// The name of the log group to search.
6618	//
6619	// LogGroupName is a required field
6620	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
6621
6622	// Filters the results to include only events from log streams that have names
6623	// starting with this prefix.
6624	//
6625	// If you specify a value for both logStreamNamePrefix and logStreamNames, but
6626	// the value for logStreamNamePrefix does not match any log stream names specified
6627	// in logStreamNames, the action returns an InvalidParameterException error.
6628	LogStreamNamePrefix *string `locationName:"logStreamNamePrefix" min:"1" type:"string"`
6629
6630	// Filters the results to only logs from the log streams in this list.
6631	//
6632	// If you specify a value for both logStreamNamePrefix and logStreamNames, the
6633	// action returns an InvalidParameterException error.
6634	LogStreamNames []*string `locationName:"logStreamNames" min:"1" type:"list"`
6635
6636	// The token for the next set of events to return. (You received this token
6637	// from a previous call.)
6638	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6639
6640	// The start of the time range, expressed as the number of milliseconds after
6641	// Jan 1, 1970 00:00:00 UTC. Events with a timestamp before this time are not
6642	// returned.
6643	//
6644	// If you omit startTime and endTime the most recent log events are retrieved,
6645	// to up 1 MB or 10,000 log events.
6646	StartTime *int64 `locationName:"startTime" type:"long"`
6647}
6648
6649// String returns the string representation
6650func (s FilterLogEventsInput) String() string {
6651	return awsutil.Prettify(s)
6652}
6653
6654// GoString returns the string representation
6655func (s FilterLogEventsInput) GoString() string {
6656	return s.String()
6657}
6658
6659// Validate inspects the fields of the type to determine if they are valid.
6660func (s *FilterLogEventsInput) Validate() error {
6661	invalidParams := request.ErrInvalidParams{Context: "FilterLogEventsInput"}
6662	if s.Limit != nil && *s.Limit < 1 {
6663		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6664	}
6665	if s.LogGroupName == nil {
6666		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
6667	}
6668	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
6669		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
6670	}
6671	if s.LogStreamNamePrefix != nil && len(*s.LogStreamNamePrefix) < 1 {
6672		invalidParams.Add(request.NewErrParamMinLen("LogStreamNamePrefix", 1))
6673	}
6674	if s.LogStreamNames != nil && len(s.LogStreamNames) < 1 {
6675		invalidParams.Add(request.NewErrParamMinLen("LogStreamNames", 1))
6676	}
6677	if s.NextToken != nil && len(*s.NextToken) < 1 {
6678		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6679	}
6680
6681	if invalidParams.Len() > 0 {
6682		return invalidParams
6683	}
6684	return nil
6685}
6686
6687// SetEndTime sets the EndTime field's value.
6688func (s *FilterLogEventsInput) SetEndTime(v int64) *FilterLogEventsInput {
6689	s.EndTime = &v
6690	return s
6691}
6692
6693// SetFilterPattern sets the FilterPattern field's value.
6694func (s *FilterLogEventsInput) SetFilterPattern(v string) *FilterLogEventsInput {
6695	s.FilterPattern = &v
6696	return s
6697}
6698
6699// SetInterleaved sets the Interleaved field's value.
6700func (s *FilterLogEventsInput) SetInterleaved(v bool) *FilterLogEventsInput {
6701	s.Interleaved = &v
6702	return s
6703}
6704
6705// SetLimit sets the Limit field's value.
6706func (s *FilterLogEventsInput) SetLimit(v int64) *FilterLogEventsInput {
6707	s.Limit = &v
6708	return s
6709}
6710
6711// SetLogGroupName sets the LogGroupName field's value.
6712func (s *FilterLogEventsInput) SetLogGroupName(v string) *FilterLogEventsInput {
6713	s.LogGroupName = &v
6714	return s
6715}
6716
6717// SetLogStreamNamePrefix sets the LogStreamNamePrefix field's value.
6718func (s *FilterLogEventsInput) SetLogStreamNamePrefix(v string) *FilterLogEventsInput {
6719	s.LogStreamNamePrefix = &v
6720	return s
6721}
6722
6723// SetLogStreamNames sets the LogStreamNames field's value.
6724func (s *FilterLogEventsInput) SetLogStreamNames(v []*string) *FilterLogEventsInput {
6725	s.LogStreamNames = v
6726	return s
6727}
6728
6729// SetNextToken sets the NextToken field's value.
6730func (s *FilterLogEventsInput) SetNextToken(v string) *FilterLogEventsInput {
6731	s.NextToken = &v
6732	return s
6733}
6734
6735// SetStartTime sets the StartTime field's value.
6736func (s *FilterLogEventsInput) SetStartTime(v int64) *FilterLogEventsInput {
6737	s.StartTime = &v
6738	return s
6739}
6740
6741type FilterLogEventsOutput struct {
6742	_ struct{} `type:"structure"`
6743
6744	// The matched events.
6745	Events []*FilteredLogEvent `locationName:"events" type:"list"`
6746
6747	// The token to use when requesting the next set of items. The token expires
6748	// after 24 hours.
6749	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6750
6751	// IMPORTANT Starting on May 15, 2020, this parameter will be deprecated. This
6752	// parameter will be an empty list after the deprecation occurs.
6753	//
6754	// Indicates which log streams have been searched and whether each has been
6755	// searched completely.
6756	SearchedLogStreams []*SearchedLogStream `locationName:"searchedLogStreams" type:"list"`
6757}
6758
6759// String returns the string representation
6760func (s FilterLogEventsOutput) String() string {
6761	return awsutil.Prettify(s)
6762}
6763
6764// GoString returns the string representation
6765func (s FilterLogEventsOutput) GoString() string {
6766	return s.String()
6767}
6768
6769// SetEvents sets the Events field's value.
6770func (s *FilterLogEventsOutput) SetEvents(v []*FilteredLogEvent) *FilterLogEventsOutput {
6771	s.Events = v
6772	return s
6773}
6774
6775// SetNextToken sets the NextToken field's value.
6776func (s *FilterLogEventsOutput) SetNextToken(v string) *FilterLogEventsOutput {
6777	s.NextToken = &v
6778	return s
6779}
6780
6781// SetSearchedLogStreams sets the SearchedLogStreams field's value.
6782func (s *FilterLogEventsOutput) SetSearchedLogStreams(v []*SearchedLogStream) *FilterLogEventsOutput {
6783	s.SearchedLogStreams = v
6784	return s
6785}
6786
6787// Represents a matched event.
6788type FilteredLogEvent struct {
6789	_ struct{} `type:"structure"`
6790
6791	// The ID of the event.
6792	EventId *string `locationName:"eventId" type:"string"`
6793
6794	// The time the event was ingested, expressed as the number of milliseconds
6795	// after Jan 1, 1970 00:00:00 UTC.
6796	IngestionTime *int64 `locationName:"ingestionTime" type:"long"`
6797
6798	// The name of the log stream to which this event belongs.
6799	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string"`
6800
6801	// The data contained in the log event.
6802	Message *string `locationName:"message" min:"1" type:"string"`
6803
6804	// The time the event occurred, expressed as the number of milliseconds after
6805	// Jan 1, 1970 00:00:00 UTC.
6806	Timestamp *int64 `locationName:"timestamp" type:"long"`
6807}
6808
6809// String returns the string representation
6810func (s FilteredLogEvent) String() string {
6811	return awsutil.Prettify(s)
6812}
6813
6814// GoString returns the string representation
6815func (s FilteredLogEvent) GoString() string {
6816	return s.String()
6817}
6818
6819// SetEventId sets the EventId field's value.
6820func (s *FilteredLogEvent) SetEventId(v string) *FilteredLogEvent {
6821	s.EventId = &v
6822	return s
6823}
6824
6825// SetIngestionTime sets the IngestionTime field's value.
6826func (s *FilteredLogEvent) SetIngestionTime(v int64) *FilteredLogEvent {
6827	s.IngestionTime = &v
6828	return s
6829}
6830
6831// SetLogStreamName sets the LogStreamName field's value.
6832func (s *FilteredLogEvent) SetLogStreamName(v string) *FilteredLogEvent {
6833	s.LogStreamName = &v
6834	return s
6835}
6836
6837// SetMessage sets the Message field's value.
6838func (s *FilteredLogEvent) SetMessage(v string) *FilteredLogEvent {
6839	s.Message = &v
6840	return s
6841}
6842
6843// SetTimestamp sets the Timestamp field's value.
6844func (s *FilteredLogEvent) SetTimestamp(v int64) *FilteredLogEvent {
6845	s.Timestamp = &v
6846	return s
6847}
6848
6849type GetLogEventsInput struct {
6850	_ struct{} `type:"structure"`
6851
6852	// The end of the time range, expressed as the number of milliseconds after
6853	// Jan 1, 1970 00:00:00 UTC. Events with a timestamp equal to or later than
6854	// this time are not included.
6855	EndTime *int64 `locationName:"endTime" type:"long"`
6856
6857	// The maximum number of log events returned. If you don't specify a value,
6858	// the maximum is as many log events as can fit in a response size of 1 MB,
6859	// up to 10,000 log events.
6860	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
6861
6862	// The name of the log group.
6863	//
6864	// LogGroupName is a required field
6865	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
6866
6867	// The name of the log stream.
6868	//
6869	// LogStreamName is a required field
6870	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"`
6871
6872	// The token for the next set of items to return. (You received this token from
6873	// a previous call.)
6874	//
6875	// Using this token works only when you specify true for startFromHead.
6876	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6877
6878	// If the value is true, the earliest log events are returned first. If the
6879	// value is false, the latest log events are returned first. The default value
6880	// is false.
6881	//
6882	// If you are using nextToken in this operation, you must specify true for startFromHead.
6883	StartFromHead *bool `locationName:"startFromHead" type:"boolean"`
6884
6885	// The start of the time range, expressed as the number of milliseconds after
6886	// Jan 1, 1970 00:00:00 UTC. Events with a timestamp equal to this time or later
6887	// than this time are included. Events with a timestamp earlier than this time
6888	// are not included.
6889	StartTime *int64 `locationName:"startTime" type:"long"`
6890}
6891
6892// String returns the string representation
6893func (s GetLogEventsInput) String() string {
6894	return awsutil.Prettify(s)
6895}
6896
6897// GoString returns the string representation
6898func (s GetLogEventsInput) GoString() string {
6899	return s.String()
6900}
6901
6902// Validate inspects the fields of the type to determine if they are valid.
6903func (s *GetLogEventsInput) Validate() error {
6904	invalidParams := request.ErrInvalidParams{Context: "GetLogEventsInput"}
6905	if s.Limit != nil && *s.Limit < 1 {
6906		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6907	}
6908	if s.LogGroupName == nil {
6909		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
6910	}
6911	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
6912		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
6913	}
6914	if s.LogStreamName == nil {
6915		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
6916	}
6917	if s.LogStreamName != nil && len(*s.LogStreamName) < 1 {
6918		invalidParams.Add(request.NewErrParamMinLen("LogStreamName", 1))
6919	}
6920	if s.NextToken != nil && len(*s.NextToken) < 1 {
6921		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6922	}
6923
6924	if invalidParams.Len() > 0 {
6925		return invalidParams
6926	}
6927	return nil
6928}
6929
6930// SetEndTime sets the EndTime field's value.
6931func (s *GetLogEventsInput) SetEndTime(v int64) *GetLogEventsInput {
6932	s.EndTime = &v
6933	return s
6934}
6935
6936// SetLimit sets the Limit field's value.
6937func (s *GetLogEventsInput) SetLimit(v int64) *GetLogEventsInput {
6938	s.Limit = &v
6939	return s
6940}
6941
6942// SetLogGroupName sets the LogGroupName field's value.
6943func (s *GetLogEventsInput) SetLogGroupName(v string) *GetLogEventsInput {
6944	s.LogGroupName = &v
6945	return s
6946}
6947
6948// SetLogStreamName sets the LogStreamName field's value.
6949func (s *GetLogEventsInput) SetLogStreamName(v string) *GetLogEventsInput {
6950	s.LogStreamName = &v
6951	return s
6952}
6953
6954// SetNextToken sets the NextToken field's value.
6955func (s *GetLogEventsInput) SetNextToken(v string) *GetLogEventsInput {
6956	s.NextToken = &v
6957	return s
6958}
6959
6960// SetStartFromHead sets the StartFromHead field's value.
6961func (s *GetLogEventsInput) SetStartFromHead(v bool) *GetLogEventsInput {
6962	s.StartFromHead = &v
6963	return s
6964}
6965
6966// SetStartTime sets the StartTime field's value.
6967func (s *GetLogEventsInput) SetStartTime(v int64) *GetLogEventsInput {
6968	s.StartTime = &v
6969	return s
6970}
6971
6972type GetLogEventsOutput struct {
6973	_ struct{} `type:"structure"`
6974
6975	// The events.
6976	Events []*OutputLogEvent `locationName:"events" type:"list"`
6977
6978	// The token for the next set of items in the backward direction. The token
6979	// expires after 24 hours. This token is never null. If you have reached the
6980	// end of the stream, it returns the same token you passed in.
6981	NextBackwardToken *string `locationName:"nextBackwardToken" min:"1" type:"string"`
6982
6983	// The token for the next set of items in the forward direction. The token expires
6984	// after 24 hours. If you have reached the end of the stream, it returns the
6985	// same token you passed in.
6986	NextForwardToken *string `locationName:"nextForwardToken" min:"1" type:"string"`
6987}
6988
6989// String returns the string representation
6990func (s GetLogEventsOutput) String() string {
6991	return awsutil.Prettify(s)
6992}
6993
6994// GoString returns the string representation
6995func (s GetLogEventsOutput) GoString() string {
6996	return s.String()
6997}
6998
6999// SetEvents sets the Events field's value.
7000func (s *GetLogEventsOutput) SetEvents(v []*OutputLogEvent) *GetLogEventsOutput {
7001	s.Events = v
7002	return s
7003}
7004
7005// SetNextBackwardToken sets the NextBackwardToken field's value.
7006func (s *GetLogEventsOutput) SetNextBackwardToken(v string) *GetLogEventsOutput {
7007	s.NextBackwardToken = &v
7008	return s
7009}
7010
7011// SetNextForwardToken sets the NextForwardToken field's value.
7012func (s *GetLogEventsOutput) SetNextForwardToken(v string) *GetLogEventsOutput {
7013	s.NextForwardToken = &v
7014	return s
7015}
7016
7017type GetLogGroupFieldsInput struct {
7018	_ struct{} `type:"structure"`
7019
7020	// The name of the log group to search.
7021	//
7022	// LogGroupName is a required field
7023	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
7024
7025	// The time to set as the center of the query. If you specify time, the 8 minutes
7026	// before and 8 minutes after this time are searched. If you omit time, the
7027	// past 15 minutes are queried.
7028	//
7029	// The time value is specified as epoch time, the number of seconds since January
7030	// 1, 1970, 00:00:00 UTC.
7031	Time *int64 `locationName:"time" type:"long"`
7032}
7033
7034// String returns the string representation
7035func (s GetLogGroupFieldsInput) String() string {
7036	return awsutil.Prettify(s)
7037}
7038
7039// GoString returns the string representation
7040func (s GetLogGroupFieldsInput) GoString() string {
7041	return s.String()
7042}
7043
7044// Validate inspects the fields of the type to determine if they are valid.
7045func (s *GetLogGroupFieldsInput) Validate() error {
7046	invalidParams := request.ErrInvalidParams{Context: "GetLogGroupFieldsInput"}
7047	if s.LogGroupName == nil {
7048		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
7049	}
7050	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
7051		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
7052	}
7053
7054	if invalidParams.Len() > 0 {
7055		return invalidParams
7056	}
7057	return nil
7058}
7059
7060// SetLogGroupName sets the LogGroupName field's value.
7061func (s *GetLogGroupFieldsInput) SetLogGroupName(v string) *GetLogGroupFieldsInput {
7062	s.LogGroupName = &v
7063	return s
7064}
7065
7066// SetTime sets the Time field's value.
7067func (s *GetLogGroupFieldsInput) SetTime(v int64) *GetLogGroupFieldsInput {
7068	s.Time = &v
7069	return s
7070}
7071
7072type GetLogGroupFieldsOutput struct {
7073	_ struct{} `type:"structure"`
7074
7075	// The array of fields found in the query. Each object in the array contains
7076	// the name of the field, along with the percentage of time it appeared in the
7077	// log events that were queried.
7078	LogGroupFields []*LogGroupField `locationName:"logGroupFields" type:"list"`
7079}
7080
7081// String returns the string representation
7082func (s GetLogGroupFieldsOutput) String() string {
7083	return awsutil.Prettify(s)
7084}
7085
7086// GoString returns the string representation
7087func (s GetLogGroupFieldsOutput) GoString() string {
7088	return s.String()
7089}
7090
7091// SetLogGroupFields sets the LogGroupFields field's value.
7092func (s *GetLogGroupFieldsOutput) SetLogGroupFields(v []*LogGroupField) *GetLogGroupFieldsOutput {
7093	s.LogGroupFields = v
7094	return s
7095}
7096
7097type GetLogRecordInput struct {
7098	_ struct{} `type:"structure"`
7099
7100	// The pointer corresponding to the log event record you want to retrieve. You
7101	// get this from the response of a GetQueryResults operation. In that response,
7102	// the value of the @ptr field for a log event is the value to use as logRecordPointer
7103	// to retrieve that complete log event record.
7104	//
7105	// LogRecordPointer is a required field
7106	LogRecordPointer *string `locationName:"logRecordPointer" type:"string" required:"true"`
7107}
7108
7109// String returns the string representation
7110func (s GetLogRecordInput) String() string {
7111	return awsutil.Prettify(s)
7112}
7113
7114// GoString returns the string representation
7115func (s GetLogRecordInput) GoString() string {
7116	return s.String()
7117}
7118
7119// Validate inspects the fields of the type to determine if they are valid.
7120func (s *GetLogRecordInput) Validate() error {
7121	invalidParams := request.ErrInvalidParams{Context: "GetLogRecordInput"}
7122	if s.LogRecordPointer == nil {
7123		invalidParams.Add(request.NewErrParamRequired("LogRecordPointer"))
7124	}
7125
7126	if invalidParams.Len() > 0 {
7127		return invalidParams
7128	}
7129	return nil
7130}
7131
7132// SetLogRecordPointer sets the LogRecordPointer field's value.
7133func (s *GetLogRecordInput) SetLogRecordPointer(v string) *GetLogRecordInput {
7134	s.LogRecordPointer = &v
7135	return s
7136}
7137
7138type GetLogRecordOutput struct {
7139	_ struct{} `type:"structure"`
7140
7141	// The requested log event, as a JSON string.
7142	LogRecord map[string]*string `locationName:"logRecord" type:"map"`
7143}
7144
7145// String returns the string representation
7146func (s GetLogRecordOutput) String() string {
7147	return awsutil.Prettify(s)
7148}
7149
7150// GoString returns the string representation
7151func (s GetLogRecordOutput) GoString() string {
7152	return s.String()
7153}
7154
7155// SetLogRecord sets the LogRecord field's value.
7156func (s *GetLogRecordOutput) SetLogRecord(v map[string]*string) *GetLogRecordOutput {
7157	s.LogRecord = v
7158	return s
7159}
7160
7161type GetQueryResultsInput struct {
7162	_ struct{} `type:"structure"`
7163
7164	// The ID number of the query.
7165	//
7166	// QueryId is a required field
7167	QueryId *string `locationName:"queryId" type:"string" required:"true"`
7168}
7169
7170// String returns the string representation
7171func (s GetQueryResultsInput) String() string {
7172	return awsutil.Prettify(s)
7173}
7174
7175// GoString returns the string representation
7176func (s GetQueryResultsInput) GoString() string {
7177	return s.String()
7178}
7179
7180// Validate inspects the fields of the type to determine if they are valid.
7181func (s *GetQueryResultsInput) Validate() error {
7182	invalidParams := request.ErrInvalidParams{Context: "GetQueryResultsInput"}
7183	if s.QueryId == nil {
7184		invalidParams.Add(request.NewErrParamRequired("QueryId"))
7185	}
7186
7187	if invalidParams.Len() > 0 {
7188		return invalidParams
7189	}
7190	return nil
7191}
7192
7193// SetQueryId sets the QueryId field's value.
7194func (s *GetQueryResultsInput) SetQueryId(v string) *GetQueryResultsInput {
7195	s.QueryId = &v
7196	return s
7197}
7198
7199type GetQueryResultsOutput struct {
7200	_ struct{} `type:"structure"`
7201
7202	// The log events that matched the query criteria during the most recent time
7203	// it ran.
7204	//
7205	// The results value is an array of arrays. Each log event is one object in
7206	// the top-level array. Each of these log event objects is an array of field/value
7207	// pairs.
7208	Results [][]*ResultField `locationName:"results" type:"list"`
7209
7210	// Includes the number of log events scanned by the query, the number of log
7211	// events that matched the query criteria, and the total number of bytes in
7212	// the log events that were scanned. These values reflect the full raw results
7213	// of the query.
7214	Statistics *QueryStatistics `locationName:"statistics" type:"structure"`
7215
7216	// The status of the most recent running of the query. Possible values are Cancelled,
7217	// Complete, Failed, Running, Scheduled, Timeout, and Unknown.
7218	//
7219	// Queries time out after 15 minutes of execution. To avoid having your queries
7220	// time out, reduce the time range being searched or partition your query into
7221	// a number of queries.
7222	Status *string `locationName:"status" type:"string" enum:"QueryStatus"`
7223}
7224
7225// String returns the string representation
7226func (s GetQueryResultsOutput) String() string {
7227	return awsutil.Prettify(s)
7228}
7229
7230// GoString returns the string representation
7231func (s GetQueryResultsOutput) GoString() string {
7232	return s.String()
7233}
7234
7235// SetResults sets the Results field's value.
7236func (s *GetQueryResultsOutput) SetResults(v [][]*ResultField) *GetQueryResultsOutput {
7237	s.Results = v
7238	return s
7239}
7240
7241// SetStatistics sets the Statistics field's value.
7242func (s *GetQueryResultsOutput) SetStatistics(v *QueryStatistics) *GetQueryResultsOutput {
7243	s.Statistics = v
7244	return s
7245}
7246
7247// SetStatus sets the Status field's value.
7248func (s *GetQueryResultsOutput) SetStatus(v string) *GetQueryResultsOutput {
7249	s.Status = &v
7250	return s
7251}
7252
7253// Represents a log event, which is a record of activity that was recorded by
7254// the application or resource being monitored.
7255type InputLogEvent struct {
7256	_ struct{} `type:"structure"`
7257
7258	// The raw event message.
7259	//
7260	// Message is a required field
7261	Message *string `locationName:"message" min:"1" type:"string" required:"true"`
7262
7263	// The time the event occurred, expressed as the number of milliseconds after
7264	// Jan 1, 1970 00:00:00 UTC.
7265	//
7266	// Timestamp is a required field
7267	Timestamp *int64 `locationName:"timestamp" type:"long" required:"true"`
7268}
7269
7270// String returns the string representation
7271func (s InputLogEvent) String() string {
7272	return awsutil.Prettify(s)
7273}
7274
7275// GoString returns the string representation
7276func (s InputLogEvent) GoString() string {
7277	return s.String()
7278}
7279
7280// Validate inspects the fields of the type to determine if they are valid.
7281func (s *InputLogEvent) Validate() error {
7282	invalidParams := request.ErrInvalidParams{Context: "InputLogEvent"}
7283	if s.Message == nil {
7284		invalidParams.Add(request.NewErrParamRequired("Message"))
7285	}
7286	if s.Message != nil && len(*s.Message) < 1 {
7287		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
7288	}
7289	if s.Timestamp == nil {
7290		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
7291	}
7292
7293	if invalidParams.Len() > 0 {
7294		return invalidParams
7295	}
7296	return nil
7297}
7298
7299// SetMessage sets the Message field's value.
7300func (s *InputLogEvent) SetMessage(v string) *InputLogEvent {
7301	s.Message = &v
7302	return s
7303}
7304
7305// SetTimestamp sets the Timestamp field's value.
7306func (s *InputLogEvent) SetTimestamp(v int64) *InputLogEvent {
7307	s.Timestamp = &v
7308	return s
7309}
7310
7311// The operation is not valid on the specified resource.
7312type InvalidOperationException struct {
7313	_            struct{}                  `type:"structure"`
7314	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7315
7316	Message_ *string `locationName:"message" type:"string"`
7317}
7318
7319// String returns the string representation
7320func (s InvalidOperationException) String() string {
7321	return awsutil.Prettify(s)
7322}
7323
7324// GoString returns the string representation
7325func (s InvalidOperationException) GoString() string {
7326	return s.String()
7327}
7328
7329func newErrorInvalidOperationException(v protocol.ResponseMetadata) error {
7330	return &InvalidOperationException{
7331		RespMetadata: v,
7332	}
7333}
7334
7335// Code returns the exception type name.
7336func (s *InvalidOperationException) Code() string {
7337	return "InvalidOperationException"
7338}
7339
7340// Message returns the exception's message.
7341func (s *InvalidOperationException) Message() string {
7342	if s.Message_ != nil {
7343		return *s.Message_
7344	}
7345	return ""
7346}
7347
7348// OrigErr always returns nil, satisfies awserr.Error interface.
7349func (s *InvalidOperationException) OrigErr() error {
7350	return nil
7351}
7352
7353func (s *InvalidOperationException) Error() string {
7354	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7355}
7356
7357// Status code returns the HTTP status code for the request's response error.
7358func (s *InvalidOperationException) StatusCode() int {
7359	return s.RespMetadata.StatusCode
7360}
7361
7362// RequestID returns the service's response RequestID for request.
7363func (s *InvalidOperationException) RequestID() string {
7364	return s.RespMetadata.RequestID
7365}
7366
7367// A parameter is specified incorrectly.
7368type InvalidParameterException struct {
7369	_            struct{}                  `type:"structure"`
7370	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7371
7372	Message_ *string `locationName:"message" type:"string"`
7373}
7374
7375// String returns the string representation
7376func (s InvalidParameterException) String() string {
7377	return awsutil.Prettify(s)
7378}
7379
7380// GoString returns the string representation
7381func (s InvalidParameterException) GoString() string {
7382	return s.String()
7383}
7384
7385func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
7386	return &InvalidParameterException{
7387		RespMetadata: v,
7388	}
7389}
7390
7391// Code returns the exception type name.
7392func (s *InvalidParameterException) Code() string {
7393	return "InvalidParameterException"
7394}
7395
7396// Message returns the exception's message.
7397func (s *InvalidParameterException) Message() string {
7398	if s.Message_ != nil {
7399		return *s.Message_
7400	}
7401	return ""
7402}
7403
7404// OrigErr always returns nil, satisfies awserr.Error interface.
7405func (s *InvalidParameterException) OrigErr() error {
7406	return nil
7407}
7408
7409func (s *InvalidParameterException) Error() string {
7410	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7411}
7412
7413// Status code returns the HTTP status code for the request's response error.
7414func (s *InvalidParameterException) StatusCode() int {
7415	return s.RespMetadata.StatusCode
7416}
7417
7418// RequestID returns the service's response RequestID for request.
7419func (s *InvalidParameterException) RequestID() string {
7420	return s.RespMetadata.RequestID
7421}
7422
7423// The sequence token is not valid. You can get the correct sequence token in
7424// the expectedSequenceToken field in the InvalidSequenceTokenException message.
7425type InvalidSequenceTokenException struct {
7426	_            struct{}                  `type:"structure"`
7427	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7428
7429	ExpectedSequenceToken *string `locationName:"expectedSequenceToken" min:"1" type:"string"`
7430
7431	Message_ *string `locationName:"message" type:"string"`
7432}
7433
7434// String returns the string representation
7435func (s InvalidSequenceTokenException) String() string {
7436	return awsutil.Prettify(s)
7437}
7438
7439// GoString returns the string representation
7440func (s InvalidSequenceTokenException) GoString() string {
7441	return s.String()
7442}
7443
7444func newErrorInvalidSequenceTokenException(v protocol.ResponseMetadata) error {
7445	return &InvalidSequenceTokenException{
7446		RespMetadata: v,
7447	}
7448}
7449
7450// Code returns the exception type name.
7451func (s *InvalidSequenceTokenException) Code() string {
7452	return "InvalidSequenceTokenException"
7453}
7454
7455// Message returns the exception's message.
7456func (s *InvalidSequenceTokenException) Message() string {
7457	if s.Message_ != nil {
7458		return *s.Message_
7459	}
7460	return ""
7461}
7462
7463// OrigErr always returns nil, satisfies awserr.Error interface.
7464func (s *InvalidSequenceTokenException) OrigErr() error {
7465	return nil
7466}
7467
7468func (s *InvalidSequenceTokenException) Error() string {
7469	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7470}
7471
7472// Status code returns the HTTP status code for the request's response error.
7473func (s *InvalidSequenceTokenException) StatusCode() int {
7474	return s.RespMetadata.StatusCode
7475}
7476
7477// RequestID returns the service's response RequestID for request.
7478func (s *InvalidSequenceTokenException) RequestID() string {
7479	return s.RespMetadata.RequestID
7480}
7481
7482// You have reached the maximum number of resources that can be created.
7483type LimitExceededException struct {
7484	_            struct{}                  `type:"structure"`
7485	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7486
7487	Message_ *string `locationName:"message" type:"string"`
7488}
7489
7490// String returns the string representation
7491func (s LimitExceededException) String() string {
7492	return awsutil.Prettify(s)
7493}
7494
7495// GoString returns the string representation
7496func (s LimitExceededException) GoString() string {
7497	return s.String()
7498}
7499
7500func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
7501	return &LimitExceededException{
7502		RespMetadata: v,
7503	}
7504}
7505
7506// Code returns the exception type name.
7507func (s *LimitExceededException) Code() string {
7508	return "LimitExceededException"
7509}
7510
7511// Message returns the exception's message.
7512func (s *LimitExceededException) Message() string {
7513	if s.Message_ != nil {
7514		return *s.Message_
7515	}
7516	return ""
7517}
7518
7519// OrigErr always returns nil, satisfies awserr.Error interface.
7520func (s *LimitExceededException) OrigErr() error {
7521	return nil
7522}
7523
7524func (s *LimitExceededException) Error() string {
7525	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7526}
7527
7528// Status code returns the HTTP status code for the request's response error.
7529func (s *LimitExceededException) StatusCode() int {
7530	return s.RespMetadata.StatusCode
7531}
7532
7533// RequestID returns the service's response RequestID for request.
7534func (s *LimitExceededException) RequestID() string {
7535	return s.RespMetadata.RequestID
7536}
7537
7538type ListTagsLogGroupInput struct {
7539	_ struct{} `type:"structure"`
7540
7541	// The name of the log group.
7542	//
7543	// LogGroupName is a required field
7544	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
7545}
7546
7547// String returns the string representation
7548func (s ListTagsLogGroupInput) String() string {
7549	return awsutil.Prettify(s)
7550}
7551
7552// GoString returns the string representation
7553func (s ListTagsLogGroupInput) GoString() string {
7554	return s.String()
7555}
7556
7557// Validate inspects the fields of the type to determine if they are valid.
7558func (s *ListTagsLogGroupInput) Validate() error {
7559	invalidParams := request.ErrInvalidParams{Context: "ListTagsLogGroupInput"}
7560	if s.LogGroupName == nil {
7561		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
7562	}
7563	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
7564		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
7565	}
7566
7567	if invalidParams.Len() > 0 {
7568		return invalidParams
7569	}
7570	return nil
7571}
7572
7573// SetLogGroupName sets the LogGroupName field's value.
7574func (s *ListTagsLogGroupInput) SetLogGroupName(v string) *ListTagsLogGroupInput {
7575	s.LogGroupName = &v
7576	return s
7577}
7578
7579type ListTagsLogGroupOutput struct {
7580	_ struct{} `type:"structure"`
7581
7582	// The tags for the log group.
7583	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
7584}
7585
7586// String returns the string representation
7587func (s ListTagsLogGroupOutput) String() string {
7588	return awsutil.Prettify(s)
7589}
7590
7591// GoString returns the string representation
7592func (s ListTagsLogGroupOutput) GoString() string {
7593	return s.String()
7594}
7595
7596// SetTags sets the Tags field's value.
7597func (s *ListTagsLogGroupOutput) SetTags(v map[string]*string) *ListTagsLogGroupOutput {
7598	s.Tags = v
7599	return s
7600}
7601
7602// Represents a log group.
7603type LogGroup struct {
7604	_ struct{} `type:"structure"`
7605
7606	// The Amazon Resource Name (ARN) of the log group.
7607	Arn *string `locationName:"arn" type:"string"`
7608
7609	// The creation time of the log group, expressed as the number of milliseconds
7610	// after Jan 1, 1970 00:00:00 UTC.
7611	CreationTime *int64 `locationName:"creationTime" type:"long"`
7612
7613	// The Amazon Resource Name (ARN) of the CMK to use when encrypting log data.
7614	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
7615
7616	// The name of the log group.
7617	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
7618
7619	// The number of metric filters.
7620	MetricFilterCount *int64 `locationName:"metricFilterCount" type:"integer"`
7621
7622	// The number of days to retain the log events in the specified log group. Possible
7623	// values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731,
7624	// 1827, and 3653.
7625	//
7626	// If you omit retentionInDays in a PutRetentionPolicy operation, the events
7627	// in the log group are always retained and never expire.
7628	RetentionInDays *int64 `locationName:"retentionInDays" type:"integer"`
7629
7630	// The number of bytes stored.
7631	StoredBytes *int64 `locationName:"storedBytes" type:"long"`
7632}
7633
7634// String returns the string representation
7635func (s LogGroup) String() string {
7636	return awsutil.Prettify(s)
7637}
7638
7639// GoString returns the string representation
7640func (s LogGroup) GoString() string {
7641	return s.String()
7642}
7643
7644// SetArn sets the Arn field's value.
7645func (s *LogGroup) SetArn(v string) *LogGroup {
7646	s.Arn = &v
7647	return s
7648}
7649
7650// SetCreationTime sets the CreationTime field's value.
7651func (s *LogGroup) SetCreationTime(v int64) *LogGroup {
7652	s.CreationTime = &v
7653	return s
7654}
7655
7656// SetKmsKeyId sets the KmsKeyId field's value.
7657func (s *LogGroup) SetKmsKeyId(v string) *LogGroup {
7658	s.KmsKeyId = &v
7659	return s
7660}
7661
7662// SetLogGroupName sets the LogGroupName field's value.
7663func (s *LogGroup) SetLogGroupName(v string) *LogGroup {
7664	s.LogGroupName = &v
7665	return s
7666}
7667
7668// SetMetricFilterCount sets the MetricFilterCount field's value.
7669func (s *LogGroup) SetMetricFilterCount(v int64) *LogGroup {
7670	s.MetricFilterCount = &v
7671	return s
7672}
7673
7674// SetRetentionInDays sets the RetentionInDays field's value.
7675func (s *LogGroup) SetRetentionInDays(v int64) *LogGroup {
7676	s.RetentionInDays = &v
7677	return s
7678}
7679
7680// SetStoredBytes sets the StoredBytes field's value.
7681func (s *LogGroup) SetStoredBytes(v int64) *LogGroup {
7682	s.StoredBytes = &v
7683	return s
7684}
7685
7686// The fields contained in log events found by a GetLogGroupFields operation,
7687// along with the percentage of queried log events in which each field appears.
7688type LogGroupField struct {
7689	_ struct{} `type:"structure"`
7690
7691	// The name of a log field.
7692	Name *string `locationName:"name" type:"string"`
7693
7694	// The percentage of log events queried that contained the field.
7695	Percent *int64 `locationName:"percent" type:"integer"`
7696}
7697
7698// String returns the string representation
7699func (s LogGroupField) String() string {
7700	return awsutil.Prettify(s)
7701}
7702
7703// GoString returns the string representation
7704func (s LogGroupField) GoString() string {
7705	return s.String()
7706}
7707
7708// SetName sets the Name field's value.
7709func (s *LogGroupField) SetName(v string) *LogGroupField {
7710	s.Name = &v
7711	return s
7712}
7713
7714// SetPercent sets the Percent field's value.
7715func (s *LogGroupField) SetPercent(v int64) *LogGroupField {
7716	s.Percent = &v
7717	return s
7718}
7719
7720// Represents a log stream, which is a sequence of log events from a single
7721// emitter of logs.
7722type LogStream struct {
7723	_ struct{} `type:"structure"`
7724
7725	// The Amazon Resource Name (ARN) of the log stream.
7726	Arn *string `locationName:"arn" type:"string"`
7727
7728	// The creation time of the stream, expressed as the number of milliseconds
7729	// after Jan 1, 1970 00:00:00 UTC.
7730	CreationTime *int64 `locationName:"creationTime" type:"long"`
7731
7732	// The time of the first event, expressed as the number of milliseconds after
7733	// Jan 1, 1970 00:00:00 UTC.
7734	FirstEventTimestamp *int64 `locationName:"firstEventTimestamp" type:"long"`
7735
7736	// The time of the most recent log event in the log stream in CloudWatch Logs.
7737	// This number is expressed as the number of milliseconds after Jan 1, 1970
7738	// 00:00:00 UTC. The lastEventTime value updates on an eventual consistency
7739	// basis. It typically updates in less than an hour from ingestion, but in rare
7740	// situations might take longer.
7741	LastEventTimestamp *int64 `locationName:"lastEventTimestamp" type:"long"`
7742
7743	// The ingestion time, expressed as the number of milliseconds after Jan 1,
7744	// 1970 00:00:00 UTC.
7745	LastIngestionTime *int64 `locationName:"lastIngestionTime" type:"long"`
7746
7747	// The name of the log stream.
7748	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string"`
7749
7750	// The number of bytes stored.
7751	//
7752	// Important: On June 17, 2019, this parameter was deprecated for log streams,
7753	// and is always reported as zero. This change applies only to log streams.
7754	// The storedBytes parameter for log groups is not affected.
7755	//
7756	// Deprecated: Starting on June 17, 2019, this parameter will be deprecated for log streams, and will be reported as zero. This change applies only to log streams. The storedBytes parameter for log groups is not affected.
7757	StoredBytes *int64 `locationName:"storedBytes" deprecated:"true" type:"long"`
7758
7759	// The sequence token.
7760	UploadSequenceToken *string `locationName:"uploadSequenceToken" min:"1" type:"string"`
7761}
7762
7763// String returns the string representation
7764func (s LogStream) String() string {
7765	return awsutil.Prettify(s)
7766}
7767
7768// GoString returns the string representation
7769func (s LogStream) GoString() string {
7770	return s.String()
7771}
7772
7773// SetArn sets the Arn field's value.
7774func (s *LogStream) SetArn(v string) *LogStream {
7775	s.Arn = &v
7776	return s
7777}
7778
7779// SetCreationTime sets the CreationTime field's value.
7780func (s *LogStream) SetCreationTime(v int64) *LogStream {
7781	s.CreationTime = &v
7782	return s
7783}
7784
7785// SetFirstEventTimestamp sets the FirstEventTimestamp field's value.
7786func (s *LogStream) SetFirstEventTimestamp(v int64) *LogStream {
7787	s.FirstEventTimestamp = &v
7788	return s
7789}
7790
7791// SetLastEventTimestamp sets the LastEventTimestamp field's value.
7792func (s *LogStream) SetLastEventTimestamp(v int64) *LogStream {
7793	s.LastEventTimestamp = &v
7794	return s
7795}
7796
7797// SetLastIngestionTime sets the LastIngestionTime field's value.
7798func (s *LogStream) SetLastIngestionTime(v int64) *LogStream {
7799	s.LastIngestionTime = &v
7800	return s
7801}
7802
7803// SetLogStreamName sets the LogStreamName field's value.
7804func (s *LogStream) SetLogStreamName(v string) *LogStream {
7805	s.LogStreamName = &v
7806	return s
7807}
7808
7809// SetStoredBytes sets the StoredBytes field's value.
7810func (s *LogStream) SetStoredBytes(v int64) *LogStream {
7811	s.StoredBytes = &v
7812	return s
7813}
7814
7815// SetUploadSequenceToken sets the UploadSequenceToken field's value.
7816func (s *LogStream) SetUploadSequenceToken(v string) *LogStream {
7817	s.UploadSequenceToken = &v
7818	return s
7819}
7820
7821// The query string is not valid. Details about this error are displayed in
7822// a QueryCompileError object. For more information, see QueryCompileError (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_QueryCompileError.html).
7823//
7824// For more information about valid query syntax, see CloudWatch Logs Insights
7825// Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
7826type MalformedQueryException struct {
7827	_            struct{}                  `type:"structure"`
7828	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7829
7830	Message_ *string `locationName:"message" type:"string"`
7831
7832	// Reserved.
7833	QueryCompileError *QueryCompileError `locationName:"queryCompileError" type:"structure"`
7834}
7835
7836// String returns the string representation
7837func (s MalformedQueryException) String() string {
7838	return awsutil.Prettify(s)
7839}
7840
7841// GoString returns the string representation
7842func (s MalformedQueryException) GoString() string {
7843	return s.String()
7844}
7845
7846func newErrorMalformedQueryException(v protocol.ResponseMetadata) error {
7847	return &MalformedQueryException{
7848		RespMetadata: v,
7849	}
7850}
7851
7852// Code returns the exception type name.
7853func (s *MalformedQueryException) Code() string {
7854	return "MalformedQueryException"
7855}
7856
7857// Message returns the exception's message.
7858func (s *MalformedQueryException) Message() string {
7859	if s.Message_ != nil {
7860		return *s.Message_
7861	}
7862	return ""
7863}
7864
7865// OrigErr always returns nil, satisfies awserr.Error interface.
7866func (s *MalformedQueryException) OrigErr() error {
7867	return nil
7868}
7869
7870func (s *MalformedQueryException) Error() string {
7871	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7872}
7873
7874// Status code returns the HTTP status code for the request's response error.
7875func (s *MalformedQueryException) StatusCode() int {
7876	return s.RespMetadata.StatusCode
7877}
7878
7879// RequestID returns the service's response RequestID for request.
7880func (s *MalformedQueryException) RequestID() string {
7881	return s.RespMetadata.RequestID
7882}
7883
7884// Metric filters express how CloudWatch Logs would extract metric observations
7885// from ingested log events and transform them into metric data in a CloudWatch
7886// metric.
7887type MetricFilter struct {
7888	_ struct{} `type:"structure"`
7889
7890	// The creation time of the metric filter, expressed as the number of milliseconds
7891	// after Jan 1, 1970 00:00:00 UTC.
7892	CreationTime *int64 `locationName:"creationTime" type:"long"`
7893
7894	// The name of the metric filter.
7895	FilterName *string `locationName:"filterName" min:"1" type:"string"`
7896
7897	// A symbolic description of how CloudWatch Logs should interpret the data in
7898	// each log event. For example, a log event can contain timestamps, IP addresses,
7899	// strings, and so on. You use the filter pattern to specify what to look for
7900	// in the log event message.
7901	FilterPattern *string `locationName:"filterPattern" type:"string"`
7902
7903	// The name of the log group.
7904	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
7905
7906	// The metric transformations.
7907	MetricTransformations []*MetricTransformation `locationName:"metricTransformations" min:"1" type:"list"`
7908}
7909
7910// String returns the string representation
7911func (s MetricFilter) String() string {
7912	return awsutil.Prettify(s)
7913}
7914
7915// GoString returns the string representation
7916func (s MetricFilter) GoString() string {
7917	return s.String()
7918}
7919
7920// SetCreationTime sets the CreationTime field's value.
7921func (s *MetricFilter) SetCreationTime(v int64) *MetricFilter {
7922	s.CreationTime = &v
7923	return s
7924}
7925
7926// SetFilterName sets the FilterName field's value.
7927func (s *MetricFilter) SetFilterName(v string) *MetricFilter {
7928	s.FilterName = &v
7929	return s
7930}
7931
7932// SetFilterPattern sets the FilterPattern field's value.
7933func (s *MetricFilter) SetFilterPattern(v string) *MetricFilter {
7934	s.FilterPattern = &v
7935	return s
7936}
7937
7938// SetLogGroupName sets the LogGroupName field's value.
7939func (s *MetricFilter) SetLogGroupName(v string) *MetricFilter {
7940	s.LogGroupName = &v
7941	return s
7942}
7943
7944// SetMetricTransformations sets the MetricTransformations field's value.
7945func (s *MetricFilter) SetMetricTransformations(v []*MetricTransformation) *MetricFilter {
7946	s.MetricTransformations = v
7947	return s
7948}
7949
7950// Represents a matched event.
7951type MetricFilterMatchRecord struct {
7952	_ struct{} `type:"structure"`
7953
7954	// The raw event data.
7955	EventMessage *string `locationName:"eventMessage" min:"1" type:"string"`
7956
7957	// The event number.
7958	EventNumber *int64 `locationName:"eventNumber" type:"long"`
7959
7960	// The values extracted from the event data by the filter.
7961	ExtractedValues map[string]*string `locationName:"extractedValues" type:"map"`
7962}
7963
7964// String returns the string representation
7965func (s MetricFilterMatchRecord) String() string {
7966	return awsutil.Prettify(s)
7967}
7968
7969// GoString returns the string representation
7970func (s MetricFilterMatchRecord) GoString() string {
7971	return s.String()
7972}
7973
7974// SetEventMessage sets the EventMessage field's value.
7975func (s *MetricFilterMatchRecord) SetEventMessage(v string) *MetricFilterMatchRecord {
7976	s.EventMessage = &v
7977	return s
7978}
7979
7980// SetEventNumber sets the EventNumber field's value.
7981func (s *MetricFilterMatchRecord) SetEventNumber(v int64) *MetricFilterMatchRecord {
7982	s.EventNumber = &v
7983	return s
7984}
7985
7986// SetExtractedValues sets the ExtractedValues field's value.
7987func (s *MetricFilterMatchRecord) SetExtractedValues(v map[string]*string) *MetricFilterMatchRecord {
7988	s.ExtractedValues = v
7989	return s
7990}
7991
7992// Indicates how to transform ingested log events to metric data in a CloudWatch
7993// metric.
7994type MetricTransformation struct {
7995	_ struct{} `type:"structure"`
7996
7997	// (Optional) The value to emit when a filter pattern does not match a log event.
7998	// This value can be null.
7999	DefaultValue *float64 `locationName:"defaultValue" type:"double"`
8000
8001	// The name of the CloudWatch metric.
8002	//
8003	// MetricName is a required field
8004	MetricName *string `locationName:"metricName" type:"string" required:"true"`
8005
8006	// A custom namespace to contain your metric in CloudWatch. Use namespaces to
8007	// group together metrics that are similar. For more information, see Namespaces
8008	// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Namespace).
8009	//
8010	// MetricNamespace is a required field
8011	MetricNamespace *string `locationName:"metricNamespace" type:"string" required:"true"`
8012
8013	// The value to publish to the CloudWatch metric when a filter pattern matches
8014	// a log event.
8015	//
8016	// MetricValue is a required field
8017	MetricValue *string `locationName:"metricValue" type:"string" required:"true"`
8018}
8019
8020// String returns the string representation
8021func (s MetricTransformation) String() string {
8022	return awsutil.Prettify(s)
8023}
8024
8025// GoString returns the string representation
8026func (s MetricTransformation) GoString() string {
8027	return s.String()
8028}
8029
8030// Validate inspects the fields of the type to determine if they are valid.
8031func (s *MetricTransformation) Validate() error {
8032	invalidParams := request.ErrInvalidParams{Context: "MetricTransformation"}
8033	if s.MetricName == nil {
8034		invalidParams.Add(request.NewErrParamRequired("MetricName"))
8035	}
8036	if s.MetricNamespace == nil {
8037		invalidParams.Add(request.NewErrParamRequired("MetricNamespace"))
8038	}
8039	if s.MetricValue == nil {
8040		invalidParams.Add(request.NewErrParamRequired("MetricValue"))
8041	}
8042
8043	if invalidParams.Len() > 0 {
8044		return invalidParams
8045	}
8046	return nil
8047}
8048
8049// SetDefaultValue sets the DefaultValue field's value.
8050func (s *MetricTransformation) SetDefaultValue(v float64) *MetricTransformation {
8051	s.DefaultValue = &v
8052	return s
8053}
8054
8055// SetMetricName sets the MetricName field's value.
8056func (s *MetricTransformation) SetMetricName(v string) *MetricTransformation {
8057	s.MetricName = &v
8058	return s
8059}
8060
8061// SetMetricNamespace sets the MetricNamespace field's value.
8062func (s *MetricTransformation) SetMetricNamespace(v string) *MetricTransformation {
8063	s.MetricNamespace = &v
8064	return s
8065}
8066
8067// SetMetricValue sets the MetricValue field's value.
8068func (s *MetricTransformation) SetMetricValue(v string) *MetricTransformation {
8069	s.MetricValue = &v
8070	return s
8071}
8072
8073// Multiple requests to update the same resource were in conflict.
8074type OperationAbortedException struct {
8075	_            struct{}                  `type:"structure"`
8076	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8077
8078	Message_ *string `locationName:"message" type:"string"`
8079}
8080
8081// String returns the string representation
8082func (s OperationAbortedException) String() string {
8083	return awsutil.Prettify(s)
8084}
8085
8086// GoString returns the string representation
8087func (s OperationAbortedException) GoString() string {
8088	return s.String()
8089}
8090
8091func newErrorOperationAbortedException(v protocol.ResponseMetadata) error {
8092	return &OperationAbortedException{
8093		RespMetadata: v,
8094	}
8095}
8096
8097// Code returns the exception type name.
8098func (s *OperationAbortedException) Code() string {
8099	return "OperationAbortedException"
8100}
8101
8102// Message returns the exception's message.
8103func (s *OperationAbortedException) Message() string {
8104	if s.Message_ != nil {
8105		return *s.Message_
8106	}
8107	return ""
8108}
8109
8110// OrigErr always returns nil, satisfies awserr.Error interface.
8111func (s *OperationAbortedException) OrigErr() error {
8112	return nil
8113}
8114
8115func (s *OperationAbortedException) Error() string {
8116	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8117}
8118
8119// Status code returns the HTTP status code for the request's response error.
8120func (s *OperationAbortedException) StatusCode() int {
8121	return s.RespMetadata.StatusCode
8122}
8123
8124// RequestID returns the service's response RequestID for request.
8125func (s *OperationAbortedException) RequestID() string {
8126	return s.RespMetadata.RequestID
8127}
8128
8129// Represents a log event.
8130type OutputLogEvent struct {
8131	_ struct{} `type:"structure"`
8132
8133	// The time the event was ingested, expressed as the number of milliseconds
8134	// after Jan 1, 1970 00:00:00 UTC.
8135	IngestionTime *int64 `locationName:"ingestionTime" type:"long"`
8136
8137	// The data contained in the log event.
8138	Message *string `locationName:"message" min:"1" type:"string"`
8139
8140	// The time the event occurred, expressed as the number of milliseconds after
8141	// Jan 1, 1970 00:00:00 UTC.
8142	Timestamp *int64 `locationName:"timestamp" type:"long"`
8143}
8144
8145// String returns the string representation
8146func (s OutputLogEvent) String() string {
8147	return awsutil.Prettify(s)
8148}
8149
8150// GoString returns the string representation
8151func (s OutputLogEvent) GoString() string {
8152	return s.String()
8153}
8154
8155// SetIngestionTime sets the IngestionTime field's value.
8156func (s *OutputLogEvent) SetIngestionTime(v int64) *OutputLogEvent {
8157	s.IngestionTime = &v
8158	return s
8159}
8160
8161// SetMessage sets the Message field's value.
8162func (s *OutputLogEvent) SetMessage(v string) *OutputLogEvent {
8163	s.Message = &v
8164	return s
8165}
8166
8167// SetTimestamp sets the Timestamp field's value.
8168func (s *OutputLogEvent) SetTimestamp(v int64) *OutputLogEvent {
8169	s.Timestamp = &v
8170	return s
8171}
8172
8173type PutDestinationInput struct {
8174	_ struct{} `type:"structure"`
8175
8176	// A name for the destination.
8177	//
8178	// DestinationName is a required field
8179	DestinationName *string `locationName:"destinationName" min:"1" type:"string" required:"true"`
8180
8181	// The ARN of an IAM role that grants CloudWatch Logs permissions to call the
8182	// Amazon Kinesis PutRecord operation on the destination stream.
8183	//
8184	// RoleArn is a required field
8185	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
8186
8187	// The ARN of an Amazon Kinesis stream to which to deliver matching log events.
8188	//
8189	// TargetArn is a required field
8190	TargetArn *string `locationName:"targetArn" min:"1" type:"string" required:"true"`
8191}
8192
8193// String returns the string representation
8194func (s PutDestinationInput) String() string {
8195	return awsutil.Prettify(s)
8196}
8197
8198// GoString returns the string representation
8199func (s PutDestinationInput) GoString() string {
8200	return s.String()
8201}
8202
8203// Validate inspects the fields of the type to determine if they are valid.
8204func (s *PutDestinationInput) Validate() error {
8205	invalidParams := request.ErrInvalidParams{Context: "PutDestinationInput"}
8206	if s.DestinationName == nil {
8207		invalidParams.Add(request.NewErrParamRequired("DestinationName"))
8208	}
8209	if s.DestinationName != nil && len(*s.DestinationName) < 1 {
8210		invalidParams.Add(request.NewErrParamMinLen("DestinationName", 1))
8211	}
8212	if s.RoleArn == nil {
8213		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
8214	}
8215	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
8216		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
8217	}
8218	if s.TargetArn == nil {
8219		invalidParams.Add(request.NewErrParamRequired("TargetArn"))
8220	}
8221	if s.TargetArn != nil && len(*s.TargetArn) < 1 {
8222		invalidParams.Add(request.NewErrParamMinLen("TargetArn", 1))
8223	}
8224
8225	if invalidParams.Len() > 0 {
8226		return invalidParams
8227	}
8228	return nil
8229}
8230
8231// SetDestinationName sets the DestinationName field's value.
8232func (s *PutDestinationInput) SetDestinationName(v string) *PutDestinationInput {
8233	s.DestinationName = &v
8234	return s
8235}
8236
8237// SetRoleArn sets the RoleArn field's value.
8238func (s *PutDestinationInput) SetRoleArn(v string) *PutDestinationInput {
8239	s.RoleArn = &v
8240	return s
8241}
8242
8243// SetTargetArn sets the TargetArn field's value.
8244func (s *PutDestinationInput) SetTargetArn(v string) *PutDestinationInput {
8245	s.TargetArn = &v
8246	return s
8247}
8248
8249type PutDestinationOutput struct {
8250	_ struct{} `type:"structure"`
8251
8252	// The destination.
8253	Destination *Destination `locationName:"destination" type:"structure"`
8254}
8255
8256// String returns the string representation
8257func (s PutDestinationOutput) String() string {
8258	return awsutil.Prettify(s)
8259}
8260
8261// GoString returns the string representation
8262func (s PutDestinationOutput) GoString() string {
8263	return s.String()
8264}
8265
8266// SetDestination sets the Destination field's value.
8267func (s *PutDestinationOutput) SetDestination(v *Destination) *PutDestinationOutput {
8268	s.Destination = v
8269	return s
8270}
8271
8272type PutDestinationPolicyInput struct {
8273	_ struct{} `type:"structure"`
8274
8275	// An IAM policy document that authorizes cross-account users to deliver their
8276	// log events to the associated destination. This can be up to 5120 bytes.
8277	//
8278	// AccessPolicy is a required field
8279	AccessPolicy *string `locationName:"accessPolicy" min:"1" type:"string" required:"true"`
8280
8281	// A name for an existing destination.
8282	//
8283	// DestinationName is a required field
8284	DestinationName *string `locationName:"destinationName" min:"1" type:"string" required:"true"`
8285}
8286
8287// String returns the string representation
8288func (s PutDestinationPolicyInput) String() string {
8289	return awsutil.Prettify(s)
8290}
8291
8292// GoString returns the string representation
8293func (s PutDestinationPolicyInput) GoString() string {
8294	return s.String()
8295}
8296
8297// Validate inspects the fields of the type to determine if they are valid.
8298func (s *PutDestinationPolicyInput) Validate() error {
8299	invalidParams := request.ErrInvalidParams{Context: "PutDestinationPolicyInput"}
8300	if s.AccessPolicy == nil {
8301		invalidParams.Add(request.NewErrParamRequired("AccessPolicy"))
8302	}
8303	if s.AccessPolicy != nil && len(*s.AccessPolicy) < 1 {
8304		invalidParams.Add(request.NewErrParamMinLen("AccessPolicy", 1))
8305	}
8306	if s.DestinationName == nil {
8307		invalidParams.Add(request.NewErrParamRequired("DestinationName"))
8308	}
8309	if s.DestinationName != nil && len(*s.DestinationName) < 1 {
8310		invalidParams.Add(request.NewErrParamMinLen("DestinationName", 1))
8311	}
8312
8313	if invalidParams.Len() > 0 {
8314		return invalidParams
8315	}
8316	return nil
8317}
8318
8319// SetAccessPolicy sets the AccessPolicy field's value.
8320func (s *PutDestinationPolicyInput) SetAccessPolicy(v string) *PutDestinationPolicyInput {
8321	s.AccessPolicy = &v
8322	return s
8323}
8324
8325// SetDestinationName sets the DestinationName field's value.
8326func (s *PutDestinationPolicyInput) SetDestinationName(v string) *PutDestinationPolicyInput {
8327	s.DestinationName = &v
8328	return s
8329}
8330
8331type PutDestinationPolicyOutput struct {
8332	_ struct{} `type:"structure"`
8333}
8334
8335// String returns the string representation
8336func (s PutDestinationPolicyOutput) String() string {
8337	return awsutil.Prettify(s)
8338}
8339
8340// GoString returns the string representation
8341func (s PutDestinationPolicyOutput) GoString() string {
8342	return s.String()
8343}
8344
8345type PutLogEventsInput struct {
8346	_ struct{} `type:"structure"`
8347
8348	// The log events.
8349	//
8350	// LogEvents is a required field
8351	LogEvents []*InputLogEvent `locationName:"logEvents" min:"1" type:"list" required:"true"`
8352
8353	// The name of the log group.
8354	//
8355	// LogGroupName is a required field
8356	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
8357
8358	// The name of the log stream.
8359	//
8360	// LogStreamName is a required field
8361	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"`
8362
8363	// The sequence token obtained from the response of the previous PutLogEvents
8364	// call. An upload in a newly created log stream does not require a sequence
8365	// token. You can also get the sequence token using DescribeLogStreams (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeLogStreams.html).
8366	// If you call PutLogEvents twice within a narrow time period using the same
8367	// value for sequenceToken, both calls might be successful or one might be rejected.
8368	SequenceToken *string `locationName:"sequenceToken" min:"1" type:"string"`
8369}
8370
8371// String returns the string representation
8372func (s PutLogEventsInput) String() string {
8373	return awsutil.Prettify(s)
8374}
8375
8376// GoString returns the string representation
8377func (s PutLogEventsInput) GoString() string {
8378	return s.String()
8379}
8380
8381// Validate inspects the fields of the type to determine if they are valid.
8382func (s *PutLogEventsInput) Validate() error {
8383	invalidParams := request.ErrInvalidParams{Context: "PutLogEventsInput"}
8384	if s.LogEvents == nil {
8385		invalidParams.Add(request.NewErrParamRequired("LogEvents"))
8386	}
8387	if s.LogEvents != nil && len(s.LogEvents) < 1 {
8388		invalidParams.Add(request.NewErrParamMinLen("LogEvents", 1))
8389	}
8390	if s.LogGroupName == nil {
8391		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
8392	}
8393	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
8394		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
8395	}
8396	if s.LogStreamName == nil {
8397		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
8398	}
8399	if s.LogStreamName != nil && len(*s.LogStreamName) < 1 {
8400		invalidParams.Add(request.NewErrParamMinLen("LogStreamName", 1))
8401	}
8402	if s.SequenceToken != nil && len(*s.SequenceToken) < 1 {
8403		invalidParams.Add(request.NewErrParamMinLen("SequenceToken", 1))
8404	}
8405	if s.LogEvents != nil {
8406		for i, v := range s.LogEvents {
8407			if v == nil {
8408				continue
8409			}
8410			if err := v.Validate(); err != nil {
8411				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LogEvents", i), err.(request.ErrInvalidParams))
8412			}
8413		}
8414	}
8415
8416	if invalidParams.Len() > 0 {
8417		return invalidParams
8418	}
8419	return nil
8420}
8421
8422// SetLogEvents sets the LogEvents field's value.
8423func (s *PutLogEventsInput) SetLogEvents(v []*InputLogEvent) *PutLogEventsInput {
8424	s.LogEvents = v
8425	return s
8426}
8427
8428// SetLogGroupName sets the LogGroupName field's value.
8429func (s *PutLogEventsInput) SetLogGroupName(v string) *PutLogEventsInput {
8430	s.LogGroupName = &v
8431	return s
8432}
8433
8434// SetLogStreamName sets the LogStreamName field's value.
8435func (s *PutLogEventsInput) SetLogStreamName(v string) *PutLogEventsInput {
8436	s.LogStreamName = &v
8437	return s
8438}
8439
8440// SetSequenceToken sets the SequenceToken field's value.
8441func (s *PutLogEventsInput) SetSequenceToken(v string) *PutLogEventsInput {
8442	s.SequenceToken = &v
8443	return s
8444}
8445
8446type PutLogEventsOutput struct {
8447	_ struct{} `type:"structure"`
8448
8449	// The next sequence token.
8450	NextSequenceToken *string `locationName:"nextSequenceToken" min:"1" type:"string"`
8451
8452	// The rejected events.
8453	RejectedLogEventsInfo *RejectedLogEventsInfo `locationName:"rejectedLogEventsInfo" type:"structure"`
8454}
8455
8456// String returns the string representation
8457func (s PutLogEventsOutput) String() string {
8458	return awsutil.Prettify(s)
8459}
8460
8461// GoString returns the string representation
8462func (s PutLogEventsOutput) GoString() string {
8463	return s.String()
8464}
8465
8466// SetNextSequenceToken sets the NextSequenceToken field's value.
8467func (s *PutLogEventsOutput) SetNextSequenceToken(v string) *PutLogEventsOutput {
8468	s.NextSequenceToken = &v
8469	return s
8470}
8471
8472// SetRejectedLogEventsInfo sets the RejectedLogEventsInfo field's value.
8473func (s *PutLogEventsOutput) SetRejectedLogEventsInfo(v *RejectedLogEventsInfo) *PutLogEventsOutput {
8474	s.RejectedLogEventsInfo = v
8475	return s
8476}
8477
8478type PutMetricFilterInput struct {
8479	_ struct{} `type:"structure"`
8480
8481	// A name for the metric filter.
8482	//
8483	// FilterName is a required field
8484	FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"`
8485
8486	// A filter pattern for extracting metric data out of ingested log events.
8487	//
8488	// FilterPattern is a required field
8489	FilterPattern *string `locationName:"filterPattern" type:"string" required:"true"`
8490
8491	// The name of the log group.
8492	//
8493	// LogGroupName is a required field
8494	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
8495
8496	// A collection of information that defines how metric data gets emitted.
8497	//
8498	// MetricTransformations is a required field
8499	MetricTransformations []*MetricTransformation `locationName:"metricTransformations" min:"1" type:"list" required:"true"`
8500}
8501
8502// String returns the string representation
8503func (s PutMetricFilterInput) String() string {
8504	return awsutil.Prettify(s)
8505}
8506
8507// GoString returns the string representation
8508func (s PutMetricFilterInput) GoString() string {
8509	return s.String()
8510}
8511
8512// Validate inspects the fields of the type to determine if they are valid.
8513func (s *PutMetricFilterInput) Validate() error {
8514	invalidParams := request.ErrInvalidParams{Context: "PutMetricFilterInput"}
8515	if s.FilterName == nil {
8516		invalidParams.Add(request.NewErrParamRequired("FilterName"))
8517	}
8518	if s.FilterName != nil && len(*s.FilterName) < 1 {
8519		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
8520	}
8521	if s.FilterPattern == nil {
8522		invalidParams.Add(request.NewErrParamRequired("FilterPattern"))
8523	}
8524	if s.LogGroupName == nil {
8525		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
8526	}
8527	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
8528		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
8529	}
8530	if s.MetricTransformations == nil {
8531		invalidParams.Add(request.NewErrParamRequired("MetricTransformations"))
8532	}
8533	if s.MetricTransformations != nil && len(s.MetricTransformations) < 1 {
8534		invalidParams.Add(request.NewErrParamMinLen("MetricTransformations", 1))
8535	}
8536	if s.MetricTransformations != nil {
8537		for i, v := range s.MetricTransformations {
8538			if v == nil {
8539				continue
8540			}
8541			if err := v.Validate(); err != nil {
8542				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricTransformations", i), err.(request.ErrInvalidParams))
8543			}
8544		}
8545	}
8546
8547	if invalidParams.Len() > 0 {
8548		return invalidParams
8549	}
8550	return nil
8551}
8552
8553// SetFilterName sets the FilterName field's value.
8554func (s *PutMetricFilterInput) SetFilterName(v string) *PutMetricFilterInput {
8555	s.FilterName = &v
8556	return s
8557}
8558
8559// SetFilterPattern sets the FilterPattern field's value.
8560func (s *PutMetricFilterInput) SetFilterPattern(v string) *PutMetricFilterInput {
8561	s.FilterPattern = &v
8562	return s
8563}
8564
8565// SetLogGroupName sets the LogGroupName field's value.
8566func (s *PutMetricFilterInput) SetLogGroupName(v string) *PutMetricFilterInput {
8567	s.LogGroupName = &v
8568	return s
8569}
8570
8571// SetMetricTransformations sets the MetricTransformations field's value.
8572func (s *PutMetricFilterInput) SetMetricTransformations(v []*MetricTransformation) *PutMetricFilterInput {
8573	s.MetricTransformations = v
8574	return s
8575}
8576
8577type PutMetricFilterOutput struct {
8578	_ struct{} `type:"structure"`
8579}
8580
8581// String returns the string representation
8582func (s PutMetricFilterOutput) String() string {
8583	return awsutil.Prettify(s)
8584}
8585
8586// GoString returns the string representation
8587func (s PutMetricFilterOutput) GoString() string {
8588	return s.String()
8589}
8590
8591type PutQueryDefinitionInput struct {
8592	_ struct{} `type:"structure"`
8593
8594	// Use this parameter to include specific log groups as part of your query definition.
8595	//
8596	// If you are updating a query definition and you omit this parameter, then
8597	// the updated definition will contain no log groups.
8598	LogGroupNames []*string `locationName:"logGroupNames" type:"list"`
8599
8600	// A name for the query definition. If you are saving a lot of query definitions,
8601	// we recommend that you name them so that you can easily find the ones you
8602	// want by using the first part of the name as a filter in the queryDefinitionNamePrefix
8603	// parameter of DescribeQueryDefinitions (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeQueryDefinitions.html).
8604	//
8605	// Name is a required field
8606	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8607
8608	// If you are updating a query definition, use this parameter to specify the
8609	// ID of the query definition that you want to update. You can use DescribeQueryDefinitions
8610	// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeQueryDefinitions.html)
8611	// to retrieve the IDs of your saved query definitions.
8612	//
8613	// If you are creating a query definition, do not specify this parameter. CloudWatch
8614	// generates a unique ID for the new query definition and include it in the
8615	// response to this operation.
8616	QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string"`
8617
8618	// The query string to use for this definition. For more information, see CloudWatch
8619	// Logs Insights Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
8620	//
8621	// QueryString is a required field
8622	QueryString *string `locationName:"queryString" min:"1" type:"string" required:"true"`
8623}
8624
8625// String returns the string representation
8626func (s PutQueryDefinitionInput) String() string {
8627	return awsutil.Prettify(s)
8628}
8629
8630// GoString returns the string representation
8631func (s PutQueryDefinitionInput) GoString() string {
8632	return s.String()
8633}
8634
8635// Validate inspects the fields of the type to determine if they are valid.
8636func (s *PutQueryDefinitionInput) Validate() error {
8637	invalidParams := request.ErrInvalidParams{Context: "PutQueryDefinitionInput"}
8638	if s.Name == nil {
8639		invalidParams.Add(request.NewErrParamRequired("Name"))
8640	}
8641	if s.Name != nil && len(*s.Name) < 1 {
8642		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8643	}
8644	if s.QueryString == nil {
8645		invalidParams.Add(request.NewErrParamRequired("QueryString"))
8646	}
8647	if s.QueryString != nil && len(*s.QueryString) < 1 {
8648		invalidParams.Add(request.NewErrParamMinLen("QueryString", 1))
8649	}
8650
8651	if invalidParams.Len() > 0 {
8652		return invalidParams
8653	}
8654	return nil
8655}
8656
8657// SetLogGroupNames sets the LogGroupNames field's value.
8658func (s *PutQueryDefinitionInput) SetLogGroupNames(v []*string) *PutQueryDefinitionInput {
8659	s.LogGroupNames = v
8660	return s
8661}
8662
8663// SetName sets the Name field's value.
8664func (s *PutQueryDefinitionInput) SetName(v string) *PutQueryDefinitionInput {
8665	s.Name = &v
8666	return s
8667}
8668
8669// SetQueryDefinitionId sets the QueryDefinitionId field's value.
8670func (s *PutQueryDefinitionInput) SetQueryDefinitionId(v string) *PutQueryDefinitionInput {
8671	s.QueryDefinitionId = &v
8672	return s
8673}
8674
8675// SetQueryString sets the QueryString field's value.
8676func (s *PutQueryDefinitionInput) SetQueryString(v string) *PutQueryDefinitionInput {
8677	s.QueryString = &v
8678	return s
8679}
8680
8681type PutQueryDefinitionOutput struct {
8682	_ struct{} `type:"structure"`
8683
8684	// The ID of the query definition.
8685	QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string"`
8686}
8687
8688// String returns the string representation
8689func (s PutQueryDefinitionOutput) String() string {
8690	return awsutil.Prettify(s)
8691}
8692
8693// GoString returns the string representation
8694func (s PutQueryDefinitionOutput) GoString() string {
8695	return s.String()
8696}
8697
8698// SetQueryDefinitionId sets the QueryDefinitionId field's value.
8699func (s *PutQueryDefinitionOutput) SetQueryDefinitionId(v string) *PutQueryDefinitionOutput {
8700	s.QueryDefinitionId = &v
8701	return s
8702}
8703
8704type PutResourcePolicyInput struct {
8705	_ struct{} `type:"structure"`
8706
8707	// Details of the new policy, including the identity of the principal that is
8708	// enabled to put logs to this account. This is formatted as a JSON string.
8709	// This parameter is required.
8710	//
8711	// The following example creates a resource policy enabling the Route 53 service
8712	// to put DNS query logs in to the specified log group. Replace "logArn" with
8713	// the ARN of your CloudWatch Logs resource, such as a log group or log stream.
8714	//
8715	// { "Version": "2012-10-17", "Statement": [ { "Sid": "Route53LogsToCloudWatchLogs",
8716	// "Effect": "Allow", "Principal": { "Service": [ "route53.amazonaws.com" ]
8717	// }, "Action":"logs:PutLogEvents", "Resource": "logArn" } ] }
8718	PolicyDocument *string `locationName:"policyDocument" min:"1" type:"string"`
8719
8720	// Name of the new policy. This parameter is required.
8721	PolicyName *string `locationName:"policyName" type:"string"`
8722}
8723
8724// String returns the string representation
8725func (s PutResourcePolicyInput) String() string {
8726	return awsutil.Prettify(s)
8727}
8728
8729// GoString returns the string representation
8730func (s PutResourcePolicyInput) GoString() string {
8731	return s.String()
8732}
8733
8734// Validate inspects the fields of the type to determine if they are valid.
8735func (s *PutResourcePolicyInput) Validate() error {
8736	invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"}
8737	if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
8738		invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
8739	}
8740
8741	if invalidParams.Len() > 0 {
8742		return invalidParams
8743	}
8744	return nil
8745}
8746
8747// SetPolicyDocument sets the PolicyDocument field's value.
8748func (s *PutResourcePolicyInput) SetPolicyDocument(v string) *PutResourcePolicyInput {
8749	s.PolicyDocument = &v
8750	return s
8751}
8752
8753// SetPolicyName sets the PolicyName field's value.
8754func (s *PutResourcePolicyInput) SetPolicyName(v string) *PutResourcePolicyInput {
8755	s.PolicyName = &v
8756	return s
8757}
8758
8759type PutResourcePolicyOutput struct {
8760	_ struct{} `type:"structure"`
8761
8762	// The new policy.
8763	ResourcePolicy *ResourcePolicy `locationName:"resourcePolicy" type:"structure"`
8764}
8765
8766// String returns the string representation
8767func (s PutResourcePolicyOutput) String() string {
8768	return awsutil.Prettify(s)
8769}
8770
8771// GoString returns the string representation
8772func (s PutResourcePolicyOutput) GoString() string {
8773	return s.String()
8774}
8775
8776// SetResourcePolicy sets the ResourcePolicy field's value.
8777func (s *PutResourcePolicyOutput) SetResourcePolicy(v *ResourcePolicy) *PutResourcePolicyOutput {
8778	s.ResourcePolicy = v
8779	return s
8780}
8781
8782type PutRetentionPolicyInput struct {
8783	_ struct{} `type:"structure"`
8784
8785	// The name of the log group.
8786	//
8787	// LogGroupName is a required field
8788	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
8789
8790	// The number of days to retain the log events in the specified log group. Possible
8791	// values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731,
8792	// 1827, and 3653.
8793	//
8794	// If you omit retentionInDays in a PutRetentionPolicy operation, the events
8795	// in the log group are always retained and never expire.
8796	//
8797	// RetentionInDays is a required field
8798	RetentionInDays *int64 `locationName:"retentionInDays" type:"integer" required:"true"`
8799}
8800
8801// String returns the string representation
8802func (s PutRetentionPolicyInput) String() string {
8803	return awsutil.Prettify(s)
8804}
8805
8806// GoString returns the string representation
8807func (s PutRetentionPolicyInput) GoString() string {
8808	return s.String()
8809}
8810
8811// Validate inspects the fields of the type to determine if they are valid.
8812func (s *PutRetentionPolicyInput) Validate() error {
8813	invalidParams := request.ErrInvalidParams{Context: "PutRetentionPolicyInput"}
8814	if s.LogGroupName == nil {
8815		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
8816	}
8817	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
8818		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
8819	}
8820	if s.RetentionInDays == nil {
8821		invalidParams.Add(request.NewErrParamRequired("RetentionInDays"))
8822	}
8823
8824	if invalidParams.Len() > 0 {
8825		return invalidParams
8826	}
8827	return nil
8828}
8829
8830// SetLogGroupName sets the LogGroupName field's value.
8831func (s *PutRetentionPolicyInput) SetLogGroupName(v string) *PutRetentionPolicyInput {
8832	s.LogGroupName = &v
8833	return s
8834}
8835
8836// SetRetentionInDays sets the RetentionInDays field's value.
8837func (s *PutRetentionPolicyInput) SetRetentionInDays(v int64) *PutRetentionPolicyInput {
8838	s.RetentionInDays = &v
8839	return s
8840}
8841
8842type PutRetentionPolicyOutput struct {
8843	_ struct{} `type:"structure"`
8844}
8845
8846// String returns the string representation
8847func (s PutRetentionPolicyOutput) String() string {
8848	return awsutil.Prettify(s)
8849}
8850
8851// GoString returns the string representation
8852func (s PutRetentionPolicyOutput) GoString() string {
8853	return s.String()
8854}
8855
8856type PutSubscriptionFilterInput struct {
8857	_ struct{} `type:"structure"`
8858
8859	// The ARN of the destination to deliver matching log events to. Currently,
8860	// the supported destinations are:
8861	//
8862	//    * An Amazon Kinesis stream belonging to the same account as the subscription
8863	//    filter, for same-account delivery.
8864	//
8865	//    * A logical destination (specified using an ARN) belonging to a different
8866	//    account, for cross-account delivery.
8867	//
8868	//    * An Amazon Kinesis Firehose delivery stream belonging to the same account
8869	//    as the subscription filter, for same-account delivery.
8870	//
8871	//    * An AWS Lambda function belonging to the same account as the subscription
8872	//    filter, for same-account delivery.
8873	//
8874	// DestinationArn is a required field
8875	DestinationArn *string `locationName:"destinationArn" min:"1" type:"string" required:"true"`
8876
8877	// The method used to distribute log data to the destination. By default, log
8878	// data is grouped by log stream, but the grouping can be set to random for
8879	// a more even distribution. This property is only applicable when the destination
8880	// is an Amazon Kinesis stream.
8881	Distribution *string `locationName:"distribution" type:"string" enum:"Distribution"`
8882
8883	// A name for the subscription filter. If you are updating an existing filter,
8884	// you must specify the correct name in filterName. Otherwise, the call fails
8885	// because you cannot associate a second filter with a log group. To find the
8886	// name of the filter currently associated with a log group, use DescribeSubscriptionFilters
8887	// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeSubscriptionFilters.html).
8888	//
8889	// FilterName is a required field
8890	FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"`
8891
8892	// A filter pattern for subscribing to a filtered stream of log events.
8893	//
8894	// FilterPattern is a required field
8895	FilterPattern *string `locationName:"filterPattern" type:"string" required:"true"`
8896
8897	// The name of the log group.
8898	//
8899	// LogGroupName is a required field
8900	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
8901
8902	// The ARN of an IAM role that grants CloudWatch Logs permissions to deliver
8903	// ingested log events to the destination stream. You don't need to provide
8904	// the ARN when you are working with a logical destination for cross-account
8905	// delivery.
8906	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
8907}
8908
8909// String returns the string representation
8910func (s PutSubscriptionFilterInput) String() string {
8911	return awsutil.Prettify(s)
8912}
8913
8914// GoString returns the string representation
8915func (s PutSubscriptionFilterInput) GoString() string {
8916	return s.String()
8917}
8918
8919// Validate inspects the fields of the type to determine if they are valid.
8920func (s *PutSubscriptionFilterInput) Validate() error {
8921	invalidParams := request.ErrInvalidParams{Context: "PutSubscriptionFilterInput"}
8922	if s.DestinationArn == nil {
8923		invalidParams.Add(request.NewErrParamRequired("DestinationArn"))
8924	}
8925	if s.DestinationArn != nil && len(*s.DestinationArn) < 1 {
8926		invalidParams.Add(request.NewErrParamMinLen("DestinationArn", 1))
8927	}
8928	if s.FilterName == nil {
8929		invalidParams.Add(request.NewErrParamRequired("FilterName"))
8930	}
8931	if s.FilterName != nil && len(*s.FilterName) < 1 {
8932		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
8933	}
8934	if s.FilterPattern == nil {
8935		invalidParams.Add(request.NewErrParamRequired("FilterPattern"))
8936	}
8937	if s.LogGroupName == nil {
8938		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
8939	}
8940	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
8941		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
8942	}
8943	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
8944		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
8945	}
8946
8947	if invalidParams.Len() > 0 {
8948		return invalidParams
8949	}
8950	return nil
8951}
8952
8953// SetDestinationArn sets the DestinationArn field's value.
8954func (s *PutSubscriptionFilterInput) SetDestinationArn(v string) *PutSubscriptionFilterInput {
8955	s.DestinationArn = &v
8956	return s
8957}
8958
8959// SetDistribution sets the Distribution field's value.
8960func (s *PutSubscriptionFilterInput) SetDistribution(v string) *PutSubscriptionFilterInput {
8961	s.Distribution = &v
8962	return s
8963}
8964
8965// SetFilterName sets the FilterName field's value.
8966func (s *PutSubscriptionFilterInput) SetFilterName(v string) *PutSubscriptionFilterInput {
8967	s.FilterName = &v
8968	return s
8969}
8970
8971// SetFilterPattern sets the FilterPattern field's value.
8972func (s *PutSubscriptionFilterInput) SetFilterPattern(v string) *PutSubscriptionFilterInput {
8973	s.FilterPattern = &v
8974	return s
8975}
8976
8977// SetLogGroupName sets the LogGroupName field's value.
8978func (s *PutSubscriptionFilterInput) SetLogGroupName(v string) *PutSubscriptionFilterInput {
8979	s.LogGroupName = &v
8980	return s
8981}
8982
8983// SetRoleArn sets the RoleArn field's value.
8984func (s *PutSubscriptionFilterInput) SetRoleArn(v string) *PutSubscriptionFilterInput {
8985	s.RoleArn = &v
8986	return s
8987}
8988
8989type PutSubscriptionFilterOutput struct {
8990	_ struct{} `type:"structure"`
8991}
8992
8993// String returns the string representation
8994func (s PutSubscriptionFilterOutput) String() string {
8995	return awsutil.Prettify(s)
8996}
8997
8998// GoString returns the string representation
8999func (s PutSubscriptionFilterOutput) GoString() string {
9000	return s.String()
9001}
9002
9003// Reserved.
9004type QueryCompileError struct {
9005	_ struct{} `type:"structure"`
9006
9007	// Reserved.
9008	Location *QueryCompileErrorLocation `locationName:"location" type:"structure"`
9009
9010	// Reserved.
9011	Message *string `locationName:"message" type:"string"`
9012}
9013
9014// String returns the string representation
9015func (s QueryCompileError) String() string {
9016	return awsutil.Prettify(s)
9017}
9018
9019// GoString returns the string representation
9020func (s QueryCompileError) GoString() string {
9021	return s.String()
9022}
9023
9024// SetLocation sets the Location field's value.
9025func (s *QueryCompileError) SetLocation(v *QueryCompileErrorLocation) *QueryCompileError {
9026	s.Location = v
9027	return s
9028}
9029
9030// SetMessage sets the Message field's value.
9031func (s *QueryCompileError) SetMessage(v string) *QueryCompileError {
9032	s.Message = &v
9033	return s
9034}
9035
9036// Reserved.
9037type QueryCompileErrorLocation struct {
9038	_ struct{} `type:"structure"`
9039
9040	// Reserved.
9041	EndCharOffset *int64 `locationName:"endCharOffset" type:"integer"`
9042
9043	// Reserved.
9044	StartCharOffset *int64 `locationName:"startCharOffset" type:"integer"`
9045}
9046
9047// String returns the string representation
9048func (s QueryCompileErrorLocation) String() string {
9049	return awsutil.Prettify(s)
9050}
9051
9052// GoString returns the string representation
9053func (s QueryCompileErrorLocation) GoString() string {
9054	return s.String()
9055}
9056
9057// SetEndCharOffset sets the EndCharOffset field's value.
9058func (s *QueryCompileErrorLocation) SetEndCharOffset(v int64) *QueryCompileErrorLocation {
9059	s.EndCharOffset = &v
9060	return s
9061}
9062
9063// SetStartCharOffset sets the StartCharOffset field's value.
9064func (s *QueryCompileErrorLocation) SetStartCharOffset(v int64) *QueryCompileErrorLocation {
9065	s.StartCharOffset = &v
9066	return s
9067}
9068
9069// This structure contains details about a saved CloudWatch Logs Insights query
9070// definition.
9071type QueryDefinition struct {
9072	_ struct{} `type:"structure"`
9073
9074	// The date that the query definition was most recently modified.
9075	LastModified *int64 `locationName:"lastModified" type:"long"`
9076
9077	// If this query definition contains a list of log groups that it is limited
9078	// to, that list appears here.
9079	LogGroupNames []*string `locationName:"logGroupNames" type:"list"`
9080
9081	// The name of the query definition.
9082	Name *string `locationName:"name" min:"1" type:"string"`
9083
9084	// The unique ID of the query definition.
9085	QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string"`
9086
9087	// The query string to use for this definition. For more information, see CloudWatch
9088	// Logs Insights Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
9089	QueryString *string `locationName:"queryString" min:"1" type:"string"`
9090}
9091
9092// String returns the string representation
9093func (s QueryDefinition) String() string {
9094	return awsutil.Prettify(s)
9095}
9096
9097// GoString returns the string representation
9098func (s QueryDefinition) GoString() string {
9099	return s.String()
9100}
9101
9102// SetLastModified sets the LastModified field's value.
9103func (s *QueryDefinition) SetLastModified(v int64) *QueryDefinition {
9104	s.LastModified = &v
9105	return s
9106}
9107
9108// SetLogGroupNames sets the LogGroupNames field's value.
9109func (s *QueryDefinition) SetLogGroupNames(v []*string) *QueryDefinition {
9110	s.LogGroupNames = v
9111	return s
9112}
9113
9114// SetName sets the Name field's value.
9115func (s *QueryDefinition) SetName(v string) *QueryDefinition {
9116	s.Name = &v
9117	return s
9118}
9119
9120// SetQueryDefinitionId sets the QueryDefinitionId field's value.
9121func (s *QueryDefinition) SetQueryDefinitionId(v string) *QueryDefinition {
9122	s.QueryDefinitionId = &v
9123	return s
9124}
9125
9126// SetQueryString sets the QueryString field's value.
9127func (s *QueryDefinition) SetQueryString(v string) *QueryDefinition {
9128	s.QueryString = &v
9129	return s
9130}
9131
9132// Information about one CloudWatch Logs Insights query that matches the request
9133// in a DescribeQueries operation.
9134type QueryInfo struct {
9135	_ struct{} `type:"structure"`
9136
9137	// The date and time that this query was created.
9138	CreateTime *int64 `locationName:"createTime" type:"long"`
9139
9140	// The name of the log group scanned by this query.
9141	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
9142
9143	// The unique ID number of this query.
9144	QueryId *string `locationName:"queryId" type:"string"`
9145
9146	// The query string used in this query.
9147	QueryString *string `locationName:"queryString" type:"string"`
9148
9149	// The status of this query. Possible values are Cancelled, Complete, Failed,
9150	// Running, Scheduled, and Unknown.
9151	Status *string `locationName:"status" type:"string" enum:"QueryStatus"`
9152}
9153
9154// String returns the string representation
9155func (s QueryInfo) String() string {
9156	return awsutil.Prettify(s)
9157}
9158
9159// GoString returns the string representation
9160func (s QueryInfo) GoString() string {
9161	return s.String()
9162}
9163
9164// SetCreateTime sets the CreateTime field's value.
9165func (s *QueryInfo) SetCreateTime(v int64) *QueryInfo {
9166	s.CreateTime = &v
9167	return s
9168}
9169
9170// SetLogGroupName sets the LogGroupName field's value.
9171func (s *QueryInfo) SetLogGroupName(v string) *QueryInfo {
9172	s.LogGroupName = &v
9173	return s
9174}
9175
9176// SetQueryId sets the QueryId field's value.
9177func (s *QueryInfo) SetQueryId(v string) *QueryInfo {
9178	s.QueryId = &v
9179	return s
9180}
9181
9182// SetQueryString sets the QueryString field's value.
9183func (s *QueryInfo) SetQueryString(v string) *QueryInfo {
9184	s.QueryString = &v
9185	return s
9186}
9187
9188// SetStatus sets the Status field's value.
9189func (s *QueryInfo) SetStatus(v string) *QueryInfo {
9190	s.Status = &v
9191	return s
9192}
9193
9194// Contains the number of log events scanned by the query, the number of log
9195// events that matched the query criteria, and the total number of bytes in
9196// the log events that were scanned.
9197type QueryStatistics struct {
9198	_ struct{} `type:"structure"`
9199
9200	// The total number of bytes in the log events scanned during the query.
9201	BytesScanned *float64 `locationName:"bytesScanned" type:"double"`
9202
9203	// The number of log events that matched the query string.
9204	RecordsMatched *float64 `locationName:"recordsMatched" type:"double"`
9205
9206	// The total number of log events scanned during the query.
9207	RecordsScanned *float64 `locationName:"recordsScanned" type:"double"`
9208}
9209
9210// String returns the string representation
9211func (s QueryStatistics) String() string {
9212	return awsutil.Prettify(s)
9213}
9214
9215// GoString returns the string representation
9216func (s QueryStatistics) GoString() string {
9217	return s.String()
9218}
9219
9220// SetBytesScanned sets the BytesScanned field's value.
9221func (s *QueryStatistics) SetBytesScanned(v float64) *QueryStatistics {
9222	s.BytesScanned = &v
9223	return s
9224}
9225
9226// SetRecordsMatched sets the RecordsMatched field's value.
9227func (s *QueryStatistics) SetRecordsMatched(v float64) *QueryStatistics {
9228	s.RecordsMatched = &v
9229	return s
9230}
9231
9232// SetRecordsScanned sets the RecordsScanned field's value.
9233func (s *QueryStatistics) SetRecordsScanned(v float64) *QueryStatistics {
9234	s.RecordsScanned = &v
9235	return s
9236}
9237
9238// Represents the rejected events.
9239type RejectedLogEventsInfo struct {
9240	_ struct{} `type:"structure"`
9241
9242	// The expired log events.
9243	ExpiredLogEventEndIndex *int64 `locationName:"expiredLogEventEndIndex" type:"integer"`
9244
9245	// The log events that are too new.
9246	TooNewLogEventStartIndex *int64 `locationName:"tooNewLogEventStartIndex" type:"integer"`
9247
9248	// The log events that are too old.
9249	TooOldLogEventEndIndex *int64 `locationName:"tooOldLogEventEndIndex" type:"integer"`
9250}
9251
9252// String returns the string representation
9253func (s RejectedLogEventsInfo) String() string {
9254	return awsutil.Prettify(s)
9255}
9256
9257// GoString returns the string representation
9258func (s RejectedLogEventsInfo) GoString() string {
9259	return s.String()
9260}
9261
9262// SetExpiredLogEventEndIndex sets the ExpiredLogEventEndIndex field's value.
9263func (s *RejectedLogEventsInfo) SetExpiredLogEventEndIndex(v int64) *RejectedLogEventsInfo {
9264	s.ExpiredLogEventEndIndex = &v
9265	return s
9266}
9267
9268// SetTooNewLogEventStartIndex sets the TooNewLogEventStartIndex field's value.
9269func (s *RejectedLogEventsInfo) SetTooNewLogEventStartIndex(v int64) *RejectedLogEventsInfo {
9270	s.TooNewLogEventStartIndex = &v
9271	return s
9272}
9273
9274// SetTooOldLogEventEndIndex sets the TooOldLogEventEndIndex field's value.
9275func (s *RejectedLogEventsInfo) SetTooOldLogEventEndIndex(v int64) *RejectedLogEventsInfo {
9276	s.TooOldLogEventEndIndex = &v
9277	return s
9278}
9279
9280// The specified resource already exists.
9281type ResourceAlreadyExistsException struct {
9282	_            struct{}                  `type:"structure"`
9283	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9284
9285	Message_ *string `locationName:"message" type:"string"`
9286}
9287
9288// String returns the string representation
9289func (s ResourceAlreadyExistsException) String() string {
9290	return awsutil.Prettify(s)
9291}
9292
9293// GoString returns the string representation
9294func (s ResourceAlreadyExistsException) GoString() string {
9295	return s.String()
9296}
9297
9298func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
9299	return &ResourceAlreadyExistsException{
9300		RespMetadata: v,
9301	}
9302}
9303
9304// Code returns the exception type name.
9305func (s *ResourceAlreadyExistsException) Code() string {
9306	return "ResourceAlreadyExistsException"
9307}
9308
9309// Message returns the exception's message.
9310func (s *ResourceAlreadyExistsException) Message() string {
9311	if s.Message_ != nil {
9312		return *s.Message_
9313	}
9314	return ""
9315}
9316
9317// OrigErr always returns nil, satisfies awserr.Error interface.
9318func (s *ResourceAlreadyExistsException) OrigErr() error {
9319	return nil
9320}
9321
9322func (s *ResourceAlreadyExistsException) Error() string {
9323	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9324}
9325
9326// Status code returns the HTTP status code for the request's response error.
9327func (s *ResourceAlreadyExistsException) StatusCode() int {
9328	return s.RespMetadata.StatusCode
9329}
9330
9331// RequestID returns the service's response RequestID for request.
9332func (s *ResourceAlreadyExistsException) RequestID() string {
9333	return s.RespMetadata.RequestID
9334}
9335
9336// The specified resource does not exist.
9337type ResourceNotFoundException struct {
9338	_            struct{}                  `type:"structure"`
9339	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9340
9341	Message_ *string `locationName:"message" type:"string"`
9342}
9343
9344// String returns the string representation
9345func (s ResourceNotFoundException) String() string {
9346	return awsutil.Prettify(s)
9347}
9348
9349// GoString returns the string representation
9350func (s ResourceNotFoundException) GoString() string {
9351	return s.String()
9352}
9353
9354func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
9355	return &ResourceNotFoundException{
9356		RespMetadata: v,
9357	}
9358}
9359
9360// Code returns the exception type name.
9361func (s *ResourceNotFoundException) Code() string {
9362	return "ResourceNotFoundException"
9363}
9364
9365// Message returns the exception's message.
9366func (s *ResourceNotFoundException) Message() string {
9367	if s.Message_ != nil {
9368		return *s.Message_
9369	}
9370	return ""
9371}
9372
9373// OrigErr always returns nil, satisfies awserr.Error interface.
9374func (s *ResourceNotFoundException) OrigErr() error {
9375	return nil
9376}
9377
9378func (s *ResourceNotFoundException) Error() string {
9379	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9380}
9381
9382// Status code returns the HTTP status code for the request's response error.
9383func (s *ResourceNotFoundException) StatusCode() int {
9384	return s.RespMetadata.StatusCode
9385}
9386
9387// RequestID returns the service's response RequestID for request.
9388func (s *ResourceNotFoundException) RequestID() string {
9389	return s.RespMetadata.RequestID
9390}
9391
9392// A policy enabling one or more entities to put logs to a log group in this
9393// account.
9394type ResourcePolicy struct {
9395	_ struct{} `type:"structure"`
9396
9397	// Timestamp showing when this policy was last updated, expressed as the number
9398	// of milliseconds after Jan 1, 1970 00:00:00 UTC.
9399	LastUpdatedTime *int64 `locationName:"lastUpdatedTime" type:"long"`
9400
9401	// The details of the policy.
9402	PolicyDocument *string `locationName:"policyDocument" min:"1" type:"string"`
9403
9404	// The name of the resource policy.
9405	PolicyName *string `locationName:"policyName" type:"string"`
9406}
9407
9408// String returns the string representation
9409func (s ResourcePolicy) String() string {
9410	return awsutil.Prettify(s)
9411}
9412
9413// GoString returns the string representation
9414func (s ResourcePolicy) GoString() string {
9415	return s.String()
9416}
9417
9418// SetLastUpdatedTime sets the LastUpdatedTime field's value.
9419func (s *ResourcePolicy) SetLastUpdatedTime(v int64) *ResourcePolicy {
9420	s.LastUpdatedTime = &v
9421	return s
9422}
9423
9424// SetPolicyDocument sets the PolicyDocument field's value.
9425func (s *ResourcePolicy) SetPolicyDocument(v string) *ResourcePolicy {
9426	s.PolicyDocument = &v
9427	return s
9428}
9429
9430// SetPolicyName sets the PolicyName field's value.
9431func (s *ResourcePolicy) SetPolicyName(v string) *ResourcePolicy {
9432	s.PolicyName = &v
9433	return s
9434}
9435
9436// Contains one field from one log event returned by a CloudWatch Logs Insights
9437// query, along with the value of that field.
9438//
9439// For more information about the fields that are generated by CloudWatch logs,
9440// see Supported Logs and Discovered Fields (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData-discoverable-fields.html).
9441type ResultField struct {
9442	_ struct{} `type:"structure"`
9443
9444	// The log event field.
9445	Field *string `locationName:"field" type:"string"`
9446
9447	// The value of this field.
9448	Value *string `locationName:"value" type:"string"`
9449}
9450
9451// String returns the string representation
9452func (s ResultField) String() string {
9453	return awsutil.Prettify(s)
9454}
9455
9456// GoString returns the string representation
9457func (s ResultField) GoString() string {
9458	return s.String()
9459}
9460
9461// SetField sets the Field field's value.
9462func (s *ResultField) SetField(v string) *ResultField {
9463	s.Field = &v
9464	return s
9465}
9466
9467// SetValue sets the Value field's value.
9468func (s *ResultField) SetValue(v string) *ResultField {
9469	s.Value = &v
9470	return s
9471}
9472
9473// Represents the search status of a log stream.
9474type SearchedLogStream struct {
9475	_ struct{} `type:"structure"`
9476
9477	// The name of the log stream.
9478	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string"`
9479
9480	// Indicates whether all the events in this log stream were searched.
9481	SearchedCompletely *bool `locationName:"searchedCompletely" type:"boolean"`
9482}
9483
9484// String returns the string representation
9485func (s SearchedLogStream) String() string {
9486	return awsutil.Prettify(s)
9487}
9488
9489// GoString returns the string representation
9490func (s SearchedLogStream) GoString() string {
9491	return s.String()
9492}
9493
9494// SetLogStreamName sets the LogStreamName field's value.
9495func (s *SearchedLogStream) SetLogStreamName(v string) *SearchedLogStream {
9496	s.LogStreamName = &v
9497	return s
9498}
9499
9500// SetSearchedCompletely sets the SearchedCompletely field's value.
9501func (s *SearchedLogStream) SetSearchedCompletely(v bool) *SearchedLogStream {
9502	s.SearchedCompletely = &v
9503	return s
9504}
9505
9506// The service cannot complete the request.
9507type ServiceUnavailableException struct {
9508	_            struct{}                  `type:"structure"`
9509	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9510
9511	Message_ *string `locationName:"message" type:"string"`
9512}
9513
9514// String returns the string representation
9515func (s ServiceUnavailableException) String() string {
9516	return awsutil.Prettify(s)
9517}
9518
9519// GoString returns the string representation
9520func (s ServiceUnavailableException) GoString() string {
9521	return s.String()
9522}
9523
9524func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
9525	return &ServiceUnavailableException{
9526		RespMetadata: v,
9527	}
9528}
9529
9530// Code returns the exception type name.
9531func (s *ServiceUnavailableException) Code() string {
9532	return "ServiceUnavailableException"
9533}
9534
9535// Message returns the exception's message.
9536func (s *ServiceUnavailableException) Message() string {
9537	if s.Message_ != nil {
9538		return *s.Message_
9539	}
9540	return ""
9541}
9542
9543// OrigErr always returns nil, satisfies awserr.Error interface.
9544func (s *ServiceUnavailableException) OrigErr() error {
9545	return nil
9546}
9547
9548func (s *ServiceUnavailableException) Error() string {
9549	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9550}
9551
9552// Status code returns the HTTP status code for the request's response error.
9553func (s *ServiceUnavailableException) StatusCode() int {
9554	return s.RespMetadata.StatusCode
9555}
9556
9557// RequestID returns the service's response RequestID for request.
9558func (s *ServiceUnavailableException) RequestID() string {
9559	return s.RespMetadata.RequestID
9560}
9561
9562type StartQueryInput struct {
9563	_ struct{} `type:"structure"`
9564
9565	// The end of the time range to query. The range is inclusive, so the specified
9566	// end time is included in the query. Specified as epoch time, the number of
9567	// seconds since January 1, 1970, 00:00:00 UTC.
9568	//
9569	// EndTime is a required field
9570	EndTime *int64 `locationName:"endTime" type:"long" required:"true"`
9571
9572	// The maximum number of log events to return in the query. If the query string
9573	// uses the fields command, only the specified fields and their values are returned.
9574	// The default is 1000.
9575	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
9576
9577	// The log group on which to perform the query.
9578	//
9579	// A StartQuery operation must include a logGroupNames or a logGroupName parameter,
9580	// but not both.
9581	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
9582
9583	// The list of log groups to be queried. You can include up to 20 log groups.
9584	//
9585	// A StartQuery operation must include a logGroupNames or a logGroupName parameter,
9586	// but not both.
9587	LogGroupNames []*string `locationName:"logGroupNames" type:"list"`
9588
9589	// The query string to use. For more information, see CloudWatch Logs Insights
9590	// Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
9591	//
9592	// QueryString is a required field
9593	QueryString *string `locationName:"queryString" type:"string" required:"true"`
9594
9595	// The beginning of the time range to query. The range is inclusive, so the
9596	// specified start time is included in the query. Specified as epoch time, the
9597	// number of seconds since January 1, 1970, 00:00:00 UTC.
9598	//
9599	// StartTime is a required field
9600	StartTime *int64 `locationName:"startTime" type:"long" required:"true"`
9601}
9602
9603// String returns the string representation
9604func (s StartQueryInput) String() string {
9605	return awsutil.Prettify(s)
9606}
9607
9608// GoString returns the string representation
9609func (s StartQueryInput) GoString() string {
9610	return s.String()
9611}
9612
9613// Validate inspects the fields of the type to determine if they are valid.
9614func (s *StartQueryInput) Validate() error {
9615	invalidParams := request.ErrInvalidParams{Context: "StartQueryInput"}
9616	if s.EndTime == nil {
9617		invalidParams.Add(request.NewErrParamRequired("EndTime"))
9618	}
9619	if s.Limit != nil && *s.Limit < 1 {
9620		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
9621	}
9622	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
9623		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
9624	}
9625	if s.QueryString == nil {
9626		invalidParams.Add(request.NewErrParamRequired("QueryString"))
9627	}
9628	if s.StartTime == nil {
9629		invalidParams.Add(request.NewErrParamRequired("StartTime"))
9630	}
9631
9632	if invalidParams.Len() > 0 {
9633		return invalidParams
9634	}
9635	return nil
9636}
9637
9638// SetEndTime sets the EndTime field's value.
9639func (s *StartQueryInput) SetEndTime(v int64) *StartQueryInput {
9640	s.EndTime = &v
9641	return s
9642}
9643
9644// SetLimit sets the Limit field's value.
9645func (s *StartQueryInput) SetLimit(v int64) *StartQueryInput {
9646	s.Limit = &v
9647	return s
9648}
9649
9650// SetLogGroupName sets the LogGroupName field's value.
9651func (s *StartQueryInput) SetLogGroupName(v string) *StartQueryInput {
9652	s.LogGroupName = &v
9653	return s
9654}
9655
9656// SetLogGroupNames sets the LogGroupNames field's value.
9657func (s *StartQueryInput) SetLogGroupNames(v []*string) *StartQueryInput {
9658	s.LogGroupNames = v
9659	return s
9660}
9661
9662// SetQueryString sets the QueryString field's value.
9663func (s *StartQueryInput) SetQueryString(v string) *StartQueryInput {
9664	s.QueryString = &v
9665	return s
9666}
9667
9668// SetStartTime sets the StartTime field's value.
9669func (s *StartQueryInput) SetStartTime(v int64) *StartQueryInput {
9670	s.StartTime = &v
9671	return s
9672}
9673
9674type StartQueryOutput struct {
9675	_ struct{} `type:"structure"`
9676
9677	// The unique ID of the query.
9678	QueryId *string `locationName:"queryId" type:"string"`
9679}
9680
9681// String returns the string representation
9682func (s StartQueryOutput) String() string {
9683	return awsutil.Prettify(s)
9684}
9685
9686// GoString returns the string representation
9687func (s StartQueryOutput) GoString() string {
9688	return s.String()
9689}
9690
9691// SetQueryId sets the QueryId field's value.
9692func (s *StartQueryOutput) SetQueryId(v string) *StartQueryOutput {
9693	s.QueryId = &v
9694	return s
9695}
9696
9697type StopQueryInput struct {
9698	_ struct{} `type:"structure"`
9699
9700	// The ID number of the query to stop. To find this ID number, use DescribeQueries.
9701	//
9702	// QueryId is a required field
9703	QueryId *string `locationName:"queryId" type:"string" required:"true"`
9704}
9705
9706// String returns the string representation
9707func (s StopQueryInput) String() string {
9708	return awsutil.Prettify(s)
9709}
9710
9711// GoString returns the string representation
9712func (s StopQueryInput) GoString() string {
9713	return s.String()
9714}
9715
9716// Validate inspects the fields of the type to determine if they are valid.
9717func (s *StopQueryInput) Validate() error {
9718	invalidParams := request.ErrInvalidParams{Context: "StopQueryInput"}
9719	if s.QueryId == nil {
9720		invalidParams.Add(request.NewErrParamRequired("QueryId"))
9721	}
9722
9723	if invalidParams.Len() > 0 {
9724		return invalidParams
9725	}
9726	return nil
9727}
9728
9729// SetQueryId sets the QueryId field's value.
9730func (s *StopQueryInput) SetQueryId(v string) *StopQueryInput {
9731	s.QueryId = &v
9732	return s
9733}
9734
9735type StopQueryOutput struct {
9736	_ struct{} `type:"structure"`
9737
9738	// This is true if the query was stopped by the StopQuery operation.
9739	Success *bool `locationName:"success" type:"boolean"`
9740}
9741
9742// String returns the string representation
9743func (s StopQueryOutput) String() string {
9744	return awsutil.Prettify(s)
9745}
9746
9747// GoString returns the string representation
9748func (s StopQueryOutput) GoString() string {
9749	return s.String()
9750}
9751
9752// SetSuccess sets the Success field's value.
9753func (s *StopQueryOutput) SetSuccess(v bool) *StopQueryOutput {
9754	s.Success = &v
9755	return s
9756}
9757
9758// Represents a subscription filter.
9759type SubscriptionFilter struct {
9760	_ struct{} `type:"structure"`
9761
9762	// The creation time of the subscription filter, expressed as the number of
9763	// milliseconds after Jan 1, 1970 00:00:00 UTC.
9764	CreationTime *int64 `locationName:"creationTime" type:"long"`
9765
9766	// The Amazon Resource Name (ARN) of the destination.
9767	DestinationArn *string `locationName:"destinationArn" min:"1" type:"string"`
9768
9769	// The method used to distribute log data to the destination, which can be either
9770	// random or grouped by log stream.
9771	Distribution *string `locationName:"distribution" type:"string" enum:"Distribution"`
9772
9773	// The name of the subscription filter.
9774	FilterName *string `locationName:"filterName" min:"1" type:"string"`
9775
9776	// A symbolic description of how CloudWatch Logs should interpret the data in
9777	// each log event. For example, a log event can contain timestamps, IP addresses,
9778	// strings, and so on. You use the filter pattern to specify what to look for
9779	// in the log event message.
9780	FilterPattern *string `locationName:"filterPattern" type:"string"`
9781
9782	// The name of the log group.
9783	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
9784
9785	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
9786}
9787
9788// String returns the string representation
9789func (s SubscriptionFilter) String() string {
9790	return awsutil.Prettify(s)
9791}
9792
9793// GoString returns the string representation
9794func (s SubscriptionFilter) GoString() string {
9795	return s.String()
9796}
9797
9798// SetCreationTime sets the CreationTime field's value.
9799func (s *SubscriptionFilter) SetCreationTime(v int64) *SubscriptionFilter {
9800	s.CreationTime = &v
9801	return s
9802}
9803
9804// SetDestinationArn sets the DestinationArn field's value.
9805func (s *SubscriptionFilter) SetDestinationArn(v string) *SubscriptionFilter {
9806	s.DestinationArn = &v
9807	return s
9808}
9809
9810// SetDistribution sets the Distribution field's value.
9811func (s *SubscriptionFilter) SetDistribution(v string) *SubscriptionFilter {
9812	s.Distribution = &v
9813	return s
9814}
9815
9816// SetFilterName sets the FilterName field's value.
9817func (s *SubscriptionFilter) SetFilterName(v string) *SubscriptionFilter {
9818	s.FilterName = &v
9819	return s
9820}
9821
9822// SetFilterPattern sets the FilterPattern field's value.
9823func (s *SubscriptionFilter) SetFilterPattern(v string) *SubscriptionFilter {
9824	s.FilterPattern = &v
9825	return s
9826}
9827
9828// SetLogGroupName sets the LogGroupName field's value.
9829func (s *SubscriptionFilter) SetLogGroupName(v string) *SubscriptionFilter {
9830	s.LogGroupName = &v
9831	return s
9832}
9833
9834// SetRoleArn sets the RoleArn field's value.
9835func (s *SubscriptionFilter) SetRoleArn(v string) *SubscriptionFilter {
9836	s.RoleArn = &v
9837	return s
9838}
9839
9840type TagLogGroupInput struct {
9841	_ struct{} `type:"structure"`
9842
9843	// The name of the log group.
9844	//
9845	// LogGroupName is a required field
9846	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
9847
9848	// The key-value pairs to use for the tags.
9849	//
9850	// Tags is a required field
9851	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
9852}
9853
9854// String returns the string representation
9855func (s TagLogGroupInput) String() string {
9856	return awsutil.Prettify(s)
9857}
9858
9859// GoString returns the string representation
9860func (s TagLogGroupInput) GoString() string {
9861	return s.String()
9862}
9863
9864// Validate inspects the fields of the type to determine if they are valid.
9865func (s *TagLogGroupInput) Validate() error {
9866	invalidParams := request.ErrInvalidParams{Context: "TagLogGroupInput"}
9867	if s.LogGroupName == nil {
9868		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
9869	}
9870	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
9871		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
9872	}
9873	if s.Tags == nil {
9874		invalidParams.Add(request.NewErrParamRequired("Tags"))
9875	}
9876	if s.Tags != nil && len(s.Tags) < 1 {
9877		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
9878	}
9879
9880	if invalidParams.Len() > 0 {
9881		return invalidParams
9882	}
9883	return nil
9884}
9885
9886// SetLogGroupName sets the LogGroupName field's value.
9887func (s *TagLogGroupInput) SetLogGroupName(v string) *TagLogGroupInput {
9888	s.LogGroupName = &v
9889	return s
9890}
9891
9892// SetTags sets the Tags field's value.
9893func (s *TagLogGroupInput) SetTags(v map[string]*string) *TagLogGroupInput {
9894	s.Tags = v
9895	return s
9896}
9897
9898type TagLogGroupOutput struct {
9899	_ struct{} `type:"structure"`
9900}
9901
9902// String returns the string representation
9903func (s TagLogGroupOutput) String() string {
9904	return awsutil.Prettify(s)
9905}
9906
9907// GoString returns the string representation
9908func (s TagLogGroupOutput) GoString() string {
9909	return s.String()
9910}
9911
9912type TestMetricFilterInput struct {
9913	_ struct{} `type:"structure"`
9914
9915	// A symbolic description of how CloudWatch Logs should interpret the data in
9916	// each log event. For example, a log event can contain timestamps, IP addresses,
9917	// strings, and so on. You use the filter pattern to specify what to look for
9918	// in the log event message.
9919	//
9920	// FilterPattern is a required field
9921	FilterPattern *string `locationName:"filterPattern" type:"string" required:"true"`
9922
9923	// The log event messages to test.
9924	//
9925	// LogEventMessages is a required field
9926	LogEventMessages []*string `locationName:"logEventMessages" min:"1" type:"list" required:"true"`
9927}
9928
9929// String returns the string representation
9930func (s TestMetricFilterInput) String() string {
9931	return awsutil.Prettify(s)
9932}
9933
9934// GoString returns the string representation
9935func (s TestMetricFilterInput) GoString() string {
9936	return s.String()
9937}
9938
9939// Validate inspects the fields of the type to determine if they are valid.
9940func (s *TestMetricFilterInput) Validate() error {
9941	invalidParams := request.ErrInvalidParams{Context: "TestMetricFilterInput"}
9942	if s.FilterPattern == nil {
9943		invalidParams.Add(request.NewErrParamRequired("FilterPattern"))
9944	}
9945	if s.LogEventMessages == nil {
9946		invalidParams.Add(request.NewErrParamRequired("LogEventMessages"))
9947	}
9948	if s.LogEventMessages != nil && len(s.LogEventMessages) < 1 {
9949		invalidParams.Add(request.NewErrParamMinLen("LogEventMessages", 1))
9950	}
9951
9952	if invalidParams.Len() > 0 {
9953		return invalidParams
9954	}
9955	return nil
9956}
9957
9958// SetFilterPattern sets the FilterPattern field's value.
9959func (s *TestMetricFilterInput) SetFilterPattern(v string) *TestMetricFilterInput {
9960	s.FilterPattern = &v
9961	return s
9962}
9963
9964// SetLogEventMessages sets the LogEventMessages field's value.
9965func (s *TestMetricFilterInput) SetLogEventMessages(v []*string) *TestMetricFilterInput {
9966	s.LogEventMessages = v
9967	return s
9968}
9969
9970type TestMetricFilterOutput struct {
9971	_ struct{} `type:"structure"`
9972
9973	// The matched events.
9974	Matches []*MetricFilterMatchRecord `locationName:"matches" type:"list"`
9975}
9976
9977// String returns the string representation
9978func (s TestMetricFilterOutput) String() string {
9979	return awsutil.Prettify(s)
9980}
9981
9982// GoString returns the string representation
9983func (s TestMetricFilterOutput) GoString() string {
9984	return s.String()
9985}
9986
9987// SetMatches sets the Matches field's value.
9988func (s *TestMetricFilterOutput) SetMatches(v []*MetricFilterMatchRecord) *TestMetricFilterOutput {
9989	s.Matches = v
9990	return s
9991}
9992
9993// The most likely cause is an invalid AWS access key ID or secret key.
9994type UnrecognizedClientException struct {
9995	_            struct{}                  `type:"structure"`
9996	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9997
9998	Message_ *string `locationName:"message" type:"string"`
9999}
10000
10001// String returns the string representation
10002func (s UnrecognizedClientException) String() string {
10003	return awsutil.Prettify(s)
10004}
10005
10006// GoString returns the string representation
10007func (s UnrecognizedClientException) GoString() string {
10008	return s.String()
10009}
10010
10011func newErrorUnrecognizedClientException(v protocol.ResponseMetadata) error {
10012	return &UnrecognizedClientException{
10013		RespMetadata: v,
10014	}
10015}
10016
10017// Code returns the exception type name.
10018func (s *UnrecognizedClientException) Code() string {
10019	return "UnrecognizedClientException"
10020}
10021
10022// Message returns the exception's message.
10023func (s *UnrecognizedClientException) Message() string {
10024	if s.Message_ != nil {
10025		return *s.Message_
10026	}
10027	return ""
10028}
10029
10030// OrigErr always returns nil, satisfies awserr.Error interface.
10031func (s *UnrecognizedClientException) OrigErr() error {
10032	return nil
10033}
10034
10035func (s *UnrecognizedClientException) Error() string {
10036	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10037}
10038
10039// Status code returns the HTTP status code for the request's response error.
10040func (s *UnrecognizedClientException) StatusCode() int {
10041	return s.RespMetadata.StatusCode
10042}
10043
10044// RequestID returns the service's response RequestID for request.
10045func (s *UnrecognizedClientException) RequestID() string {
10046	return s.RespMetadata.RequestID
10047}
10048
10049type UntagLogGroupInput struct {
10050	_ struct{} `type:"structure"`
10051
10052	// The name of the log group.
10053	//
10054	// LogGroupName is a required field
10055	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
10056
10057	// The tag keys. The corresponding tags are removed from the log group.
10058	//
10059	// Tags is a required field
10060	Tags []*string `locationName:"tags" min:"1" type:"list" required:"true"`
10061}
10062
10063// String returns the string representation
10064func (s UntagLogGroupInput) String() string {
10065	return awsutil.Prettify(s)
10066}
10067
10068// GoString returns the string representation
10069func (s UntagLogGroupInput) GoString() string {
10070	return s.String()
10071}
10072
10073// Validate inspects the fields of the type to determine if they are valid.
10074func (s *UntagLogGroupInput) Validate() error {
10075	invalidParams := request.ErrInvalidParams{Context: "UntagLogGroupInput"}
10076	if s.LogGroupName == nil {
10077		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
10078	}
10079	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
10080		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
10081	}
10082	if s.Tags == nil {
10083		invalidParams.Add(request.NewErrParamRequired("Tags"))
10084	}
10085	if s.Tags != nil && len(s.Tags) < 1 {
10086		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
10087	}
10088
10089	if invalidParams.Len() > 0 {
10090		return invalidParams
10091	}
10092	return nil
10093}
10094
10095// SetLogGroupName sets the LogGroupName field's value.
10096func (s *UntagLogGroupInput) SetLogGroupName(v string) *UntagLogGroupInput {
10097	s.LogGroupName = &v
10098	return s
10099}
10100
10101// SetTags sets the Tags field's value.
10102func (s *UntagLogGroupInput) SetTags(v []*string) *UntagLogGroupInput {
10103	s.Tags = v
10104	return s
10105}
10106
10107type UntagLogGroupOutput struct {
10108	_ struct{} `type:"structure"`
10109}
10110
10111// String returns the string representation
10112func (s UntagLogGroupOutput) String() string {
10113	return awsutil.Prettify(s)
10114}
10115
10116// GoString returns the string representation
10117func (s UntagLogGroupOutput) GoString() string {
10118	return s.String()
10119}
10120
10121// The method used to distribute log data to the destination, which can be either
10122// random or grouped by log stream.
10123const (
10124	// DistributionRandom is a Distribution enum value
10125	DistributionRandom = "Random"
10126
10127	// DistributionByLogStream is a Distribution enum value
10128	DistributionByLogStream = "ByLogStream"
10129)
10130
10131// Distribution_Values returns all elements of the Distribution enum
10132func Distribution_Values() []string {
10133	return []string{
10134		DistributionRandom,
10135		DistributionByLogStream,
10136	}
10137}
10138
10139const (
10140	// ExportTaskStatusCodeCancelled is a ExportTaskStatusCode enum value
10141	ExportTaskStatusCodeCancelled = "CANCELLED"
10142
10143	// ExportTaskStatusCodeCompleted is a ExportTaskStatusCode enum value
10144	ExportTaskStatusCodeCompleted = "COMPLETED"
10145
10146	// ExportTaskStatusCodeFailed is a ExportTaskStatusCode enum value
10147	ExportTaskStatusCodeFailed = "FAILED"
10148
10149	// ExportTaskStatusCodePending is a ExportTaskStatusCode enum value
10150	ExportTaskStatusCodePending = "PENDING"
10151
10152	// ExportTaskStatusCodePendingCancel is a ExportTaskStatusCode enum value
10153	ExportTaskStatusCodePendingCancel = "PENDING_CANCEL"
10154
10155	// ExportTaskStatusCodeRunning is a ExportTaskStatusCode enum value
10156	ExportTaskStatusCodeRunning = "RUNNING"
10157)
10158
10159// ExportTaskStatusCode_Values returns all elements of the ExportTaskStatusCode enum
10160func ExportTaskStatusCode_Values() []string {
10161	return []string{
10162		ExportTaskStatusCodeCancelled,
10163		ExportTaskStatusCodeCompleted,
10164		ExportTaskStatusCodeFailed,
10165		ExportTaskStatusCodePending,
10166		ExportTaskStatusCodePendingCancel,
10167		ExportTaskStatusCodeRunning,
10168	}
10169}
10170
10171const (
10172	// OrderByLogStreamName is a OrderBy enum value
10173	OrderByLogStreamName = "LogStreamName"
10174
10175	// OrderByLastEventTime is a OrderBy enum value
10176	OrderByLastEventTime = "LastEventTime"
10177)
10178
10179// OrderBy_Values returns all elements of the OrderBy enum
10180func OrderBy_Values() []string {
10181	return []string{
10182		OrderByLogStreamName,
10183		OrderByLastEventTime,
10184	}
10185}
10186
10187const (
10188	// QueryStatusScheduled is a QueryStatus enum value
10189	QueryStatusScheduled = "Scheduled"
10190
10191	// QueryStatusRunning is a QueryStatus enum value
10192	QueryStatusRunning = "Running"
10193
10194	// QueryStatusComplete is a QueryStatus enum value
10195	QueryStatusComplete = "Complete"
10196
10197	// QueryStatusFailed is a QueryStatus enum value
10198	QueryStatusFailed = "Failed"
10199
10200	// QueryStatusCancelled is a QueryStatus enum value
10201	QueryStatusCancelled = "Cancelled"
10202)
10203
10204// QueryStatus_Values returns all elements of the QueryStatus enum
10205func QueryStatus_Values() []string {
10206	return []string{
10207		QueryStatusScheduled,
10208		QueryStatusRunning,
10209		QueryStatusComplete,
10210		QueryStatusFailed,
10211		QueryStatusCancelled,
10212	}
10213}
10214