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 Key Management Service customer master key (CMK)
61// with the specified log group.
62//
63// Associating an 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 CloudWatch Logs. This enables CloudWatch Logs to decrypt this data
68// 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 Amazon Web Services
374//    account.
375//
376//    * Log group names can be between 1 and 512 characters long.
377//
378//    * Log group names consist of the following characters: a-z, A-Z, 0-9,
379//    '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and
380//    '#' (number sign)
381//
382// When you create a log group, by default the log events in the log group never
383// expire. To set a retention policy so that events expire and are deleted after
384// a specified time, use PutRetentionPolicy (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutRetentionPolicy.html).
385//
386// If you associate a Key Management Service customer master key (CMK) with
387// the log group, ingested data is encrypted using the CMK. This association
388// is stored as long as the data encrypted with the CMK is still within CloudWatch
389// Logs. This enables CloudWatch Logs to decrypt 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// CloudWatch Logs doesn’t support IAM policies that control access to the
1544// DescribeLogGroups action by using the aws:ResourceTag/key-name condition
1545// key. Other CloudWatch Logs actions do support the use of the aws:ResourceTag/key-name
1546// condition key to control access. For more information about using tags to
1547// control access, see Controlling access to Amazon Web Services resources using
1548// tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).
1549//
1550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1551// with awserr.Error's Code and Message methods to get detailed information about
1552// the error.
1553//
1554// See the AWS API reference guide for Amazon CloudWatch Logs's
1555// API operation DescribeLogGroups for usage and error information.
1556//
1557// Returned Error Types:
1558//   * InvalidParameterException
1559//   A parameter is specified incorrectly.
1560//
1561//   * ServiceUnavailableException
1562//   The service cannot complete the request.
1563//
1564// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeLogGroups
1565func (c *CloudWatchLogs) DescribeLogGroups(input *DescribeLogGroupsInput) (*DescribeLogGroupsOutput, error) {
1566	req, out := c.DescribeLogGroupsRequest(input)
1567	return out, req.Send()
1568}
1569
1570// DescribeLogGroupsWithContext is the same as DescribeLogGroups with the addition of
1571// the ability to pass a context and additional request options.
1572//
1573// See DescribeLogGroups for details on how to use this API operation.
1574//
1575// The context must be non-nil and will be used for request cancellation. If
1576// the context is nil a panic will occur. In the future the SDK may create
1577// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1578// for more information on using Contexts.
1579func (c *CloudWatchLogs) DescribeLogGroupsWithContext(ctx aws.Context, input *DescribeLogGroupsInput, opts ...request.Option) (*DescribeLogGroupsOutput, error) {
1580	req, out := c.DescribeLogGroupsRequest(input)
1581	req.SetContext(ctx)
1582	req.ApplyOptions(opts...)
1583	return out, req.Send()
1584}
1585
1586// DescribeLogGroupsPages iterates over the pages of a DescribeLogGroups operation,
1587// calling the "fn" function with the response data for each page. To stop
1588// iterating, return false from the fn function.
1589//
1590// See DescribeLogGroups method for more information on how to use this operation.
1591//
1592// Note: This operation can generate multiple requests to a service.
1593//
1594//    // Example iterating over at most 3 pages of a DescribeLogGroups operation.
1595//    pageNum := 0
1596//    err := client.DescribeLogGroupsPages(params,
1597//        func(page *cloudwatchlogs.DescribeLogGroupsOutput, lastPage bool) bool {
1598//            pageNum++
1599//            fmt.Println(page)
1600//            return pageNum <= 3
1601//        })
1602//
1603func (c *CloudWatchLogs) DescribeLogGroupsPages(input *DescribeLogGroupsInput, fn func(*DescribeLogGroupsOutput, bool) bool) error {
1604	return c.DescribeLogGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
1605}
1606
1607// DescribeLogGroupsPagesWithContext same as DescribeLogGroupsPages except
1608// it takes a Context and allows setting request options on the pages.
1609//
1610// The context must be non-nil and will be used for request cancellation. If
1611// the context is nil a panic will occur. In the future the SDK may create
1612// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1613// for more information on using Contexts.
1614func (c *CloudWatchLogs) DescribeLogGroupsPagesWithContext(ctx aws.Context, input *DescribeLogGroupsInput, fn func(*DescribeLogGroupsOutput, bool) bool, opts ...request.Option) error {
1615	p := request.Pagination{
1616		EndPageOnSameToken: true,
1617		NewRequest: func() (*request.Request, error) {
1618			var inCpy *DescribeLogGroupsInput
1619			if input != nil {
1620				tmp := *input
1621				inCpy = &tmp
1622			}
1623			req, _ := c.DescribeLogGroupsRequest(inCpy)
1624			req.SetContext(ctx)
1625			req.ApplyOptions(opts...)
1626			return req, nil
1627		},
1628	}
1629
1630	for p.Next() {
1631		if !fn(p.Page().(*DescribeLogGroupsOutput), !p.HasNextPage()) {
1632			break
1633		}
1634	}
1635
1636	return p.Err()
1637}
1638
1639const opDescribeLogStreams = "DescribeLogStreams"
1640
1641// DescribeLogStreamsRequest generates a "aws/request.Request" representing the
1642// client's request for the DescribeLogStreams operation. The "output" return
1643// value will be populated with the request's response once the request completes
1644// successfully.
1645//
1646// Use "Send" method on the returned Request to send the API call to the service.
1647// the "output" return value is not valid until after Send returns without error.
1648//
1649// See DescribeLogStreams for more information on using the DescribeLogStreams
1650// API call, and error handling.
1651//
1652// This method is useful when you want to inject custom logic or configuration
1653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1654//
1655//
1656//    // Example sending a request using the DescribeLogStreamsRequest method.
1657//    req, resp := client.DescribeLogStreamsRequest(params)
1658//
1659//    err := req.Send()
1660//    if err == nil { // resp is now filled
1661//        fmt.Println(resp)
1662//    }
1663//
1664// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeLogStreams
1665func (c *CloudWatchLogs) DescribeLogStreamsRequest(input *DescribeLogStreamsInput) (req *request.Request, output *DescribeLogStreamsOutput) {
1666	op := &request.Operation{
1667		Name:       opDescribeLogStreams,
1668		HTTPMethod: "POST",
1669		HTTPPath:   "/",
1670		Paginator: &request.Paginator{
1671			InputTokens:     []string{"nextToken"},
1672			OutputTokens:    []string{"nextToken"},
1673			LimitToken:      "limit",
1674			TruncationToken: "",
1675		},
1676	}
1677
1678	if input == nil {
1679		input = &DescribeLogStreamsInput{}
1680	}
1681
1682	output = &DescribeLogStreamsOutput{}
1683	req = c.newRequest(op, input, output)
1684	return
1685}
1686
1687// DescribeLogStreams API operation for Amazon CloudWatch Logs.
1688//
1689// Lists the log streams for the specified log group. You can list all the log
1690// streams or filter the results by prefix. You can also control how the results
1691// are ordered.
1692//
1693// This operation has a limit of five transactions per second, after which transactions
1694// are throttled.
1695//
1696// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1697// with awserr.Error's Code and Message methods to get detailed information about
1698// the error.
1699//
1700// See the AWS API reference guide for Amazon CloudWatch Logs's
1701// API operation DescribeLogStreams for usage and error information.
1702//
1703// Returned Error Types:
1704//   * InvalidParameterException
1705//   A parameter is specified incorrectly.
1706//
1707//   * ResourceNotFoundException
1708//   The specified resource does not exist.
1709//
1710//   * ServiceUnavailableException
1711//   The service cannot complete the request.
1712//
1713// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeLogStreams
1714func (c *CloudWatchLogs) DescribeLogStreams(input *DescribeLogStreamsInput) (*DescribeLogStreamsOutput, error) {
1715	req, out := c.DescribeLogStreamsRequest(input)
1716	return out, req.Send()
1717}
1718
1719// DescribeLogStreamsWithContext is the same as DescribeLogStreams with the addition of
1720// the ability to pass a context and additional request options.
1721//
1722// See DescribeLogStreams for details on how to use this API operation.
1723//
1724// The context must be non-nil and will be used for request cancellation. If
1725// the context is nil a panic will occur. In the future the SDK may create
1726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1727// for more information on using Contexts.
1728func (c *CloudWatchLogs) DescribeLogStreamsWithContext(ctx aws.Context, input *DescribeLogStreamsInput, opts ...request.Option) (*DescribeLogStreamsOutput, error) {
1729	req, out := c.DescribeLogStreamsRequest(input)
1730	req.SetContext(ctx)
1731	req.ApplyOptions(opts...)
1732	return out, req.Send()
1733}
1734
1735// DescribeLogStreamsPages iterates over the pages of a DescribeLogStreams operation,
1736// calling the "fn" function with the response data for each page. To stop
1737// iterating, return false from the fn function.
1738//
1739// See DescribeLogStreams method for more information on how to use this operation.
1740//
1741// Note: This operation can generate multiple requests to a service.
1742//
1743//    // Example iterating over at most 3 pages of a DescribeLogStreams operation.
1744//    pageNum := 0
1745//    err := client.DescribeLogStreamsPages(params,
1746//        func(page *cloudwatchlogs.DescribeLogStreamsOutput, lastPage bool) bool {
1747//            pageNum++
1748//            fmt.Println(page)
1749//            return pageNum <= 3
1750//        })
1751//
1752func (c *CloudWatchLogs) DescribeLogStreamsPages(input *DescribeLogStreamsInput, fn func(*DescribeLogStreamsOutput, bool) bool) error {
1753	return c.DescribeLogStreamsPagesWithContext(aws.BackgroundContext(), input, fn)
1754}
1755
1756// DescribeLogStreamsPagesWithContext same as DescribeLogStreamsPages except
1757// it takes a Context and allows setting request options on the pages.
1758//
1759// The context must be non-nil and will be used for request cancellation. If
1760// the context is nil a panic will occur. In the future the SDK may create
1761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1762// for more information on using Contexts.
1763func (c *CloudWatchLogs) DescribeLogStreamsPagesWithContext(ctx aws.Context, input *DescribeLogStreamsInput, fn func(*DescribeLogStreamsOutput, bool) bool, opts ...request.Option) error {
1764	p := request.Pagination{
1765		EndPageOnSameToken: true,
1766		NewRequest: func() (*request.Request, error) {
1767			var inCpy *DescribeLogStreamsInput
1768			if input != nil {
1769				tmp := *input
1770				inCpy = &tmp
1771			}
1772			req, _ := c.DescribeLogStreamsRequest(inCpy)
1773			req.SetContext(ctx)
1774			req.ApplyOptions(opts...)
1775			return req, nil
1776		},
1777	}
1778
1779	for p.Next() {
1780		if !fn(p.Page().(*DescribeLogStreamsOutput), !p.HasNextPage()) {
1781			break
1782		}
1783	}
1784
1785	return p.Err()
1786}
1787
1788const opDescribeMetricFilters = "DescribeMetricFilters"
1789
1790// DescribeMetricFiltersRequest generates a "aws/request.Request" representing the
1791// client's request for the DescribeMetricFilters operation. The "output" return
1792// value will be populated with the request's response once the request completes
1793// successfully.
1794//
1795// Use "Send" method on the returned Request to send the API call to the service.
1796// the "output" return value is not valid until after Send returns without error.
1797//
1798// See DescribeMetricFilters for more information on using the DescribeMetricFilters
1799// API call, and error handling.
1800//
1801// This method is useful when you want to inject custom logic or configuration
1802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1803//
1804//
1805//    // Example sending a request using the DescribeMetricFiltersRequest method.
1806//    req, resp := client.DescribeMetricFiltersRequest(params)
1807//
1808//    err := req.Send()
1809//    if err == nil { // resp is now filled
1810//        fmt.Println(resp)
1811//    }
1812//
1813// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeMetricFilters
1814func (c *CloudWatchLogs) DescribeMetricFiltersRequest(input *DescribeMetricFiltersInput) (req *request.Request, output *DescribeMetricFiltersOutput) {
1815	op := &request.Operation{
1816		Name:       opDescribeMetricFilters,
1817		HTTPMethod: "POST",
1818		HTTPPath:   "/",
1819		Paginator: &request.Paginator{
1820			InputTokens:     []string{"nextToken"},
1821			OutputTokens:    []string{"nextToken"},
1822			LimitToken:      "limit",
1823			TruncationToken: "",
1824		},
1825	}
1826
1827	if input == nil {
1828		input = &DescribeMetricFiltersInput{}
1829	}
1830
1831	output = &DescribeMetricFiltersOutput{}
1832	req = c.newRequest(op, input, output)
1833	return
1834}
1835
1836// DescribeMetricFilters API operation for Amazon CloudWatch Logs.
1837//
1838// Lists the specified metric filters. You can list all of the metric filters
1839// or filter the results by log name, prefix, metric name, or metric namespace.
1840// The results are ASCII-sorted by filter name.
1841//
1842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1843// with awserr.Error's Code and Message methods to get detailed information about
1844// the error.
1845//
1846// See the AWS API reference guide for Amazon CloudWatch Logs's
1847// API operation DescribeMetricFilters for usage and error information.
1848//
1849// Returned Error Types:
1850//   * InvalidParameterException
1851//   A parameter is specified incorrectly.
1852//
1853//   * ResourceNotFoundException
1854//   The specified resource does not exist.
1855//
1856//   * ServiceUnavailableException
1857//   The service cannot complete the request.
1858//
1859// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeMetricFilters
1860func (c *CloudWatchLogs) DescribeMetricFilters(input *DescribeMetricFiltersInput) (*DescribeMetricFiltersOutput, error) {
1861	req, out := c.DescribeMetricFiltersRequest(input)
1862	return out, req.Send()
1863}
1864
1865// DescribeMetricFiltersWithContext is the same as DescribeMetricFilters with the addition of
1866// the ability to pass a context and additional request options.
1867//
1868// See DescribeMetricFilters for details on how to use this API operation.
1869//
1870// The context must be non-nil and will be used for request cancellation. If
1871// the context is nil a panic will occur. In the future the SDK may create
1872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1873// for more information on using Contexts.
1874func (c *CloudWatchLogs) DescribeMetricFiltersWithContext(ctx aws.Context, input *DescribeMetricFiltersInput, opts ...request.Option) (*DescribeMetricFiltersOutput, error) {
1875	req, out := c.DescribeMetricFiltersRequest(input)
1876	req.SetContext(ctx)
1877	req.ApplyOptions(opts...)
1878	return out, req.Send()
1879}
1880
1881// DescribeMetricFiltersPages iterates over the pages of a DescribeMetricFilters operation,
1882// calling the "fn" function with the response data for each page. To stop
1883// iterating, return false from the fn function.
1884//
1885// See DescribeMetricFilters method for more information on how to use this operation.
1886//
1887// Note: This operation can generate multiple requests to a service.
1888//
1889//    // Example iterating over at most 3 pages of a DescribeMetricFilters operation.
1890//    pageNum := 0
1891//    err := client.DescribeMetricFiltersPages(params,
1892//        func(page *cloudwatchlogs.DescribeMetricFiltersOutput, lastPage bool) bool {
1893//            pageNum++
1894//            fmt.Println(page)
1895//            return pageNum <= 3
1896//        })
1897//
1898func (c *CloudWatchLogs) DescribeMetricFiltersPages(input *DescribeMetricFiltersInput, fn func(*DescribeMetricFiltersOutput, bool) bool) error {
1899	return c.DescribeMetricFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
1900}
1901
1902// DescribeMetricFiltersPagesWithContext same as DescribeMetricFiltersPages except
1903// it takes a Context and allows setting request options on the pages.
1904//
1905// The context must be non-nil and will be used for request cancellation. If
1906// the context is nil a panic will occur. In the future the SDK may create
1907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1908// for more information on using Contexts.
1909func (c *CloudWatchLogs) DescribeMetricFiltersPagesWithContext(ctx aws.Context, input *DescribeMetricFiltersInput, fn func(*DescribeMetricFiltersOutput, bool) bool, opts ...request.Option) error {
1910	p := request.Pagination{
1911		EndPageOnSameToken: true,
1912		NewRequest: func() (*request.Request, error) {
1913			var inCpy *DescribeMetricFiltersInput
1914			if input != nil {
1915				tmp := *input
1916				inCpy = &tmp
1917			}
1918			req, _ := c.DescribeMetricFiltersRequest(inCpy)
1919			req.SetContext(ctx)
1920			req.ApplyOptions(opts...)
1921			return req, nil
1922		},
1923	}
1924
1925	for p.Next() {
1926		if !fn(p.Page().(*DescribeMetricFiltersOutput), !p.HasNextPage()) {
1927			break
1928		}
1929	}
1930
1931	return p.Err()
1932}
1933
1934const opDescribeQueries = "DescribeQueries"
1935
1936// DescribeQueriesRequest generates a "aws/request.Request" representing the
1937// client's request for the DescribeQueries operation. The "output" return
1938// value will be populated with the request's response once the request completes
1939// successfully.
1940//
1941// Use "Send" method on the returned Request to send the API call to the service.
1942// the "output" return value is not valid until after Send returns without error.
1943//
1944// See DescribeQueries for more information on using the DescribeQueries
1945// API call, and error handling.
1946//
1947// This method is useful when you want to inject custom logic or configuration
1948// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1949//
1950//
1951//    // Example sending a request using the DescribeQueriesRequest method.
1952//    req, resp := client.DescribeQueriesRequest(params)
1953//
1954//    err := req.Send()
1955//    if err == nil { // resp is now filled
1956//        fmt.Println(resp)
1957//    }
1958//
1959// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueries
1960func (c *CloudWatchLogs) DescribeQueriesRequest(input *DescribeQueriesInput) (req *request.Request, output *DescribeQueriesOutput) {
1961	op := &request.Operation{
1962		Name:       opDescribeQueries,
1963		HTTPMethod: "POST",
1964		HTTPPath:   "/",
1965	}
1966
1967	if input == nil {
1968		input = &DescribeQueriesInput{}
1969	}
1970
1971	output = &DescribeQueriesOutput{}
1972	req = c.newRequest(op, input, output)
1973	return
1974}
1975
1976// DescribeQueries API operation for Amazon CloudWatch Logs.
1977//
1978// Returns a list of CloudWatch Logs Insights queries that are scheduled, executing,
1979// or have been executed recently in this account. You can request all queries
1980// or limit it to queries of a specific log group or queries with a certain
1981// status.
1982//
1983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1984// with awserr.Error's Code and Message methods to get detailed information about
1985// the error.
1986//
1987// See the AWS API reference guide for Amazon CloudWatch Logs's
1988// API operation DescribeQueries for usage and error information.
1989//
1990// Returned Error Types:
1991//   * InvalidParameterException
1992//   A parameter is specified incorrectly.
1993//
1994//   * ResourceNotFoundException
1995//   The specified resource does not exist.
1996//
1997//   * ServiceUnavailableException
1998//   The service cannot complete the request.
1999//
2000// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueries
2001func (c *CloudWatchLogs) DescribeQueries(input *DescribeQueriesInput) (*DescribeQueriesOutput, error) {
2002	req, out := c.DescribeQueriesRequest(input)
2003	return out, req.Send()
2004}
2005
2006// DescribeQueriesWithContext is the same as DescribeQueries with the addition of
2007// the ability to pass a context and additional request options.
2008//
2009// See DescribeQueries for details on how to use this API operation.
2010//
2011// The context must be non-nil and will be used for request cancellation. If
2012// the context is nil a panic will occur. In the future the SDK may create
2013// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2014// for more information on using Contexts.
2015func (c *CloudWatchLogs) DescribeQueriesWithContext(ctx aws.Context, input *DescribeQueriesInput, opts ...request.Option) (*DescribeQueriesOutput, error) {
2016	req, out := c.DescribeQueriesRequest(input)
2017	req.SetContext(ctx)
2018	req.ApplyOptions(opts...)
2019	return out, req.Send()
2020}
2021
2022const opDescribeQueryDefinitions = "DescribeQueryDefinitions"
2023
2024// DescribeQueryDefinitionsRequest generates a "aws/request.Request" representing the
2025// client's request for the DescribeQueryDefinitions operation. The "output" return
2026// value will be populated with the request's response once the request completes
2027// successfully.
2028//
2029// Use "Send" method on the returned Request to send the API call to the service.
2030// the "output" return value is not valid until after Send returns without error.
2031//
2032// See DescribeQueryDefinitions for more information on using the DescribeQueryDefinitions
2033// API call, and error handling.
2034//
2035// This method is useful when you want to inject custom logic or configuration
2036// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2037//
2038//
2039//    // Example sending a request using the DescribeQueryDefinitionsRequest method.
2040//    req, resp := client.DescribeQueryDefinitionsRequest(params)
2041//
2042//    err := req.Send()
2043//    if err == nil { // resp is now filled
2044//        fmt.Println(resp)
2045//    }
2046//
2047// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueryDefinitions
2048func (c *CloudWatchLogs) DescribeQueryDefinitionsRequest(input *DescribeQueryDefinitionsInput) (req *request.Request, output *DescribeQueryDefinitionsOutput) {
2049	op := &request.Operation{
2050		Name:       opDescribeQueryDefinitions,
2051		HTTPMethod: "POST",
2052		HTTPPath:   "/",
2053	}
2054
2055	if input == nil {
2056		input = &DescribeQueryDefinitionsInput{}
2057	}
2058
2059	output = &DescribeQueryDefinitionsOutput{}
2060	req = c.newRequest(op, input, output)
2061	return
2062}
2063
2064// DescribeQueryDefinitions API operation for Amazon CloudWatch Logs.
2065//
2066// This operation returns a paginated list of your saved CloudWatch Logs Insights
2067// query definitions.
2068//
2069// You can use the queryDefinitionNamePrefix parameter to limit the results
2070// to only the query definitions that have names that start with a certain string.
2071//
2072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2073// with awserr.Error's Code and Message methods to get detailed information about
2074// the error.
2075//
2076// See the AWS API reference guide for Amazon CloudWatch Logs's
2077// API operation DescribeQueryDefinitions for usage and error information.
2078//
2079// Returned Error Types:
2080//   * InvalidParameterException
2081//   A parameter is specified incorrectly.
2082//
2083//   * ServiceUnavailableException
2084//   The service cannot complete the request.
2085//
2086// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueryDefinitions
2087func (c *CloudWatchLogs) DescribeQueryDefinitions(input *DescribeQueryDefinitionsInput) (*DescribeQueryDefinitionsOutput, error) {
2088	req, out := c.DescribeQueryDefinitionsRequest(input)
2089	return out, req.Send()
2090}
2091
2092// DescribeQueryDefinitionsWithContext is the same as DescribeQueryDefinitions with the addition of
2093// the ability to pass a context and additional request options.
2094//
2095// See DescribeQueryDefinitions for details on how to use this API operation.
2096//
2097// The context must be non-nil and will be used for request cancellation. If
2098// the context is nil a panic will occur. In the future the SDK may create
2099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2100// for more information on using Contexts.
2101func (c *CloudWatchLogs) DescribeQueryDefinitionsWithContext(ctx aws.Context, input *DescribeQueryDefinitionsInput, opts ...request.Option) (*DescribeQueryDefinitionsOutput, error) {
2102	req, out := c.DescribeQueryDefinitionsRequest(input)
2103	req.SetContext(ctx)
2104	req.ApplyOptions(opts...)
2105	return out, req.Send()
2106}
2107
2108const opDescribeResourcePolicies = "DescribeResourcePolicies"
2109
2110// DescribeResourcePoliciesRequest generates a "aws/request.Request" representing the
2111// client's request for the DescribeResourcePolicies operation. The "output" return
2112// value will be populated with the request's response once the request completes
2113// successfully.
2114//
2115// Use "Send" method on the returned Request to send the API call to the service.
2116// the "output" return value is not valid until after Send returns without error.
2117//
2118// See DescribeResourcePolicies for more information on using the DescribeResourcePolicies
2119// API call, and error handling.
2120//
2121// This method is useful when you want to inject custom logic or configuration
2122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2123//
2124//
2125//    // Example sending a request using the DescribeResourcePoliciesRequest method.
2126//    req, resp := client.DescribeResourcePoliciesRequest(params)
2127//
2128//    err := req.Send()
2129//    if err == nil { // resp is now filled
2130//        fmt.Println(resp)
2131//    }
2132//
2133// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeResourcePolicies
2134func (c *CloudWatchLogs) DescribeResourcePoliciesRequest(input *DescribeResourcePoliciesInput) (req *request.Request, output *DescribeResourcePoliciesOutput) {
2135	op := &request.Operation{
2136		Name:       opDescribeResourcePolicies,
2137		HTTPMethod: "POST",
2138		HTTPPath:   "/",
2139	}
2140
2141	if input == nil {
2142		input = &DescribeResourcePoliciesInput{}
2143	}
2144
2145	output = &DescribeResourcePoliciesOutput{}
2146	req = c.newRequest(op, input, output)
2147	return
2148}
2149
2150// DescribeResourcePolicies API operation for Amazon CloudWatch Logs.
2151//
2152// Lists the resource policies in this account.
2153//
2154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2155// with awserr.Error's Code and Message methods to get detailed information about
2156// the error.
2157//
2158// See the AWS API reference guide for Amazon CloudWatch Logs's
2159// API operation DescribeResourcePolicies for usage and error information.
2160//
2161// Returned Error Types:
2162//   * InvalidParameterException
2163//   A parameter is specified incorrectly.
2164//
2165//   * ServiceUnavailableException
2166//   The service cannot complete the request.
2167//
2168// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeResourcePolicies
2169func (c *CloudWatchLogs) DescribeResourcePolicies(input *DescribeResourcePoliciesInput) (*DescribeResourcePoliciesOutput, error) {
2170	req, out := c.DescribeResourcePoliciesRequest(input)
2171	return out, req.Send()
2172}
2173
2174// DescribeResourcePoliciesWithContext is the same as DescribeResourcePolicies with the addition of
2175// the ability to pass a context and additional request options.
2176//
2177// See DescribeResourcePolicies for details on how to use this API operation.
2178//
2179// The context must be non-nil and will be used for request cancellation. If
2180// the context is nil a panic will occur. In the future the SDK may create
2181// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2182// for more information on using Contexts.
2183func (c *CloudWatchLogs) DescribeResourcePoliciesWithContext(ctx aws.Context, input *DescribeResourcePoliciesInput, opts ...request.Option) (*DescribeResourcePoliciesOutput, error) {
2184	req, out := c.DescribeResourcePoliciesRequest(input)
2185	req.SetContext(ctx)
2186	req.ApplyOptions(opts...)
2187	return out, req.Send()
2188}
2189
2190const opDescribeSubscriptionFilters = "DescribeSubscriptionFilters"
2191
2192// DescribeSubscriptionFiltersRequest generates a "aws/request.Request" representing the
2193// client's request for the DescribeSubscriptionFilters operation. The "output" return
2194// value will be populated with the request's response once the request completes
2195// successfully.
2196//
2197// Use "Send" method on the returned Request to send the API call to the service.
2198// the "output" return value is not valid until after Send returns without error.
2199//
2200// See DescribeSubscriptionFilters for more information on using the DescribeSubscriptionFilters
2201// API call, and error handling.
2202//
2203// This method is useful when you want to inject custom logic or configuration
2204// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2205//
2206//
2207//    // Example sending a request using the DescribeSubscriptionFiltersRequest method.
2208//    req, resp := client.DescribeSubscriptionFiltersRequest(params)
2209//
2210//    err := req.Send()
2211//    if err == nil { // resp is now filled
2212//        fmt.Println(resp)
2213//    }
2214//
2215// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeSubscriptionFilters
2216func (c *CloudWatchLogs) DescribeSubscriptionFiltersRequest(input *DescribeSubscriptionFiltersInput) (req *request.Request, output *DescribeSubscriptionFiltersOutput) {
2217	op := &request.Operation{
2218		Name:       opDescribeSubscriptionFilters,
2219		HTTPMethod: "POST",
2220		HTTPPath:   "/",
2221		Paginator: &request.Paginator{
2222			InputTokens:     []string{"nextToken"},
2223			OutputTokens:    []string{"nextToken"},
2224			LimitToken:      "limit",
2225			TruncationToken: "",
2226		},
2227	}
2228
2229	if input == nil {
2230		input = &DescribeSubscriptionFiltersInput{}
2231	}
2232
2233	output = &DescribeSubscriptionFiltersOutput{}
2234	req = c.newRequest(op, input, output)
2235	return
2236}
2237
2238// DescribeSubscriptionFilters API operation for Amazon CloudWatch Logs.
2239//
2240// Lists the subscription filters for the specified log group. You can list
2241// all the subscription filters or filter the results by prefix. The results
2242// are ASCII-sorted by filter name.
2243//
2244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2245// with awserr.Error's Code and Message methods to get detailed information about
2246// the error.
2247//
2248// See the AWS API reference guide for Amazon CloudWatch Logs's
2249// API operation DescribeSubscriptionFilters for usage and error information.
2250//
2251// Returned Error Types:
2252//   * InvalidParameterException
2253//   A parameter is specified incorrectly.
2254//
2255//   * ResourceNotFoundException
2256//   The specified resource does not exist.
2257//
2258//   * ServiceUnavailableException
2259//   The service cannot complete the request.
2260//
2261// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeSubscriptionFilters
2262func (c *CloudWatchLogs) DescribeSubscriptionFilters(input *DescribeSubscriptionFiltersInput) (*DescribeSubscriptionFiltersOutput, error) {
2263	req, out := c.DescribeSubscriptionFiltersRequest(input)
2264	return out, req.Send()
2265}
2266
2267// DescribeSubscriptionFiltersWithContext is the same as DescribeSubscriptionFilters with the addition of
2268// the ability to pass a context and additional request options.
2269//
2270// See DescribeSubscriptionFilters for details on how to use this API operation.
2271//
2272// The context must be non-nil and will be used for request cancellation. If
2273// the context is nil a panic will occur. In the future the SDK may create
2274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2275// for more information on using Contexts.
2276func (c *CloudWatchLogs) DescribeSubscriptionFiltersWithContext(ctx aws.Context, input *DescribeSubscriptionFiltersInput, opts ...request.Option) (*DescribeSubscriptionFiltersOutput, error) {
2277	req, out := c.DescribeSubscriptionFiltersRequest(input)
2278	req.SetContext(ctx)
2279	req.ApplyOptions(opts...)
2280	return out, req.Send()
2281}
2282
2283// DescribeSubscriptionFiltersPages iterates over the pages of a DescribeSubscriptionFilters operation,
2284// calling the "fn" function with the response data for each page. To stop
2285// iterating, return false from the fn function.
2286//
2287// See DescribeSubscriptionFilters method for more information on how to use this operation.
2288//
2289// Note: This operation can generate multiple requests to a service.
2290//
2291//    // Example iterating over at most 3 pages of a DescribeSubscriptionFilters operation.
2292//    pageNum := 0
2293//    err := client.DescribeSubscriptionFiltersPages(params,
2294//        func(page *cloudwatchlogs.DescribeSubscriptionFiltersOutput, lastPage bool) bool {
2295//            pageNum++
2296//            fmt.Println(page)
2297//            return pageNum <= 3
2298//        })
2299//
2300func (c *CloudWatchLogs) DescribeSubscriptionFiltersPages(input *DescribeSubscriptionFiltersInput, fn func(*DescribeSubscriptionFiltersOutput, bool) bool) error {
2301	return c.DescribeSubscriptionFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
2302}
2303
2304// DescribeSubscriptionFiltersPagesWithContext same as DescribeSubscriptionFiltersPages except
2305// it takes a Context and allows setting request options on the pages.
2306//
2307// The context must be non-nil and will be used for request cancellation. If
2308// the context is nil a panic will occur. In the future the SDK may create
2309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2310// for more information on using Contexts.
2311func (c *CloudWatchLogs) DescribeSubscriptionFiltersPagesWithContext(ctx aws.Context, input *DescribeSubscriptionFiltersInput, fn func(*DescribeSubscriptionFiltersOutput, bool) bool, opts ...request.Option) error {
2312	p := request.Pagination{
2313		EndPageOnSameToken: true,
2314		NewRequest: func() (*request.Request, error) {
2315			var inCpy *DescribeSubscriptionFiltersInput
2316			if input != nil {
2317				tmp := *input
2318				inCpy = &tmp
2319			}
2320			req, _ := c.DescribeSubscriptionFiltersRequest(inCpy)
2321			req.SetContext(ctx)
2322			req.ApplyOptions(opts...)
2323			return req, nil
2324		},
2325	}
2326
2327	for p.Next() {
2328		if !fn(p.Page().(*DescribeSubscriptionFiltersOutput), !p.HasNextPage()) {
2329			break
2330		}
2331	}
2332
2333	return p.Err()
2334}
2335
2336const opDisassociateKmsKey = "DisassociateKmsKey"
2337
2338// DisassociateKmsKeyRequest generates a "aws/request.Request" representing the
2339// client's request for the DisassociateKmsKey operation. The "output" return
2340// value will be populated with the request's response once the request completes
2341// successfully.
2342//
2343// Use "Send" method on the returned Request to send the API call to the service.
2344// the "output" return value is not valid until after Send returns without error.
2345//
2346// See DisassociateKmsKey for more information on using the DisassociateKmsKey
2347// API call, and error handling.
2348//
2349// This method is useful when you want to inject custom logic or configuration
2350// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2351//
2352//
2353//    // Example sending a request using the DisassociateKmsKeyRequest method.
2354//    req, resp := client.DisassociateKmsKeyRequest(params)
2355//
2356//    err := req.Send()
2357//    if err == nil { // resp is now filled
2358//        fmt.Println(resp)
2359//    }
2360//
2361// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DisassociateKmsKey
2362func (c *CloudWatchLogs) DisassociateKmsKeyRequest(input *DisassociateKmsKeyInput) (req *request.Request, output *DisassociateKmsKeyOutput) {
2363	op := &request.Operation{
2364		Name:       opDisassociateKmsKey,
2365		HTTPMethod: "POST",
2366		HTTPPath:   "/",
2367	}
2368
2369	if input == nil {
2370		input = &DisassociateKmsKeyInput{}
2371	}
2372
2373	output = &DisassociateKmsKeyOutput{}
2374	req = c.newRequest(op, input, output)
2375	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2376	return
2377}
2378
2379// DisassociateKmsKey API operation for Amazon CloudWatch Logs.
2380//
2381// Disassociates the associated Key Management Service customer master key (CMK)
2382// from the specified log group.
2383//
2384// After the KMS CMK is disassociated from the log group, CloudWatch Logs stops
2385// encrypting newly ingested data for the log group. All previously ingested
2386// data remains encrypted, and CloudWatch Logs requires permissions for the
2387// CMK whenever the encrypted data is requested.
2388//
2389// Note that it can take up to 5 minutes for this operation to take effect.
2390//
2391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2392// with awserr.Error's Code and Message methods to get detailed information about
2393// the error.
2394//
2395// See the AWS API reference guide for Amazon CloudWatch Logs's
2396// API operation DisassociateKmsKey for usage and error information.
2397//
2398// Returned Error Types:
2399//   * InvalidParameterException
2400//   A parameter is specified incorrectly.
2401//
2402//   * ResourceNotFoundException
2403//   The specified resource does not exist.
2404//
2405//   * OperationAbortedException
2406//   Multiple requests to update the same resource were in conflict.
2407//
2408//   * ServiceUnavailableException
2409//   The service cannot complete the request.
2410//
2411// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DisassociateKmsKey
2412func (c *CloudWatchLogs) DisassociateKmsKey(input *DisassociateKmsKeyInput) (*DisassociateKmsKeyOutput, error) {
2413	req, out := c.DisassociateKmsKeyRequest(input)
2414	return out, req.Send()
2415}
2416
2417// DisassociateKmsKeyWithContext is the same as DisassociateKmsKey with the addition of
2418// the ability to pass a context and additional request options.
2419//
2420// See DisassociateKmsKey for details on how to use this API operation.
2421//
2422// The context must be non-nil and will be used for request cancellation. If
2423// the context is nil a panic will occur. In the future the SDK may create
2424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2425// for more information on using Contexts.
2426func (c *CloudWatchLogs) DisassociateKmsKeyWithContext(ctx aws.Context, input *DisassociateKmsKeyInput, opts ...request.Option) (*DisassociateKmsKeyOutput, error) {
2427	req, out := c.DisassociateKmsKeyRequest(input)
2428	req.SetContext(ctx)
2429	req.ApplyOptions(opts...)
2430	return out, req.Send()
2431}
2432
2433const opFilterLogEvents = "FilterLogEvents"
2434
2435// FilterLogEventsRequest generates a "aws/request.Request" representing the
2436// client's request for the FilterLogEvents operation. The "output" return
2437// value will be populated with the request's response once the request completes
2438// successfully.
2439//
2440// Use "Send" method on the returned Request to send the API call to the service.
2441// the "output" return value is not valid until after Send returns without error.
2442//
2443// See FilterLogEvents for more information on using the FilterLogEvents
2444// API call, and error handling.
2445//
2446// This method is useful when you want to inject custom logic or configuration
2447// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2448//
2449//
2450//    // Example sending a request using the FilterLogEventsRequest method.
2451//    req, resp := client.FilterLogEventsRequest(params)
2452//
2453//    err := req.Send()
2454//    if err == nil { // resp is now filled
2455//        fmt.Println(resp)
2456//    }
2457//
2458// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/FilterLogEvents
2459func (c *CloudWatchLogs) FilterLogEventsRequest(input *FilterLogEventsInput) (req *request.Request, output *FilterLogEventsOutput) {
2460	op := &request.Operation{
2461		Name:       opFilterLogEvents,
2462		HTTPMethod: "POST",
2463		HTTPPath:   "/",
2464		Paginator: &request.Paginator{
2465			InputTokens:     []string{"nextToken"},
2466			OutputTokens:    []string{"nextToken"},
2467			LimitToken:      "limit",
2468			TruncationToken: "",
2469		},
2470	}
2471
2472	if input == nil {
2473		input = &FilterLogEventsInput{}
2474	}
2475
2476	output = &FilterLogEventsOutput{}
2477	req = c.newRequest(op, input, output)
2478	return
2479}
2480
2481// FilterLogEvents API operation for Amazon CloudWatch Logs.
2482//
2483// Lists log events from the specified log group. You can list all the log events
2484// or filter the results using a filter pattern, a time range, and the name
2485// of the log stream.
2486//
2487// By default, this operation returns as many log events as can fit in 1 MB
2488// (up to 10,000 log events) or all the events found within the time range that
2489// you specify. If the results include a token, then there are more log events
2490// available, and you can get additional results by specifying the token in
2491// a subsequent call. This operation can return empty results while there are
2492// more log events available through the token.
2493//
2494// The returned log events are sorted by event timestamp, the timestamp when
2495// the event was ingested by CloudWatch Logs, and the ID of the PutLogEvents
2496// request.
2497//
2498// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2499// with awserr.Error's Code and Message methods to get detailed information about
2500// the error.
2501//
2502// See the AWS API reference guide for Amazon CloudWatch Logs's
2503// API operation FilterLogEvents for usage and error information.
2504//
2505// Returned Error Types:
2506//   * InvalidParameterException
2507//   A parameter is specified incorrectly.
2508//
2509//   * ResourceNotFoundException
2510//   The specified resource does not exist.
2511//
2512//   * ServiceUnavailableException
2513//   The service cannot complete the request.
2514//
2515// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/FilterLogEvents
2516func (c *CloudWatchLogs) FilterLogEvents(input *FilterLogEventsInput) (*FilterLogEventsOutput, error) {
2517	req, out := c.FilterLogEventsRequest(input)
2518	return out, req.Send()
2519}
2520
2521// FilterLogEventsWithContext is the same as FilterLogEvents with the addition of
2522// the ability to pass a context and additional request options.
2523//
2524// See FilterLogEvents for details on how to use this API operation.
2525//
2526// The context must be non-nil and will be used for request cancellation. If
2527// the context is nil a panic will occur. In the future the SDK may create
2528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2529// for more information on using Contexts.
2530func (c *CloudWatchLogs) FilterLogEventsWithContext(ctx aws.Context, input *FilterLogEventsInput, opts ...request.Option) (*FilterLogEventsOutput, error) {
2531	req, out := c.FilterLogEventsRequest(input)
2532	req.SetContext(ctx)
2533	req.ApplyOptions(opts...)
2534	return out, req.Send()
2535}
2536
2537// FilterLogEventsPages iterates over the pages of a FilterLogEvents operation,
2538// calling the "fn" function with the response data for each page. To stop
2539// iterating, return false from the fn function.
2540//
2541// See FilterLogEvents method for more information on how to use this operation.
2542//
2543// Note: This operation can generate multiple requests to a service.
2544//
2545//    // Example iterating over at most 3 pages of a FilterLogEvents operation.
2546//    pageNum := 0
2547//    err := client.FilterLogEventsPages(params,
2548//        func(page *cloudwatchlogs.FilterLogEventsOutput, lastPage bool) bool {
2549//            pageNum++
2550//            fmt.Println(page)
2551//            return pageNum <= 3
2552//        })
2553//
2554func (c *CloudWatchLogs) FilterLogEventsPages(input *FilterLogEventsInput, fn func(*FilterLogEventsOutput, bool) bool) error {
2555	return c.FilterLogEventsPagesWithContext(aws.BackgroundContext(), input, fn)
2556}
2557
2558// FilterLogEventsPagesWithContext same as FilterLogEventsPages except
2559// it takes a Context and allows setting request options on the pages.
2560//
2561// The context must be non-nil and will be used for request cancellation. If
2562// the context is nil a panic will occur. In the future the SDK may create
2563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2564// for more information on using Contexts.
2565func (c *CloudWatchLogs) FilterLogEventsPagesWithContext(ctx aws.Context, input *FilterLogEventsInput, fn func(*FilterLogEventsOutput, bool) bool, opts ...request.Option) error {
2566	p := request.Pagination{
2567		EndPageOnSameToken: true,
2568		NewRequest: func() (*request.Request, error) {
2569			var inCpy *FilterLogEventsInput
2570			if input != nil {
2571				tmp := *input
2572				inCpy = &tmp
2573			}
2574			req, _ := c.FilterLogEventsRequest(inCpy)
2575			req.SetContext(ctx)
2576			req.ApplyOptions(opts...)
2577			return req, nil
2578		},
2579	}
2580
2581	for p.Next() {
2582		if !fn(p.Page().(*FilterLogEventsOutput), !p.HasNextPage()) {
2583			break
2584		}
2585	}
2586
2587	return p.Err()
2588}
2589
2590const opGetLogEvents = "GetLogEvents"
2591
2592// GetLogEventsRequest generates a "aws/request.Request" representing the
2593// client's request for the GetLogEvents operation. The "output" return
2594// value will be populated with the request's response once the request completes
2595// successfully.
2596//
2597// Use "Send" method on the returned Request to send the API call to the service.
2598// the "output" return value is not valid until after Send returns without error.
2599//
2600// See GetLogEvents for more information on using the GetLogEvents
2601// API call, and error handling.
2602//
2603// This method is useful when you want to inject custom logic or configuration
2604// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2605//
2606//
2607//    // Example sending a request using the GetLogEventsRequest method.
2608//    req, resp := client.GetLogEventsRequest(params)
2609//
2610//    err := req.Send()
2611//    if err == nil { // resp is now filled
2612//        fmt.Println(resp)
2613//    }
2614//
2615// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogEvents
2616func (c *CloudWatchLogs) GetLogEventsRequest(input *GetLogEventsInput) (req *request.Request, output *GetLogEventsOutput) {
2617	op := &request.Operation{
2618		Name:       opGetLogEvents,
2619		HTTPMethod: "POST",
2620		HTTPPath:   "/",
2621		Paginator: &request.Paginator{
2622			InputTokens:     []string{"nextToken"},
2623			OutputTokens:    []string{"nextForwardToken"},
2624			LimitToken:      "limit",
2625			TruncationToken: "",
2626		},
2627	}
2628
2629	if input == nil {
2630		input = &GetLogEventsInput{}
2631	}
2632
2633	output = &GetLogEventsOutput{}
2634	req = c.newRequest(op, input, output)
2635	return
2636}
2637
2638// GetLogEvents API operation for Amazon CloudWatch Logs.
2639//
2640// Lists log events from the specified log stream. You can list all of the log
2641// events or filter using a time range.
2642//
2643// By default, this operation returns as many log events as can fit in a response
2644// size of 1MB (up to 10,000 log events). You can get additional log events
2645// by specifying one of the tokens in a subsequent call. This operation can
2646// return empty results while there are more log events available through the
2647// token.
2648//
2649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2650// with awserr.Error's Code and Message methods to get detailed information about
2651// the error.
2652//
2653// See the AWS API reference guide for Amazon CloudWatch Logs's
2654// API operation GetLogEvents for usage and error information.
2655//
2656// Returned Error Types:
2657//   * InvalidParameterException
2658//   A parameter is specified incorrectly.
2659//
2660//   * ResourceNotFoundException
2661//   The specified resource does not exist.
2662//
2663//   * ServiceUnavailableException
2664//   The service cannot complete the request.
2665//
2666// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogEvents
2667func (c *CloudWatchLogs) GetLogEvents(input *GetLogEventsInput) (*GetLogEventsOutput, error) {
2668	req, out := c.GetLogEventsRequest(input)
2669	return out, req.Send()
2670}
2671
2672// GetLogEventsWithContext is the same as GetLogEvents with the addition of
2673// the ability to pass a context and additional request options.
2674//
2675// See GetLogEvents for details on how to use this API operation.
2676//
2677// The context must be non-nil and will be used for request cancellation. If
2678// the context is nil a panic will occur. In the future the SDK may create
2679// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2680// for more information on using Contexts.
2681func (c *CloudWatchLogs) GetLogEventsWithContext(ctx aws.Context, input *GetLogEventsInput, opts ...request.Option) (*GetLogEventsOutput, error) {
2682	req, out := c.GetLogEventsRequest(input)
2683	req.SetContext(ctx)
2684	req.ApplyOptions(opts...)
2685	return out, req.Send()
2686}
2687
2688// GetLogEventsPages iterates over the pages of a GetLogEvents operation,
2689// calling the "fn" function with the response data for each page. To stop
2690// iterating, return false from the fn function.
2691//
2692// See GetLogEvents method for more information on how to use this operation.
2693//
2694// Note: This operation can generate multiple requests to a service.
2695//
2696//    // Example iterating over at most 3 pages of a GetLogEvents operation.
2697//    pageNum := 0
2698//    err := client.GetLogEventsPages(params,
2699//        func(page *cloudwatchlogs.GetLogEventsOutput, lastPage bool) bool {
2700//            pageNum++
2701//            fmt.Println(page)
2702//            return pageNum <= 3
2703//        })
2704//
2705func (c *CloudWatchLogs) GetLogEventsPages(input *GetLogEventsInput, fn func(*GetLogEventsOutput, bool) bool) error {
2706	return c.GetLogEventsPagesWithContext(aws.BackgroundContext(), input, fn)
2707}
2708
2709// GetLogEventsPagesWithContext same as GetLogEventsPages except
2710// it takes a Context and allows setting request options on the pages.
2711//
2712// The context must be non-nil and will be used for request cancellation. If
2713// the context is nil a panic will occur. In the future the SDK may create
2714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2715// for more information on using Contexts.
2716func (c *CloudWatchLogs) GetLogEventsPagesWithContext(ctx aws.Context, input *GetLogEventsInput, fn func(*GetLogEventsOutput, bool) bool, opts ...request.Option) error {
2717	p := request.Pagination{
2718		EndPageOnSameToken: true,
2719		NewRequest: func() (*request.Request, error) {
2720			var inCpy *GetLogEventsInput
2721			if input != nil {
2722				tmp := *input
2723				inCpy = &tmp
2724			}
2725			req, _ := c.GetLogEventsRequest(inCpy)
2726			req.SetContext(ctx)
2727			req.ApplyOptions(opts...)
2728			return req, nil
2729		},
2730	}
2731
2732	for p.Next() {
2733		if !fn(p.Page().(*GetLogEventsOutput), !p.HasNextPage()) {
2734			break
2735		}
2736	}
2737
2738	return p.Err()
2739}
2740
2741const opGetLogGroupFields = "GetLogGroupFields"
2742
2743// GetLogGroupFieldsRequest generates a "aws/request.Request" representing the
2744// client's request for the GetLogGroupFields operation. The "output" return
2745// value will be populated with the request's response once the request completes
2746// successfully.
2747//
2748// Use "Send" method on the returned Request to send the API call to the service.
2749// the "output" return value is not valid until after Send returns without error.
2750//
2751// See GetLogGroupFields for more information on using the GetLogGroupFields
2752// API call, and error handling.
2753//
2754// This method is useful when you want to inject custom logic or configuration
2755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2756//
2757//
2758//    // Example sending a request using the GetLogGroupFieldsRequest method.
2759//    req, resp := client.GetLogGroupFieldsRequest(params)
2760//
2761//    err := req.Send()
2762//    if err == nil { // resp is now filled
2763//        fmt.Println(resp)
2764//    }
2765//
2766// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogGroupFields
2767func (c *CloudWatchLogs) GetLogGroupFieldsRequest(input *GetLogGroupFieldsInput) (req *request.Request, output *GetLogGroupFieldsOutput) {
2768	op := &request.Operation{
2769		Name:       opGetLogGroupFields,
2770		HTTPMethod: "POST",
2771		HTTPPath:   "/",
2772	}
2773
2774	if input == nil {
2775		input = &GetLogGroupFieldsInput{}
2776	}
2777
2778	output = &GetLogGroupFieldsOutput{}
2779	req = c.newRequest(op, input, output)
2780	return
2781}
2782
2783// GetLogGroupFields API operation for Amazon CloudWatch Logs.
2784//
2785// Returns a list of the fields that are included in log events in the specified
2786// log group, along with the percentage of log events that contain each field.
2787// The search is limited to a time period that you specify.
2788//
2789// In the results, fields that start with @ are fields generated by CloudWatch
2790// Logs. For example, @timestamp is the timestamp of each log event. For more
2791// information about the fields that are generated by CloudWatch logs, see Supported
2792// Logs and Discovered Fields (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData-discoverable-fields.html).
2793//
2794// The response results are sorted by the frequency percentage, starting with
2795// the highest percentage.
2796//
2797// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2798// with awserr.Error's Code and Message methods to get detailed information about
2799// the error.
2800//
2801// See the AWS API reference guide for Amazon CloudWatch Logs's
2802// API operation GetLogGroupFields for usage and error information.
2803//
2804// Returned Error Types:
2805//   * InvalidParameterException
2806//   A parameter is specified incorrectly.
2807//
2808//   * LimitExceededException
2809//   You have reached the maximum number of resources that can be created.
2810//
2811//   * ResourceNotFoundException
2812//   The specified resource does not exist.
2813//
2814//   * ServiceUnavailableException
2815//   The service cannot complete the request.
2816//
2817// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogGroupFields
2818func (c *CloudWatchLogs) GetLogGroupFields(input *GetLogGroupFieldsInput) (*GetLogGroupFieldsOutput, error) {
2819	req, out := c.GetLogGroupFieldsRequest(input)
2820	return out, req.Send()
2821}
2822
2823// GetLogGroupFieldsWithContext is the same as GetLogGroupFields with the addition of
2824// the ability to pass a context and additional request options.
2825//
2826// See GetLogGroupFields for details on how to use this API operation.
2827//
2828// The context must be non-nil and will be used for request cancellation. If
2829// the context is nil a panic will occur. In the future the SDK may create
2830// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2831// for more information on using Contexts.
2832func (c *CloudWatchLogs) GetLogGroupFieldsWithContext(ctx aws.Context, input *GetLogGroupFieldsInput, opts ...request.Option) (*GetLogGroupFieldsOutput, error) {
2833	req, out := c.GetLogGroupFieldsRequest(input)
2834	req.SetContext(ctx)
2835	req.ApplyOptions(opts...)
2836	return out, req.Send()
2837}
2838
2839const opGetLogRecord = "GetLogRecord"
2840
2841// GetLogRecordRequest generates a "aws/request.Request" representing the
2842// client's request for the GetLogRecord operation. The "output" return
2843// value will be populated with the request's response once the request completes
2844// successfully.
2845//
2846// Use "Send" method on the returned Request to send the API call to the service.
2847// the "output" return value is not valid until after Send returns without error.
2848//
2849// See GetLogRecord for more information on using the GetLogRecord
2850// API call, and error handling.
2851//
2852// This method is useful when you want to inject custom logic or configuration
2853// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2854//
2855//
2856//    // Example sending a request using the GetLogRecordRequest method.
2857//    req, resp := client.GetLogRecordRequest(params)
2858//
2859//    err := req.Send()
2860//    if err == nil { // resp is now filled
2861//        fmt.Println(resp)
2862//    }
2863//
2864// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogRecord
2865func (c *CloudWatchLogs) GetLogRecordRequest(input *GetLogRecordInput) (req *request.Request, output *GetLogRecordOutput) {
2866	op := &request.Operation{
2867		Name:       opGetLogRecord,
2868		HTTPMethod: "POST",
2869		HTTPPath:   "/",
2870	}
2871
2872	if input == nil {
2873		input = &GetLogRecordInput{}
2874	}
2875
2876	output = &GetLogRecordOutput{}
2877	req = c.newRequest(op, input, output)
2878	return
2879}
2880
2881// GetLogRecord API operation for Amazon CloudWatch Logs.
2882//
2883// Retrieves all of the fields and values of a single log event. All fields
2884// are retrieved, even if the original query that produced the logRecordPointer
2885// retrieved only a subset of fields. Fields are returned as field name/field
2886// value pairs.
2887//
2888// The full unparsed log event is returned within @message.
2889//
2890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2891// with awserr.Error's Code and Message methods to get detailed information about
2892// the error.
2893//
2894// See the AWS API reference guide for Amazon CloudWatch Logs's
2895// API operation GetLogRecord for usage and error information.
2896//
2897// Returned Error Types:
2898//   * InvalidParameterException
2899//   A parameter is specified incorrectly.
2900//
2901//   * LimitExceededException
2902//   You have reached the maximum number of resources that can be created.
2903//
2904//   * ResourceNotFoundException
2905//   The specified resource does not exist.
2906//
2907//   * ServiceUnavailableException
2908//   The service cannot complete the request.
2909//
2910// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogRecord
2911func (c *CloudWatchLogs) GetLogRecord(input *GetLogRecordInput) (*GetLogRecordOutput, error) {
2912	req, out := c.GetLogRecordRequest(input)
2913	return out, req.Send()
2914}
2915
2916// GetLogRecordWithContext is the same as GetLogRecord with the addition of
2917// the ability to pass a context and additional request options.
2918//
2919// See GetLogRecord for details on how to use this API operation.
2920//
2921// The context must be non-nil and will be used for request cancellation. If
2922// the context is nil a panic will occur. In the future the SDK may create
2923// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2924// for more information on using Contexts.
2925func (c *CloudWatchLogs) GetLogRecordWithContext(ctx aws.Context, input *GetLogRecordInput, opts ...request.Option) (*GetLogRecordOutput, error) {
2926	req, out := c.GetLogRecordRequest(input)
2927	req.SetContext(ctx)
2928	req.ApplyOptions(opts...)
2929	return out, req.Send()
2930}
2931
2932const opGetQueryResults = "GetQueryResults"
2933
2934// GetQueryResultsRequest generates a "aws/request.Request" representing the
2935// client's request for the GetQueryResults operation. The "output" return
2936// value will be populated with the request's response once the request completes
2937// successfully.
2938//
2939// Use "Send" method on the returned Request to send the API call to the service.
2940// the "output" return value is not valid until after Send returns without error.
2941//
2942// See GetQueryResults for more information on using the GetQueryResults
2943// API call, and error handling.
2944//
2945// This method is useful when you want to inject custom logic or configuration
2946// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2947//
2948//
2949//    // Example sending a request using the GetQueryResultsRequest method.
2950//    req, resp := client.GetQueryResultsRequest(params)
2951//
2952//    err := req.Send()
2953//    if err == nil { // resp is now filled
2954//        fmt.Println(resp)
2955//    }
2956//
2957// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetQueryResults
2958func (c *CloudWatchLogs) GetQueryResultsRequest(input *GetQueryResultsInput) (req *request.Request, output *GetQueryResultsOutput) {
2959	op := &request.Operation{
2960		Name:       opGetQueryResults,
2961		HTTPMethod: "POST",
2962		HTTPPath:   "/",
2963	}
2964
2965	if input == nil {
2966		input = &GetQueryResultsInput{}
2967	}
2968
2969	output = &GetQueryResultsOutput{}
2970	req = c.newRequest(op, input, output)
2971	return
2972}
2973
2974// GetQueryResults API operation for Amazon CloudWatch Logs.
2975//
2976// Returns the results from the specified query.
2977//
2978// Only the fields requested in the query are returned, along with a @ptr field,
2979// which is the identifier for the log record. You can use the value of @ptr
2980// in a GetLogRecord (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogRecord.html)
2981// operation to get the full log record.
2982//
2983// GetQueryResults does not start a query execution. To run a query, use StartQuery
2984// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_StartQuery.html).
2985//
2986// If the value of the Status field in the output is Running, this operation
2987// returns only partial results. If you see a value of Scheduled or Running
2988// for the status, you can retry the operation later to see the final results.
2989//
2990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2991// with awserr.Error's Code and Message methods to get detailed information about
2992// the error.
2993//
2994// See the AWS API reference guide for Amazon CloudWatch Logs's
2995// API operation GetQueryResults for usage and error information.
2996//
2997// Returned Error Types:
2998//   * InvalidParameterException
2999//   A parameter is specified incorrectly.
3000//
3001//   * ResourceNotFoundException
3002//   The specified resource does not exist.
3003//
3004//   * ServiceUnavailableException
3005//   The service cannot complete the request.
3006//
3007// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetQueryResults
3008func (c *CloudWatchLogs) GetQueryResults(input *GetQueryResultsInput) (*GetQueryResultsOutput, error) {
3009	req, out := c.GetQueryResultsRequest(input)
3010	return out, req.Send()
3011}
3012
3013// GetQueryResultsWithContext is the same as GetQueryResults with the addition of
3014// the ability to pass a context and additional request options.
3015//
3016// See GetQueryResults for details on how to use this API operation.
3017//
3018// The context must be non-nil and will be used for request cancellation. If
3019// the context is nil a panic will occur. In the future the SDK may create
3020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3021// for more information on using Contexts.
3022func (c *CloudWatchLogs) GetQueryResultsWithContext(ctx aws.Context, input *GetQueryResultsInput, opts ...request.Option) (*GetQueryResultsOutput, error) {
3023	req, out := c.GetQueryResultsRequest(input)
3024	req.SetContext(ctx)
3025	req.ApplyOptions(opts...)
3026	return out, req.Send()
3027}
3028
3029const opListTagsLogGroup = "ListTagsLogGroup"
3030
3031// ListTagsLogGroupRequest generates a "aws/request.Request" representing the
3032// client's request for the ListTagsLogGroup operation. The "output" return
3033// value will be populated with the request's response once the request completes
3034// successfully.
3035//
3036// Use "Send" method on the returned Request to send the API call to the service.
3037// the "output" return value is not valid until after Send returns without error.
3038//
3039// See ListTagsLogGroup for more information on using the ListTagsLogGroup
3040// API call, and error handling.
3041//
3042// This method is useful when you want to inject custom logic or configuration
3043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3044//
3045//
3046//    // Example sending a request using the ListTagsLogGroupRequest method.
3047//    req, resp := client.ListTagsLogGroupRequest(params)
3048//
3049//    err := req.Send()
3050//    if err == nil { // resp is now filled
3051//        fmt.Println(resp)
3052//    }
3053//
3054// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListTagsLogGroup
3055func (c *CloudWatchLogs) ListTagsLogGroupRequest(input *ListTagsLogGroupInput) (req *request.Request, output *ListTagsLogGroupOutput) {
3056	op := &request.Operation{
3057		Name:       opListTagsLogGroup,
3058		HTTPMethod: "POST",
3059		HTTPPath:   "/",
3060	}
3061
3062	if input == nil {
3063		input = &ListTagsLogGroupInput{}
3064	}
3065
3066	output = &ListTagsLogGroupOutput{}
3067	req = c.newRequest(op, input, output)
3068	return
3069}
3070
3071// ListTagsLogGroup API operation for Amazon CloudWatch Logs.
3072//
3073// Lists the tags for the specified log group.
3074//
3075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3076// with awserr.Error's Code and Message methods to get detailed information about
3077// the error.
3078//
3079// See the AWS API reference guide for Amazon CloudWatch Logs's
3080// API operation ListTagsLogGroup for usage and error information.
3081//
3082// Returned Error Types:
3083//   * ResourceNotFoundException
3084//   The specified resource does not exist.
3085//
3086//   * ServiceUnavailableException
3087//   The service cannot complete the request.
3088//
3089// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListTagsLogGroup
3090func (c *CloudWatchLogs) ListTagsLogGroup(input *ListTagsLogGroupInput) (*ListTagsLogGroupOutput, error) {
3091	req, out := c.ListTagsLogGroupRequest(input)
3092	return out, req.Send()
3093}
3094
3095// ListTagsLogGroupWithContext is the same as ListTagsLogGroup with the addition of
3096// the ability to pass a context and additional request options.
3097//
3098// See ListTagsLogGroup for details on how to use this API operation.
3099//
3100// The context must be non-nil and will be used for request cancellation. If
3101// the context is nil a panic will occur. In the future the SDK may create
3102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3103// for more information on using Contexts.
3104func (c *CloudWatchLogs) ListTagsLogGroupWithContext(ctx aws.Context, input *ListTagsLogGroupInput, opts ...request.Option) (*ListTagsLogGroupOutput, error) {
3105	req, out := c.ListTagsLogGroupRequest(input)
3106	req.SetContext(ctx)
3107	req.ApplyOptions(opts...)
3108	return out, req.Send()
3109}
3110
3111const opPutDestination = "PutDestination"
3112
3113// PutDestinationRequest generates a "aws/request.Request" representing the
3114// client's request for the PutDestination operation. The "output" return
3115// value will be populated with the request's response once the request completes
3116// successfully.
3117//
3118// Use "Send" method on the returned Request to send the API call to the service.
3119// the "output" return value is not valid until after Send returns without error.
3120//
3121// See PutDestination for more information on using the PutDestination
3122// API call, and error handling.
3123//
3124// This method is useful when you want to inject custom logic or configuration
3125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3126//
3127//
3128//    // Example sending a request using the PutDestinationRequest method.
3129//    req, resp := client.PutDestinationRequest(params)
3130//
3131//    err := req.Send()
3132//    if err == nil { // resp is now filled
3133//        fmt.Println(resp)
3134//    }
3135//
3136// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDestination
3137func (c *CloudWatchLogs) PutDestinationRequest(input *PutDestinationInput) (req *request.Request, output *PutDestinationOutput) {
3138	op := &request.Operation{
3139		Name:       opPutDestination,
3140		HTTPMethod: "POST",
3141		HTTPPath:   "/",
3142	}
3143
3144	if input == nil {
3145		input = &PutDestinationInput{}
3146	}
3147
3148	output = &PutDestinationOutput{}
3149	req = c.newRequest(op, input, output)
3150	return
3151}
3152
3153// PutDestination API operation for Amazon CloudWatch Logs.
3154//
3155// Creates or updates a destination. This operation is used only to create destinations
3156// for cross-account subscriptions.
3157//
3158// A destination encapsulates a physical resource (such as an Amazon Kinesis
3159// stream) and enables you to subscribe to a real-time stream of log events
3160// for a different account, ingested using PutLogEvents (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html).
3161//
3162// Through an access policy, a destination controls what is written to it. By
3163// default, PutDestination does not set any access policy with the destination,
3164// which means a cross-account user cannot call PutSubscriptionFilter (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutSubscriptionFilter.html)
3165// against this destination. To enable this, the destination owner must call
3166// PutDestinationPolicy (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDestinationPolicy.html)
3167// after PutDestination.
3168//
3169// To perform a PutDestination operation, you must also have the iam:PassRole
3170// permission.
3171//
3172// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3173// with awserr.Error's Code and Message methods to get detailed information about
3174// the error.
3175//
3176// See the AWS API reference guide for Amazon CloudWatch Logs's
3177// API operation PutDestination for usage and error information.
3178//
3179// Returned Error Types:
3180//   * InvalidParameterException
3181//   A parameter is specified incorrectly.
3182//
3183//   * OperationAbortedException
3184//   Multiple requests to update the same resource were in conflict.
3185//
3186//   * ServiceUnavailableException
3187//   The service cannot complete the request.
3188//
3189// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDestination
3190func (c *CloudWatchLogs) PutDestination(input *PutDestinationInput) (*PutDestinationOutput, error) {
3191	req, out := c.PutDestinationRequest(input)
3192	return out, req.Send()
3193}
3194
3195// PutDestinationWithContext is the same as PutDestination with the addition of
3196// the ability to pass a context and additional request options.
3197//
3198// See PutDestination for details on how to use this API operation.
3199//
3200// The context must be non-nil and will be used for request cancellation. If
3201// the context is nil a panic will occur. In the future the SDK may create
3202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3203// for more information on using Contexts.
3204func (c *CloudWatchLogs) PutDestinationWithContext(ctx aws.Context, input *PutDestinationInput, opts ...request.Option) (*PutDestinationOutput, error) {
3205	req, out := c.PutDestinationRequest(input)
3206	req.SetContext(ctx)
3207	req.ApplyOptions(opts...)
3208	return out, req.Send()
3209}
3210
3211const opPutDestinationPolicy = "PutDestinationPolicy"
3212
3213// PutDestinationPolicyRequest generates a "aws/request.Request" representing the
3214// client's request for the PutDestinationPolicy operation. The "output" return
3215// value will be populated with the request's response once the request completes
3216// successfully.
3217//
3218// Use "Send" method on the returned Request to send the API call to the service.
3219// the "output" return value is not valid until after Send returns without error.
3220//
3221// See PutDestinationPolicy for more information on using the PutDestinationPolicy
3222// API call, and error handling.
3223//
3224// This method is useful when you want to inject custom logic or configuration
3225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3226//
3227//
3228//    // Example sending a request using the PutDestinationPolicyRequest method.
3229//    req, resp := client.PutDestinationPolicyRequest(params)
3230//
3231//    err := req.Send()
3232//    if err == nil { // resp is now filled
3233//        fmt.Println(resp)
3234//    }
3235//
3236// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDestinationPolicy
3237func (c *CloudWatchLogs) PutDestinationPolicyRequest(input *PutDestinationPolicyInput) (req *request.Request, output *PutDestinationPolicyOutput) {
3238	op := &request.Operation{
3239		Name:       opPutDestinationPolicy,
3240		HTTPMethod: "POST",
3241		HTTPPath:   "/",
3242	}
3243
3244	if input == nil {
3245		input = &PutDestinationPolicyInput{}
3246	}
3247
3248	output = &PutDestinationPolicyOutput{}
3249	req = c.newRequest(op, input, output)
3250	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3251	return
3252}
3253
3254// PutDestinationPolicy API operation for Amazon CloudWatch Logs.
3255//
3256// Creates or updates an access policy associated with an existing destination.
3257// An access policy is an IAM policy document (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_overview.html)
3258// that is used to authorize claims to register a subscription filter against
3259// a given destination.
3260//
3261// If multiple Amazon Web Services accounts are sending logs to this destination,
3262// each sender account must be listed separately in the policy. The policy does
3263// not support specifying * as the Principal or the use of the aws:PrincipalOrgId
3264// global key.
3265//
3266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3267// with awserr.Error's Code and Message methods to get detailed information about
3268// the error.
3269//
3270// See the AWS API reference guide for Amazon CloudWatch Logs's
3271// API operation PutDestinationPolicy for usage and error information.
3272//
3273// Returned Error Types:
3274//   * InvalidParameterException
3275//   A parameter is specified incorrectly.
3276//
3277//   * OperationAbortedException
3278//   Multiple requests to update the same resource were in conflict.
3279//
3280//   * ServiceUnavailableException
3281//   The service cannot complete the request.
3282//
3283// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDestinationPolicy
3284func (c *CloudWatchLogs) PutDestinationPolicy(input *PutDestinationPolicyInput) (*PutDestinationPolicyOutput, error) {
3285	req, out := c.PutDestinationPolicyRequest(input)
3286	return out, req.Send()
3287}
3288
3289// PutDestinationPolicyWithContext is the same as PutDestinationPolicy with the addition of
3290// the ability to pass a context and additional request options.
3291//
3292// See PutDestinationPolicy for details on how to use this API operation.
3293//
3294// The context must be non-nil and will be used for request cancellation. If
3295// the context is nil a panic will occur. In the future the SDK may create
3296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3297// for more information on using Contexts.
3298func (c *CloudWatchLogs) PutDestinationPolicyWithContext(ctx aws.Context, input *PutDestinationPolicyInput, opts ...request.Option) (*PutDestinationPolicyOutput, error) {
3299	req, out := c.PutDestinationPolicyRequest(input)
3300	req.SetContext(ctx)
3301	req.ApplyOptions(opts...)
3302	return out, req.Send()
3303}
3304
3305const opPutLogEvents = "PutLogEvents"
3306
3307// PutLogEventsRequest generates a "aws/request.Request" representing the
3308// client's request for the PutLogEvents operation. The "output" return
3309// value will be populated with the request's response once the request completes
3310// successfully.
3311//
3312// Use "Send" method on the returned Request to send the API call to the service.
3313// the "output" return value is not valid until after Send returns without error.
3314//
3315// See PutLogEvents for more information on using the PutLogEvents
3316// API call, and error handling.
3317//
3318// This method is useful when you want to inject custom logic or configuration
3319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3320//
3321//
3322//    // Example sending a request using the PutLogEventsRequest method.
3323//    req, resp := client.PutLogEventsRequest(params)
3324//
3325//    err := req.Send()
3326//    if err == nil { // resp is now filled
3327//        fmt.Println(resp)
3328//    }
3329//
3330// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutLogEvents
3331func (c *CloudWatchLogs) PutLogEventsRequest(input *PutLogEventsInput) (req *request.Request, output *PutLogEventsOutput) {
3332	op := &request.Operation{
3333		Name:       opPutLogEvents,
3334		HTTPMethod: "POST",
3335		HTTPPath:   "/",
3336	}
3337
3338	if input == nil {
3339		input = &PutLogEventsInput{}
3340	}
3341
3342	output = &PutLogEventsOutput{}
3343	req = c.newRequest(op, input, output)
3344	return
3345}
3346
3347// PutLogEvents API operation for Amazon CloudWatch Logs.
3348//
3349// Uploads a batch of log events to the specified log stream.
3350//
3351// You must include the sequence token obtained from the response of the previous
3352// call. An upload in a newly created log stream does not require a sequence
3353// token. You can also get the sequence token in the expectedSequenceToken field
3354// from InvalidSequenceTokenException. If you call PutLogEvents twice within
3355// a narrow time period using the same value for sequenceToken, both calls might
3356// be successful or one might be rejected.
3357//
3358// The batch of events must satisfy the following constraints:
3359//
3360//    * The maximum batch size is 1,048,576 bytes. This size is calculated as
3361//    the sum of all event messages in UTF-8, plus 26 bytes for each log event.
3362//
3363//    * None of the log events in the batch can be more than 2 hours in the
3364//    future.
3365//
3366//    * None of the log events in the batch can be older than 14 days or older
3367//    than the retention period of the log group.
3368//
3369//    * The log events in the batch must be in chronological order by their
3370//    timestamp. The timestamp is the time the event occurred, expressed as
3371//    the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In Amazon
3372//    Web Services Tools for PowerShell and the Amazon Web Services SDK for
3373//    .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss.
3374//    For example, 2017-09-15T13:45:30.)
3375//
3376//    * A batch of log events in a single request cannot span more than 24 hours.
3377//    Otherwise, the operation fails.
3378//
3379//    * The maximum number of log events in a batch is 10,000.
3380//
3381//    * There is a quota of 5 requests per second per log stream. Additional
3382//    requests are throttled. This quota can't be changed.
3383//
3384// If a call to PutLogEvents returns "UnrecognizedClientException" the most
3385// likely cause is an invalid Amazon Web Services access key ID or secret key.
3386//
3387// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3388// with awserr.Error's Code and Message methods to get detailed information about
3389// the error.
3390//
3391// See the AWS API reference guide for Amazon CloudWatch Logs's
3392// API operation PutLogEvents for usage and error information.
3393//
3394// Returned Error Types:
3395//   * InvalidParameterException
3396//   A parameter is specified incorrectly.
3397//
3398//   * InvalidSequenceTokenException
3399//   The sequence token is not valid. You can get the correct sequence token in
3400//   the expectedSequenceToken field in the InvalidSequenceTokenException message.
3401//
3402//   * DataAlreadyAcceptedException
3403//   The event was already logged.
3404//
3405//   * ResourceNotFoundException
3406//   The specified resource does not exist.
3407//
3408//   * ServiceUnavailableException
3409//   The service cannot complete the request.
3410//
3411//   * UnrecognizedClientException
3412//   The most likely cause is an invalid Amazon Web Services access key ID or
3413//   secret key.
3414//
3415// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutLogEvents
3416func (c *CloudWatchLogs) PutLogEvents(input *PutLogEventsInput) (*PutLogEventsOutput, error) {
3417	req, out := c.PutLogEventsRequest(input)
3418	return out, req.Send()
3419}
3420
3421// PutLogEventsWithContext is the same as PutLogEvents with the addition of
3422// the ability to pass a context and additional request options.
3423//
3424// See PutLogEvents for details on how to use this API operation.
3425//
3426// The context must be non-nil and will be used for request cancellation. If
3427// the context is nil a panic will occur. In the future the SDK may create
3428// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3429// for more information on using Contexts.
3430func (c *CloudWatchLogs) PutLogEventsWithContext(ctx aws.Context, input *PutLogEventsInput, opts ...request.Option) (*PutLogEventsOutput, error) {
3431	req, out := c.PutLogEventsRequest(input)
3432	req.SetContext(ctx)
3433	req.ApplyOptions(opts...)
3434	return out, req.Send()
3435}
3436
3437const opPutMetricFilter = "PutMetricFilter"
3438
3439// PutMetricFilterRequest generates a "aws/request.Request" representing the
3440// client's request for the PutMetricFilter operation. The "output" return
3441// value will be populated with the request's response once the request completes
3442// successfully.
3443//
3444// Use "Send" method on the returned Request to send the API call to the service.
3445// the "output" return value is not valid until after Send returns without error.
3446//
3447// See PutMetricFilter for more information on using the PutMetricFilter
3448// API call, and error handling.
3449//
3450// This method is useful when you want to inject custom logic or configuration
3451// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3452//
3453//
3454//    // Example sending a request using the PutMetricFilterRequest method.
3455//    req, resp := client.PutMetricFilterRequest(params)
3456//
3457//    err := req.Send()
3458//    if err == nil { // resp is now filled
3459//        fmt.Println(resp)
3460//    }
3461//
3462// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutMetricFilter
3463func (c *CloudWatchLogs) PutMetricFilterRequest(input *PutMetricFilterInput) (req *request.Request, output *PutMetricFilterOutput) {
3464	op := &request.Operation{
3465		Name:       opPutMetricFilter,
3466		HTTPMethod: "POST",
3467		HTTPPath:   "/",
3468	}
3469
3470	if input == nil {
3471		input = &PutMetricFilterInput{}
3472	}
3473
3474	output = &PutMetricFilterOutput{}
3475	req = c.newRequest(op, input, output)
3476	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3477	return
3478}
3479
3480// PutMetricFilter API operation for Amazon CloudWatch Logs.
3481//
3482// Creates or updates a metric filter and associates it with the specified log
3483// group. Metric filters allow you to configure rules to extract metric data
3484// from log events ingested through PutLogEvents (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html).
3485//
3486// The maximum number of metric filters that can be associated with a log group
3487// is 100.
3488//
3489// When you create a metric filter, you can also optionally assign a unit and
3490// dimensions to the metric that is created.
3491//
3492// Metrics extracted from log events are charged as custom metrics. To prevent
3493// unexpected high charges, do not specify high-cardinality fields such as IPAddress
3494// or requestID as dimensions. Each different value found for a dimension is
3495// treated as a separate metric and accrues charges as a separate custom metric.
3496//
3497// To help prevent accidental high charges, Amazon disables a metric filter
3498// if it generates 1000 different name/value pairs for the dimensions that you
3499// have specified within a certain amount of time.
3500//
3501// You can also set up a billing alarm to alert you if your charges are higher
3502// than expected. For more information, see Creating a Billing Alarm to Monitor
3503// Your Estimated Amazon Web Services Charges (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html).
3504//
3505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3506// with awserr.Error's Code and Message methods to get detailed information about
3507// the error.
3508//
3509// See the AWS API reference guide for Amazon CloudWatch Logs's
3510// API operation PutMetricFilter for usage and error information.
3511//
3512// Returned Error Types:
3513//   * InvalidParameterException
3514//   A parameter is specified incorrectly.
3515//
3516//   * ResourceNotFoundException
3517//   The specified resource does not exist.
3518//
3519//   * OperationAbortedException
3520//   Multiple requests to update the same resource were in conflict.
3521//
3522//   * LimitExceededException
3523//   You have reached the maximum number of resources that can be created.
3524//
3525//   * ServiceUnavailableException
3526//   The service cannot complete the request.
3527//
3528// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutMetricFilter
3529func (c *CloudWatchLogs) PutMetricFilter(input *PutMetricFilterInput) (*PutMetricFilterOutput, error) {
3530	req, out := c.PutMetricFilterRequest(input)
3531	return out, req.Send()
3532}
3533
3534// PutMetricFilterWithContext is the same as PutMetricFilter with the addition of
3535// the ability to pass a context and additional request options.
3536//
3537// See PutMetricFilter for details on how to use this API operation.
3538//
3539// The context must be non-nil and will be used for request cancellation. If
3540// the context is nil a panic will occur. In the future the SDK may create
3541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3542// for more information on using Contexts.
3543func (c *CloudWatchLogs) PutMetricFilterWithContext(ctx aws.Context, input *PutMetricFilterInput, opts ...request.Option) (*PutMetricFilterOutput, error) {
3544	req, out := c.PutMetricFilterRequest(input)
3545	req.SetContext(ctx)
3546	req.ApplyOptions(opts...)
3547	return out, req.Send()
3548}
3549
3550const opPutQueryDefinition = "PutQueryDefinition"
3551
3552// PutQueryDefinitionRequest generates a "aws/request.Request" representing the
3553// client's request for the PutQueryDefinition operation. The "output" return
3554// value will be populated with the request's response once the request completes
3555// successfully.
3556//
3557// Use "Send" method on the returned Request to send the API call to the service.
3558// the "output" return value is not valid until after Send returns without error.
3559//
3560// See PutQueryDefinition for more information on using the PutQueryDefinition
3561// API call, and error handling.
3562//
3563// This method is useful when you want to inject custom logic or configuration
3564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3565//
3566//
3567//    // Example sending a request using the PutQueryDefinitionRequest method.
3568//    req, resp := client.PutQueryDefinitionRequest(params)
3569//
3570//    err := req.Send()
3571//    if err == nil { // resp is now filled
3572//        fmt.Println(resp)
3573//    }
3574//
3575// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutQueryDefinition
3576func (c *CloudWatchLogs) PutQueryDefinitionRequest(input *PutQueryDefinitionInput) (req *request.Request, output *PutQueryDefinitionOutput) {
3577	op := &request.Operation{
3578		Name:       opPutQueryDefinition,
3579		HTTPMethod: "POST",
3580		HTTPPath:   "/",
3581	}
3582
3583	if input == nil {
3584		input = &PutQueryDefinitionInput{}
3585	}
3586
3587	output = &PutQueryDefinitionOutput{}
3588	req = c.newRequest(op, input, output)
3589	return
3590}
3591
3592// PutQueryDefinition API operation for Amazon CloudWatch Logs.
3593//
3594// Creates or updates a query definition for CloudWatch Logs Insights. For more
3595// information, see Analyzing Log Data with CloudWatch Logs Insights (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).
3596//
3597// To update a query definition, specify its queryDefinitionId in your request.
3598// The values of name, queryString, and logGroupNames are changed to the values
3599// that you specify in your update operation. No current values are retained
3600// from the current query definition. For example, if you update a current query
3601// definition that includes log groups, and you don't specify the logGroupNames
3602// parameter in your update operation, the query definition changes to contain
3603// no log groups.
3604//
3605// You must have the logs:PutQueryDefinition permission to be able to perform
3606// this operation.
3607//
3608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3609// with awserr.Error's Code and Message methods to get detailed information about
3610// the error.
3611//
3612// See the AWS API reference guide for Amazon CloudWatch Logs's
3613// API operation PutQueryDefinition for usage and error information.
3614//
3615// Returned Error Types:
3616//   * InvalidParameterException
3617//   A parameter is specified incorrectly.
3618//
3619//   * ResourceNotFoundException
3620//   The specified resource does not exist.
3621//
3622//   * ServiceUnavailableException
3623//   The service cannot complete the request.
3624//
3625// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutQueryDefinition
3626func (c *CloudWatchLogs) PutQueryDefinition(input *PutQueryDefinitionInput) (*PutQueryDefinitionOutput, error) {
3627	req, out := c.PutQueryDefinitionRequest(input)
3628	return out, req.Send()
3629}
3630
3631// PutQueryDefinitionWithContext is the same as PutQueryDefinition with the addition of
3632// the ability to pass a context and additional request options.
3633//
3634// See PutQueryDefinition for details on how to use this API operation.
3635//
3636// The context must be non-nil and will be used for request cancellation. If
3637// the context is nil a panic will occur. In the future the SDK may create
3638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3639// for more information on using Contexts.
3640func (c *CloudWatchLogs) PutQueryDefinitionWithContext(ctx aws.Context, input *PutQueryDefinitionInput, opts ...request.Option) (*PutQueryDefinitionOutput, error) {
3641	req, out := c.PutQueryDefinitionRequest(input)
3642	req.SetContext(ctx)
3643	req.ApplyOptions(opts...)
3644	return out, req.Send()
3645}
3646
3647const opPutResourcePolicy = "PutResourcePolicy"
3648
3649// PutResourcePolicyRequest generates a "aws/request.Request" representing the
3650// client's request for the PutResourcePolicy operation. The "output" return
3651// value will be populated with the request's response once the request completes
3652// successfully.
3653//
3654// Use "Send" method on the returned Request to send the API call to the service.
3655// the "output" return value is not valid until after Send returns without error.
3656//
3657// See PutResourcePolicy for more information on using the PutResourcePolicy
3658// API call, and error handling.
3659//
3660// This method is useful when you want to inject custom logic or configuration
3661// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3662//
3663//
3664//    // Example sending a request using the PutResourcePolicyRequest method.
3665//    req, resp := client.PutResourcePolicyRequest(params)
3666//
3667//    err := req.Send()
3668//    if err == nil { // resp is now filled
3669//        fmt.Println(resp)
3670//    }
3671//
3672// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutResourcePolicy
3673func (c *CloudWatchLogs) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) {
3674	op := &request.Operation{
3675		Name:       opPutResourcePolicy,
3676		HTTPMethod: "POST",
3677		HTTPPath:   "/",
3678	}
3679
3680	if input == nil {
3681		input = &PutResourcePolicyInput{}
3682	}
3683
3684	output = &PutResourcePolicyOutput{}
3685	req = c.newRequest(op, input, output)
3686	return
3687}
3688
3689// PutResourcePolicy API operation for Amazon CloudWatch Logs.
3690//
3691// Creates or updates a resource policy allowing other Amazon Web Services services
3692// to put log events to this account, such as Amazon Route 53. An account can
3693// have up to 10 resource policies per Amazon Web Services Region.
3694//
3695// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3696// with awserr.Error's Code and Message methods to get detailed information about
3697// the error.
3698//
3699// See the AWS API reference guide for Amazon CloudWatch Logs's
3700// API operation PutResourcePolicy for usage and error information.
3701//
3702// Returned Error Types:
3703//   * InvalidParameterException
3704//   A parameter is specified incorrectly.
3705//
3706//   * LimitExceededException
3707//   You have reached the maximum number of resources that can be created.
3708//
3709//   * ServiceUnavailableException
3710//   The service cannot complete the request.
3711//
3712// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutResourcePolicy
3713func (c *CloudWatchLogs) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) {
3714	req, out := c.PutResourcePolicyRequest(input)
3715	return out, req.Send()
3716}
3717
3718// PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of
3719// the ability to pass a context and additional request options.
3720//
3721// See PutResourcePolicy for details on how to use this API operation.
3722//
3723// The context must be non-nil and will be used for request cancellation. If
3724// the context is nil a panic will occur. In the future the SDK may create
3725// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3726// for more information on using Contexts.
3727func (c *CloudWatchLogs) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) {
3728	req, out := c.PutResourcePolicyRequest(input)
3729	req.SetContext(ctx)
3730	req.ApplyOptions(opts...)
3731	return out, req.Send()
3732}
3733
3734const opPutRetentionPolicy = "PutRetentionPolicy"
3735
3736// PutRetentionPolicyRequest generates a "aws/request.Request" representing the
3737// client's request for the PutRetentionPolicy operation. The "output" return
3738// value will be populated with the request's response once the request completes
3739// successfully.
3740//
3741// Use "Send" method on the returned Request to send the API call to the service.
3742// the "output" return value is not valid until after Send returns without error.
3743//
3744// See PutRetentionPolicy for more information on using the PutRetentionPolicy
3745// API call, and error handling.
3746//
3747// This method is useful when you want to inject custom logic or configuration
3748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3749//
3750//
3751//    // Example sending a request using the PutRetentionPolicyRequest method.
3752//    req, resp := client.PutRetentionPolicyRequest(params)
3753//
3754//    err := req.Send()
3755//    if err == nil { // resp is now filled
3756//        fmt.Println(resp)
3757//    }
3758//
3759// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutRetentionPolicy
3760func (c *CloudWatchLogs) PutRetentionPolicyRequest(input *PutRetentionPolicyInput) (req *request.Request, output *PutRetentionPolicyOutput) {
3761	op := &request.Operation{
3762		Name:       opPutRetentionPolicy,
3763		HTTPMethod: "POST",
3764		HTTPPath:   "/",
3765	}
3766
3767	if input == nil {
3768		input = &PutRetentionPolicyInput{}
3769	}
3770
3771	output = &PutRetentionPolicyOutput{}
3772	req = c.newRequest(op, input, output)
3773	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3774	return
3775}
3776
3777// PutRetentionPolicy API operation for Amazon CloudWatch Logs.
3778//
3779// Sets the retention of the specified log group. A retention policy allows
3780// you to configure the number of days for which to retain log events in the
3781// specified log group.
3782//
3783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3784// with awserr.Error's Code and Message methods to get detailed information about
3785// the error.
3786//
3787// See the AWS API reference guide for Amazon CloudWatch Logs's
3788// API operation PutRetentionPolicy for usage and error information.
3789//
3790// Returned Error Types:
3791//   * InvalidParameterException
3792//   A parameter is specified incorrectly.
3793//
3794//   * ResourceNotFoundException
3795//   The specified resource does not exist.
3796//
3797//   * OperationAbortedException
3798//   Multiple requests to update the same resource were in conflict.
3799//
3800//   * ServiceUnavailableException
3801//   The service cannot complete the request.
3802//
3803// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutRetentionPolicy
3804func (c *CloudWatchLogs) PutRetentionPolicy(input *PutRetentionPolicyInput) (*PutRetentionPolicyOutput, error) {
3805	req, out := c.PutRetentionPolicyRequest(input)
3806	return out, req.Send()
3807}
3808
3809// PutRetentionPolicyWithContext is the same as PutRetentionPolicy with the addition of
3810// the ability to pass a context and additional request options.
3811//
3812// See PutRetentionPolicy for details on how to use this API operation.
3813//
3814// The context must be non-nil and will be used for request cancellation. If
3815// the context is nil a panic will occur. In the future the SDK may create
3816// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3817// for more information on using Contexts.
3818func (c *CloudWatchLogs) PutRetentionPolicyWithContext(ctx aws.Context, input *PutRetentionPolicyInput, opts ...request.Option) (*PutRetentionPolicyOutput, error) {
3819	req, out := c.PutRetentionPolicyRequest(input)
3820	req.SetContext(ctx)
3821	req.ApplyOptions(opts...)
3822	return out, req.Send()
3823}
3824
3825const opPutSubscriptionFilter = "PutSubscriptionFilter"
3826
3827// PutSubscriptionFilterRequest generates a "aws/request.Request" representing the
3828// client's request for the PutSubscriptionFilter operation. The "output" return
3829// value will be populated with the request's response once the request completes
3830// successfully.
3831//
3832// Use "Send" method on the returned Request to send the API call to the service.
3833// the "output" return value is not valid until after Send returns without error.
3834//
3835// See PutSubscriptionFilter for more information on using the PutSubscriptionFilter
3836// API call, and error handling.
3837//
3838// This method is useful when you want to inject custom logic or configuration
3839// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3840//
3841//
3842//    // Example sending a request using the PutSubscriptionFilterRequest method.
3843//    req, resp := client.PutSubscriptionFilterRequest(params)
3844//
3845//    err := req.Send()
3846//    if err == nil { // resp is now filled
3847//        fmt.Println(resp)
3848//    }
3849//
3850// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutSubscriptionFilter
3851func (c *CloudWatchLogs) PutSubscriptionFilterRequest(input *PutSubscriptionFilterInput) (req *request.Request, output *PutSubscriptionFilterOutput) {
3852	op := &request.Operation{
3853		Name:       opPutSubscriptionFilter,
3854		HTTPMethod: "POST",
3855		HTTPPath:   "/",
3856	}
3857
3858	if input == nil {
3859		input = &PutSubscriptionFilterInput{}
3860	}
3861
3862	output = &PutSubscriptionFilterOutput{}
3863	req = c.newRequest(op, input, output)
3864	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3865	return
3866}
3867
3868// PutSubscriptionFilter API operation for Amazon CloudWatch Logs.
3869//
3870// Creates or updates a subscription filter and associates it with the specified
3871// log group. Subscription filters allow you to subscribe to a real-time stream
3872// of log events ingested through PutLogEvents (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html)
3873// and have them delivered to a specific destination. When log events are sent
3874// to the receiving service, they are Base64 encoded and compressed with the
3875// gzip format.
3876//
3877// The following destinations are supported for subscription filters:
3878//
3879//    * An Amazon Kinesis stream belonging to the same account as the subscription
3880//    filter, for same-account delivery.
3881//
3882//    * A logical destination that belongs to a different account, for cross-account
3883//    delivery.
3884//
3885//    * An Amazon Kinesis Firehose delivery stream that belongs to the same
3886//    account as the subscription filter, for same-account delivery.
3887//
3888//    * An Lambda function that belongs to the same account as the subscription
3889//    filter, for same-account delivery.
3890//
3891// Each log group can have up to two subscription filters associated with it.
3892// If you are updating an existing filter, you must specify the correct name
3893// in filterName.
3894//
3895// To perform a PutSubscriptionFilter operation, you must also have the iam:PassRole
3896// permission.
3897//
3898// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3899// with awserr.Error's Code and Message methods to get detailed information about
3900// the error.
3901//
3902// See the AWS API reference guide for Amazon CloudWatch Logs's
3903// API operation PutSubscriptionFilter for usage and error information.
3904//
3905// Returned Error Types:
3906//   * InvalidParameterException
3907//   A parameter is specified incorrectly.
3908//
3909//   * ResourceNotFoundException
3910//   The specified resource does not exist.
3911//
3912//   * OperationAbortedException
3913//   Multiple requests to update the same resource were in conflict.
3914//
3915//   * LimitExceededException
3916//   You have reached the maximum number of resources that can be created.
3917//
3918//   * ServiceUnavailableException
3919//   The service cannot complete the request.
3920//
3921// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutSubscriptionFilter
3922func (c *CloudWatchLogs) PutSubscriptionFilter(input *PutSubscriptionFilterInput) (*PutSubscriptionFilterOutput, error) {
3923	req, out := c.PutSubscriptionFilterRequest(input)
3924	return out, req.Send()
3925}
3926
3927// PutSubscriptionFilterWithContext is the same as PutSubscriptionFilter with the addition of
3928// the ability to pass a context and additional request options.
3929//
3930// See PutSubscriptionFilter for details on how to use this API operation.
3931//
3932// The context must be non-nil and will be used for request cancellation. If
3933// the context is nil a panic will occur. In the future the SDK may create
3934// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3935// for more information on using Contexts.
3936func (c *CloudWatchLogs) PutSubscriptionFilterWithContext(ctx aws.Context, input *PutSubscriptionFilterInput, opts ...request.Option) (*PutSubscriptionFilterOutput, error) {
3937	req, out := c.PutSubscriptionFilterRequest(input)
3938	req.SetContext(ctx)
3939	req.ApplyOptions(opts...)
3940	return out, req.Send()
3941}
3942
3943const opStartQuery = "StartQuery"
3944
3945// StartQueryRequest generates a "aws/request.Request" representing the
3946// client's request for the StartQuery operation. The "output" return
3947// value will be populated with the request's response once the request completes
3948// successfully.
3949//
3950// Use "Send" method on the returned Request to send the API call to the service.
3951// the "output" return value is not valid until after Send returns without error.
3952//
3953// See StartQuery for more information on using the StartQuery
3954// API call, and error handling.
3955//
3956// This method is useful when you want to inject custom logic or configuration
3957// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3958//
3959//
3960//    // Example sending a request using the StartQueryRequest method.
3961//    req, resp := client.StartQueryRequest(params)
3962//
3963//    err := req.Send()
3964//    if err == nil { // resp is now filled
3965//        fmt.Println(resp)
3966//    }
3967//
3968// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StartQuery
3969func (c *CloudWatchLogs) StartQueryRequest(input *StartQueryInput) (req *request.Request, output *StartQueryOutput) {
3970	op := &request.Operation{
3971		Name:       opStartQuery,
3972		HTTPMethod: "POST",
3973		HTTPPath:   "/",
3974	}
3975
3976	if input == nil {
3977		input = &StartQueryInput{}
3978	}
3979
3980	output = &StartQueryOutput{}
3981	req = c.newRequest(op, input, output)
3982	return
3983}
3984
3985// StartQuery API operation for Amazon CloudWatch Logs.
3986//
3987// Schedules a query of a log group using CloudWatch Logs Insights. You specify
3988// the log group and time range to query and the query string to use.
3989//
3990// For more information, see CloudWatch Logs Insights Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
3991//
3992// Queries time out after 15 minutes of execution. If your queries are timing
3993// out, reduce the time range being searched or partition your query into a
3994// number of queries.
3995//
3996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3997// with awserr.Error's Code and Message methods to get detailed information about
3998// the error.
3999//
4000// See the AWS API reference guide for Amazon CloudWatch Logs's
4001// API operation StartQuery for usage and error information.
4002//
4003// Returned Error Types:
4004//   * MalformedQueryException
4005//   The query string is not valid. Details about this error are displayed in
4006//   a QueryCompileError object. For more information, see QueryCompileError (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_QueryCompileError.html).
4007//
4008//   For more information about valid query syntax, see CloudWatch Logs Insights
4009//   Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
4010//
4011//   * InvalidParameterException
4012//   A parameter is specified incorrectly.
4013//
4014//   * LimitExceededException
4015//   You have reached the maximum number of resources that can be created.
4016//
4017//   * ResourceNotFoundException
4018//   The specified resource does not exist.
4019//
4020//   * ServiceUnavailableException
4021//   The service cannot complete the request.
4022//
4023// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StartQuery
4024func (c *CloudWatchLogs) StartQuery(input *StartQueryInput) (*StartQueryOutput, error) {
4025	req, out := c.StartQueryRequest(input)
4026	return out, req.Send()
4027}
4028
4029// StartQueryWithContext is the same as StartQuery with the addition of
4030// the ability to pass a context and additional request options.
4031//
4032// See StartQuery for details on how to use this API operation.
4033//
4034// The context must be non-nil and will be used for request cancellation. If
4035// the context is nil a panic will occur. In the future the SDK may create
4036// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4037// for more information on using Contexts.
4038func (c *CloudWatchLogs) StartQueryWithContext(ctx aws.Context, input *StartQueryInput, opts ...request.Option) (*StartQueryOutput, error) {
4039	req, out := c.StartQueryRequest(input)
4040	req.SetContext(ctx)
4041	req.ApplyOptions(opts...)
4042	return out, req.Send()
4043}
4044
4045const opStopQuery = "StopQuery"
4046
4047// StopQueryRequest generates a "aws/request.Request" representing the
4048// client's request for the StopQuery operation. The "output" return
4049// value will be populated with the request's response once the request completes
4050// successfully.
4051//
4052// Use "Send" method on the returned Request to send the API call to the service.
4053// the "output" return value is not valid until after Send returns without error.
4054//
4055// See StopQuery for more information on using the StopQuery
4056// API call, and error handling.
4057//
4058// This method is useful when you want to inject custom logic or configuration
4059// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4060//
4061//
4062//    // Example sending a request using the StopQueryRequest method.
4063//    req, resp := client.StopQueryRequest(params)
4064//
4065//    err := req.Send()
4066//    if err == nil { // resp is now filled
4067//        fmt.Println(resp)
4068//    }
4069//
4070// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StopQuery
4071func (c *CloudWatchLogs) StopQueryRequest(input *StopQueryInput) (req *request.Request, output *StopQueryOutput) {
4072	op := &request.Operation{
4073		Name:       opStopQuery,
4074		HTTPMethod: "POST",
4075		HTTPPath:   "/",
4076	}
4077
4078	if input == nil {
4079		input = &StopQueryInput{}
4080	}
4081
4082	output = &StopQueryOutput{}
4083	req = c.newRequest(op, input, output)
4084	return
4085}
4086
4087// StopQuery API operation for Amazon CloudWatch Logs.
4088//
4089// Stops a CloudWatch Logs Insights query that is in progress. If the query
4090// has already ended, the operation returns an error indicating that the specified
4091// query is not running.
4092//
4093// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4094// with awserr.Error's Code and Message methods to get detailed information about
4095// the error.
4096//
4097// See the AWS API reference guide for Amazon CloudWatch Logs's
4098// API operation StopQuery for usage and error information.
4099//
4100// Returned Error Types:
4101//   * InvalidParameterException
4102//   A parameter is specified incorrectly.
4103//
4104//   * ResourceNotFoundException
4105//   The specified resource does not exist.
4106//
4107//   * ServiceUnavailableException
4108//   The service cannot complete the request.
4109//
4110// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StopQuery
4111func (c *CloudWatchLogs) StopQuery(input *StopQueryInput) (*StopQueryOutput, error) {
4112	req, out := c.StopQueryRequest(input)
4113	return out, req.Send()
4114}
4115
4116// StopQueryWithContext is the same as StopQuery with the addition of
4117// the ability to pass a context and additional request options.
4118//
4119// See StopQuery for details on how to use this API operation.
4120//
4121// The context must be non-nil and will be used for request cancellation. If
4122// the context is nil a panic will occur. In the future the SDK may create
4123// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4124// for more information on using Contexts.
4125func (c *CloudWatchLogs) StopQueryWithContext(ctx aws.Context, input *StopQueryInput, opts ...request.Option) (*StopQueryOutput, error) {
4126	req, out := c.StopQueryRequest(input)
4127	req.SetContext(ctx)
4128	req.ApplyOptions(opts...)
4129	return out, req.Send()
4130}
4131
4132const opTagLogGroup = "TagLogGroup"
4133
4134// TagLogGroupRequest generates a "aws/request.Request" representing the
4135// client's request for the TagLogGroup operation. The "output" return
4136// value will be populated with the request's response once the request completes
4137// successfully.
4138//
4139// Use "Send" method on the returned Request to send the API call to the service.
4140// the "output" return value is not valid until after Send returns without error.
4141//
4142// See TagLogGroup for more information on using the TagLogGroup
4143// API call, and error handling.
4144//
4145// This method is useful when you want to inject custom logic or configuration
4146// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4147//
4148//
4149//    // Example sending a request using the TagLogGroupRequest method.
4150//    req, resp := client.TagLogGroupRequest(params)
4151//
4152//    err := req.Send()
4153//    if err == nil { // resp is now filled
4154//        fmt.Println(resp)
4155//    }
4156//
4157// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TagLogGroup
4158func (c *CloudWatchLogs) TagLogGroupRequest(input *TagLogGroupInput) (req *request.Request, output *TagLogGroupOutput) {
4159	op := &request.Operation{
4160		Name:       opTagLogGroup,
4161		HTTPMethod: "POST",
4162		HTTPPath:   "/",
4163	}
4164
4165	if input == nil {
4166		input = &TagLogGroupInput{}
4167	}
4168
4169	output = &TagLogGroupOutput{}
4170	req = c.newRequest(op, input, output)
4171	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4172	return
4173}
4174
4175// TagLogGroup API operation for Amazon CloudWatch Logs.
4176//
4177// Adds or updates the specified tags for the specified log group.
4178//
4179// To list the tags for a log group, use ListTagsLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsLogGroup.html).
4180// To remove tags, use UntagLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_UntagLogGroup.html).
4181//
4182// For more information about tags, see Tag Log Groups in Amazon CloudWatch
4183// Logs (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#log-group-tagging)
4184// in the Amazon CloudWatch Logs User Guide.
4185//
4186// CloudWatch Logs doesn’t support IAM policies that prevent users from assigning
4187// specified tags to log groups using the aws:Resource/key-name or aws:TagKeys
4188// condition keys. For more information about using tags to control access,
4189// see Controlling access to Amazon Web Services resources using tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).
4190//
4191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4192// with awserr.Error's Code and Message methods to get detailed information about
4193// the error.
4194//
4195// See the AWS API reference guide for Amazon CloudWatch Logs's
4196// API operation TagLogGroup for usage and error information.
4197//
4198// Returned Error Types:
4199//   * ResourceNotFoundException
4200//   The specified resource does not exist.
4201//
4202//   * InvalidParameterException
4203//   A parameter is specified incorrectly.
4204//
4205// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TagLogGroup
4206func (c *CloudWatchLogs) TagLogGroup(input *TagLogGroupInput) (*TagLogGroupOutput, error) {
4207	req, out := c.TagLogGroupRequest(input)
4208	return out, req.Send()
4209}
4210
4211// TagLogGroupWithContext is the same as TagLogGroup with the addition of
4212// the ability to pass a context and additional request options.
4213//
4214// See TagLogGroup for details on how to use this API operation.
4215//
4216// The context must be non-nil and will be used for request cancellation. If
4217// the context is nil a panic will occur. In the future the SDK may create
4218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4219// for more information on using Contexts.
4220func (c *CloudWatchLogs) TagLogGroupWithContext(ctx aws.Context, input *TagLogGroupInput, opts ...request.Option) (*TagLogGroupOutput, error) {
4221	req, out := c.TagLogGroupRequest(input)
4222	req.SetContext(ctx)
4223	req.ApplyOptions(opts...)
4224	return out, req.Send()
4225}
4226
4227const opTestMetricFilter = "TestMetricFilter"
4228
4229// TestMetricFilterRequest generates a "aws/request.Request" representing the
4230// client's request for the TestMetricFilter operation. The "output" return
4231// value will be populated with the request's response once the request completes
4232// successfully.
4233//
4234// Use "Send" method on the returned Request to send the API call to the service.
4235// the "output" return value is not valid until after Send returns without error.
4236//
4237// See TestMetricFilter for more information on using the TestMetricFilter
4238// API call, and error handling.
4239//
4240// This method is useful when you want to inject custom logic or configuration
4241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4242//
4243//
4244//    // Example sending a request using the TestMetricFilterRequest method.
4245//    req, resp := client.TestMetricFilterRequest(params)
4246//
4247//    err := req.Send()
4248//    if err == nil { // resp is now filled
4249//        fmt.Println(resp)
4250//    }
4251//
4252// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TestMetricFilter
4253func (c *CloudWatchLogs) TestMetricFilterRequest(input *TestMetricFilterInput) (req *request.Request, output *TestMetricFilterOutput) {
4254	op := &request.Operation{
4255		Name:       opTestMetricFilter,
4256		HTTPMethod: "POST",
4257		HTTPPath:   "/",
4258	}
4259
4260	if input == nil {
4261		input = &TestMetricFilterInput{}
4262	}
4263
4264	output = &TestMetricFilterOutput{}
4265	req = c.newRequest(op, input, output)
4266	return
4267}
4268
4269// TestMetricFilter API operation for Amazon CloudWatch Logs.
4270//
4271// Tests the filter pattern of a metric filter against a sample of log event
4272// messages. You can use this operation to validate the correctness of a metric
4273// filter pattern.
4274//
4275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4276// with awserr.Error's Code and Message methods to get detailed information about
4277// the error.
4278//
4279// See the AWS API reference guide for Amazon CloudWatch Logs's
4280// API operation TestMetricFilter for usage and error information.
4281//
4282// Returned Error Types:
4283//   * InvalidParameterException
4284//   A parameter is specified incorrectly.
4285//
4286//   * ServiceUnavailableException
4287//   The service cannot complete the request.
4288//
4289// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TestMetricFilter
4290func (c *CloudWatchLogs) TestMetricFilter(input *TestMetricFilterInput) (*TestMetricFilterOutput, error) {
4291	req, out := c.TestMetricFilterRequest(input)
4292	return out, req.Send()
4293}
4294
4295// TestMetricFilterWithContext is the same as TestMetricFilter with the addition of
4296// the ability to pass a context and additional request options.
4297//
4298// See TestMetricFilter for details on how to use this API operation.
4299//
4300// The context must be non-nil and will be used for request cancellation. If
4301// the context is nil a panic will occur. In the future the SDK may create
4302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4303// for more information on using Contexts.
4304func (c *CloudWatchLogs) TestMetricFilterWithContext(ctx aws.Context, input *TestMetricFilterInput, opts ...request.Option) (*TestMetricFilterOutput, error) {
4305	req, out := c.TestMetricFilterRequest(input)
4306	req.SetContext(ctx)
4307	req.ApplyOptions(opts...)
4308	return out, req.Send()
4309}
4310
4311const opUntagLogGroup = "UntagLogGroup"
4312
4313// UntagLogGroupRequest generates a "aws/request.Request" representing the
4314// client's request for the UntagLogGroup operation. The "output" return
4315// value will be populated with the request's response once the request completes
4316// successfully.
4317//
4318// Use "Send" method on the returned Request to send the API call to the service.
4319// the "output" return value is not valid until after Send returns without error.
4320//
4321// See UntagLogGroup for more information on using the UntagLogGroup
4322// API call, and error handling.
4323//
4324// This method is useful when you want to inject custom logic or configuration
4325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4326//
4327//
4328//    // Example sending a request using the UntagLogGroupRequest method.
4329//    req, resp := client.UntagLogGroupRequest(params)
4330//
4331//    err := req.Send()
4332//    if err == nil { // resp is now filled
4333//        fmt.Println(resp)
4334//    }
4335//
4336// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/UntagLogGroup
4337func (c *CloudWatchLogs) UntagLogGroupRequest(input *UntagLogGroupInput) (req *request.Request, output *UntagLogGroupOutput) {
4338	op := &request.Operation{
4339		Name:       opUntagLogGroup,
4340		HTTPMethod: "POST",
4341		HTTPPath:   "/",
4342	}
4343
4344	if input == nil {
4345		input = &UntagLogGroupInput{}
4346	}
4347
4348	output = &UntagLogGroupOutput{}
4349	req = c.newRequest(op, input, output)
4350	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4351	return
4352}
4353
4354// UntagLogGroup API operation for Amazon CloudWatch Logs.
4355//
4356// Removes the specified tags from the specified log group.
4357//
4358// To list the tags for a log group, use ListTagsLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsLogGroup.html).
4359// To add tags, use TagLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_TagLogGroup.html).
4360//
4361// CloudWatch Logs doesn’t support IAM policies that prevent users from assigning
4362// specified tags to log groups using the aws:Resource/key-name or aws:TagKeys
4363// condition keys.
4364//
4365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4366// with awserr.Error's Code and Message methods to get detailed information about
4367// the error.
4368//
4369// See the AWS API reference guide for Amazon CloudWatch Logs's
4370// API operation UntagLogGroup for usage and error information.
4371//
4372// Returned Error Types:
4373//   * ResourceNotFoundException
4374//   The specified resource does not exist.
4375//
4376// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/UntagLogGroup
4377func (c *CloudWatchLogs) UntagLogGroup(input *UntagLogGroupInput) (*UntagLogGroupOutput, error) {
4378	req, out := c.UntagLogGroupRequest(input)
4379	return out, req.Send()
4380}
4381
4382// UntagLogGroupWithContext is the same as UntagLogGroup with the addition of
4383// the ability to pass a context and additional request options.
4384//
4385// See UntagLogGroup for details on how to use this API operation.
4386//
4387// The context must be non-nil and will be used for request cancellation. If
4388// the context is nil a panic will occur. In the future the SDK may create
4389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4390// for more information on using Contexts.
4391func (c *CloudWatchLogs) UntagLogGroupWithContext(ctx aws.Context, input *UntagLogGroupInput, opts ...request.Option) (*UntagLogGroupOutput, error) {
4392	req, out := c.UntagLogGroupRequest(input)
4393	req.SetContext(ctx)
4394	req.ApplyOptions(opts...)
4395	return out, req.Send()
4396}
4397
4398type AssociateKmsKeyInput struct {
4399	_ struct{} `type:"structure"`
4400
4401	// The Amazon Resource Name (ARN) of the CMK to use when encrypting log data.
4402	// This must be a symmetric CMK. For more information, see Amazon Resource Names
4403	// - Key Management Service (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kms)
4404	// and Using Symmetric and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html).
4405	//
4406	// KmsKeyId is a required field
4407	KmsKeyId *string `locationName:"kmsKeyId" type:"string" required:"true"`
4408
4409	// The name of the log group.
4410	//
4411	// LogGroupName is a required field
4412	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
4413}
4414
4415// String returns the string representation.
4416//
4417// API parameter values that are decorated as "sensitive" in the API will not
4418// be included in the string output. The member name will be present, but the
4419// value will be replaced with "sensitive".
4420func (s AssociateKmsKeyInput) String() string {
4421	return awsutil.Prettify(s)
4422}
4423
4424// GoString returns the string representation.
4425//
4426// API parameter values that are decorated as "sensitive" in the API will not
4427// be included in the string output. The member name will be present, but the
4428// value will be replaced with "sensitive".
4429func (s AssociateKmsKeyInput) GoString() string {
4430	return s.String()
4431}
4432
4433// Validate inspects the fields of the type to determine if they are valid.
4434func (s *AssociateKmsKeyInput) Validate() error {
4435	invalidParams := request.ErrInvalidParams{Context: "AssociateKmsKeyInput"}
4436	if s.KmsKeyId == nil {
4437		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
4438	}
4439	if s.LogGroupName == nil {
4440		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
4441	}
4442	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
4443		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
4444	}
4445
4446	if invalidParams.Len() > 0 {
4447		return invalidParams
4448	}
4449	return nil
4450}
4451
4452// SetKmsKeyId sets the KmsKeyId field's value.
4453func (s *AssociateKmsKeyInput) SetKmsKeyId(v string) *AssociateKmsKeyInput {
4454	s.KmsKeyId = &v
4455	return s
4456}
4457
4458// SetLogGroupName sets the LogGroupName field's value.
4459func (s *AssociateKmsKeyInput) SetLogGroupName(v string) *AssociateKmsKeyInput {
4460	s.LogGroupName = &v
4461	return s
4462}
4463
4464type AssociateKmsKeyOutput struct {
4465	_ struct{} `type:"structure"`
4466}
4467
4468// String returns the string representation.
4469//
4470// API parameter values that are decorated as "sensitive" in the API will not
4471// be included in the string output. The member name will be present, but the
4472// value will be replaced with "sensitive".
4473func (s AssociateKmsKeyOutput) String() string {
4474	return awsutil.Prettify(s)
4475}
4476
4477// GoString returns the string representation.
4478//
4479// API parameter values that are decorated as "sensitive" in the API will not
4480// be included in the string output. The member name will be present, but the
4481// value will be replaced with "sensitive".
4482func (s AssociateKmsKeyOutput) GoString() string {
4483	return s.String()
4484}
4485
4486type CancelExportTaskInput struct {
4487	_ struct{} `type:"structure"`
4488
4489	// The ID of the export task.
4490	//
4491	// TaskId is a required field
4492	TaskId *string `locationName:"taskId" min:"1" type:"string" required:"true"`
4493}
4494
4495// String returns the string representation.
4496//
4497// API parameter values that are decorated as "sensitive" in the API will not
4498// be included in the string output. The member name will be present, but the
4499// value will be replaced with "sensitive".
4500func (s CancelExportTaskInput) String() string {
4501	return awsutil.Prettify(s)
4502}
4503
4504// GoString returns the string representation.
4505//
4506// API parameter values that are decorated as "sensitive" in the API will not
4507// be included in the string output. The member name will be present, but the
4508// value will be replaced with "sensitive".
4509func (s CancelExportTaskInput) GoString() string {
4510	return s.String()
4511}
4512
4513// Validate inspects the fields of the type to determine if they are valid.
4514func (s *CancelExportTaskInput) Validate() error {
4515	invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
4516	if s.TaskId == nil {
4517		invalidParams.Add(request.NewErrParamRequired("TaskId"))
4518	}
4519	if s.TaskId != nil && len(*s.TaskId) < 1 {
4520		invalidParams.Add(request.NewErrParamMinLen("TaskId", 1))
4521	}
4522
4523	if invalidParams.Len() > 0 {
4524		return invalidParams
4525	}
4526	return nil
4527}
4528
4529// SetTaskId sets the TaskId field's value.
4530func (s *CancelExportTaskInput) SetTaskId(v string) *CancelExportTaskInput {
4531	s.TaskId = &v
4532	return s
4533}
4534
4535type CancelExportTaskOutput struct {
4536	_ struct{} `type:"structure"`
4537}
4538
4539// String returns the string representation.
4540//
4541// API parameter values that are decorated as "sensitive" in the API will not
4542// be included in the string output. The member name will be present, but the
4543// value will be replaced with "sensitive".
4544func (s CancelExportTaskOutput) String() string {
4545	return awsutil.Prettify(s)
4546}
4547
4548// GoString returns the string representation.
4549//
4550// API parameter values that are decorated as "sensitive" in the API will not
4551// be included in the string output. The member name will be present, but the
4552// value will be replaced with "sensitive".
4553func (s CancelExportTaskOutput) GoString() string {
4554	return s.String()
4555}
4556
4557type CreateExportTaskInput struct {
4558	_ struct{} `type:"structure"`
4559
4560	// The name of S3 bucket for the exported log data. The bucket must be in the
4561	// same Amazon Web Services region.
4562	//
4563	// Destination is a required field
4564	Destination *string `locationName:"destination" min:"1" type:"string" required:"true"`
4565
4566	// The prefix used as the start of the key for every object exported. If you
4567	// don't specify a value, the default is exportedlogs.
4568	DestinationPrefix *string `locationName:"destinationPrefix" type:"string"`
4569
4570	// The start time of the range for the request, expressed as the number of milliseconds
4571	// after Jan 1, 1970 00:00:00 UTC. Events with a timestamp earlier than this
4572	// time are not exported.
4573	//
4574	// From is a required field
4575	From *int64 `locationName:"from" type:"long" required:"true"`
4576
4577	// The name of the log group.
4578	//
4579	// LogGroupName is a required field
4580	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
4581
4582	// Export only log streams that match the provided prefix. If you don't specify
4583	// a value, no prefix filter is applied.
4584	LogStreamNamePrefix *string `locationName:"logStreamNamePrefix" min:"1" type:"string"`
4585
4586	// The name of the export task.
4587	TaskName *string `locationName:"taskName" min:"1" type:"string"`
4588
4589	// The end time of the range for the request, expreswatchlogsdocused as the
4590	// number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp
4591	// later than this time are not exported.
4592	//
4593	// To is a required field
4594	To *int64 `locationName:"to" type:"long" required:"true"`
4595}
4596
4597// String returns the string representation.
4598//
4599// API parameter values that are decorated as "sensitive" in the API will not
4600// be included in the string output. The member name will be present, but the
4601// value will be replaced with "sensitive".
4602func (s CreateExportTaskInput) String() string {
4603	return awsutil.Prettify(s)
4604}
4605
4606// GoString returns the string representation.
4607//
4608// API parameter values that are decorated as "sensitive" in the API will not
4609// be included in the string output. The member name will be present, but the
4610// value will be replaced with "sensitive".
4611func (s CreateExportTaskInput) GoString() string {
4612	return s.String()
4613}
4614
4615// Validate inspects the fields of the type to determine if they are valid.
4616func (s *CreateExportTaskInput) Validate() error {
4617	invalidParams := request.ErrInvalidParams{Context: "CreateExportTaskInput"}
4618	if s.Destination == nil {
4619		invalidParams.Add(request.NewErrParamRequired("Destination"))
4620	}
4621	if s.Destination != nil && len(*s.Destination) < 1 {
4622		invalidParams.Add(request.NewErrParamMinLen("Destination", 1))
4623	}
4624	if s.From == nil {
4625		invalidParams.Add(request.NewErrParamRequired("From"))
4626	}
4627	if s.LogGroupName == nil {
4628		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
4629	}
4630	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
4631		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
4632	}
4633	if s.LogStreamNamePrefix != nil && len(*s.LogStreamNamePrefix) < 1 {
4634		invalidParams.Add(request.NewErrParamMinLen("LogStreamNamePrefix", 1))
4635	}
4636	if s.TaskName != nil && len(*s.TaskName) < 1 {
4637		invalidParams.Add(request.NewErrParamMinLen("TaskName", 1))
4638	}
4639	if s.To == nil {
4640		invalidParams.Add(request.NewErrParamRequired("To"))
4641	}
4642
4643	if invalidParams.Len() > 0 {
4644		return invalidParams
4645	}
4646	return nil
4647}
4648
4649// SetDestination sets the Destination field's value.
4650func (s *CreateExportTaskInput) SetDestination(v string) *CreateExportTaskInput {
4651	s.Destination = &v
4652	return s
4653}
4654
4655// SetDestinationPrefix sets the DestinationPrefix field's value.
4656func (s *CreateExportTaskInput) SetDestinationPrefix(v string) *CreateExportTaskInput {
4657	s.DestinationPrefix = &v
4658	return s
4659}
4660
4661// SetFrom sets the From field's value.
4662func (s *CreateExportTaskInput) SetFrom(v int64) *CreateExportTaskInput {
4663	s.From = &v
4664	return s
4665}
4666
4667// SetLogGroupName sets the LogGroupName field's value.
4668func (s *CreateExportTaskInput) SetLogGroupName(v string) *CreateExportTaskInput {
4669	s.LogGroupName = &v
4670	return s
4671}
4672
4673// SetLogStreamNamePrefix sets the LogStreamNamePrefix field's value.
4674func (s *CreateExportTaskInput) SetLogStreamNamePrefix(v string) *CreateExportTaskInput {
4675	s.LogStreamNamePrefix = &v
4676	return s
4677}
4678
4679// SetTaskName sets the TaskName field's value.
4680func (s *CreateExportTaskInput) SetTaskName(v string) *CreateExportTaskInput {
4681	s.TaskName = &v
4682	return s
4683}
4684
4685// SetTo sets the To field's value.
4686func (s *CreateExportTaskInput) SetTo(v int64) *CreateExportTaskInput {
4687	s.To = &v
4688	return s
4689}
4690
4691type CreateExportTaskOutput struct {
4692	_ struct{} `type:"structure"`
4693
4694	// The ID of the export task.
4695	TaskId *string `locationName:"taskId" min:"1" type:"string"`
4696}
4697
4698// String returns the string representation.
4699//
4700// API parameter values that are decorated as "sensitive" in the API will not
4701// be included in the string output. The member name will be present, but the
4702// value will be replaced with "sensitive".
4703func (s CreateExportTaskOutput) String() string {
4704	return awsutil.Prettify(s)
4705}
4706
4707// GoString returns the string representation.
4708//
4709// API parameter values that are decorated as "sensitive" in the API will not
4710// be included in the string output. The member name will be present, but the
4711// value will be replaced with "sensitive".
4712func (s CreateExportTaskOutput) GoString() string {
4713	return s.String()
4714}
4715
4716// SetTaskId sets the TaskId field's value.
4717func (s *CreateExportTaskOutput) SetTaskId(v string) *CreateExportTaskOutput {
4718	s.TaskId = &v
4719	return s
4720}
4721
4722type CreateLogGroupInput struct {
4723	_ struct{} `type:"structure"`
4724
4725	// The Amazon Resource Name (ARN) of the CMK to use when encrypting log data.
4726	// For more information, see Amazon Resource Names - Key Management Service
4727	// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kms).
4728	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
4729
4730	// The name of the log group.
4731	//
4732	// LogGroupName is a required field
4733	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
4734
4735	// The key-value pairs to use for the tags.
4736	//
4737	// CloudWatch Logs doesn’t support IAM policies that prevent users from assigning
4738	// specified tags to log groups using the aws:Resource/key-name or aws:TagKeys
4739	// condition keys. For more information about using tags to control access,
4740	// see Controlling access to Amazon Web Services resources using tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).
4741	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
4742}
4743
4744// String returns the string representation.
4745//
4746// API parameter values that are decorated as "sensitive" in the API will not
4747// be included in the string output. The member name will be present, but the
4748// value will be replaced with "sensitive".
4749func (s CreateLogGroupInput) String() string {
4750	return awsutil.Prettify(s)
4751}
4752
4753// GoString returns the string representation.
4754//
4755// API parameter values that are decorated as "sensitive" in the API will not
4756// be included in the string output. The member name will be present, but the
4757// value will be replaced with "sensitive".
4758func (s CreateLogGroupInput) GoString() string {
4759	return s.String()
4760}
4761
4762// Validate inspects the fields of the type to determine if they are valid.
4763func (s *CreateLogGroupInput) Validate() error {
4764	invalidParams := request.ErrInvalidParams{Context: "CreateLogGroupInput"}
4765	if s.LogGroupName == nil {
4766		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
4767	}
4768	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
4769		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
4770	}
4771	if s.Tags != nil && len(s.Tags) < 1 {
4772		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4773	}
4774
4775	if invalidParams.Len() > 0 {
4776		return invalidParams
4777	}
4778	return nil
4779}
4780
4781// SetKmsKeyId sets the KmsKeyId field's value.
4782func (s *CreateLogGroupInput) SetKmsKeyId(v string) *CreateLogGroupInput {
4783	s.KmsKeyId = &v
4784	return s
4785}
4786
4787// SetLogGroupName sets the LogGroupName field's value.
4788func (s *CreateLogGroupInput) SetLogGroupName(v string) *CreateLogGroupInput {
4789	s.LogGroupName = &v
4790	return s
4791}
4792
4793// SetTags sets the Tags field's value.
4794func (s *CreateLogGroupInput) SetTags(v map[string]*string) *CreateLogGroupInput {
4795	s.Tags = v
4796	return s
4797}
4798
4799type CreateLogGroupOutput struct {
4800	_ struct{} `type:"structure"`
4801}
4802
4803// String returns the string representation.
4804//
4805// API parameter values that are decorated as "sensitive" in the API will not
4806// be included in the string output. The member name will be present, but the
4807// value will be replaced with "sensitive".
4808func (s CreateLogGroupOutput) String() string {
4809	return awsutil.Prettify(s)
4810}
4811
4812// GoString returns the string representation.
4813//
4814// API parameter values that are decorated as "sensitive" in the API will not
4815// be included in the string output. The member name will be present, but the
4816// value will be replaced with "sensitive".
4817func (s CreateLogGroupOutput) GoString() string {
4818	return s.String()
4819}
4820
4821type CreateLogStreamInput struct {
4822	_ struct{} `type:"structure"`
4823
4824	// The name of the log group.
4825	//
4826	// LogGroupName is a required field
4827	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
4828
4829	// The name of the log stream.
4830	//
4831	// LogStreamName is a required field
4832	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"`
4833}
4834
4835// String returns the string representation.
4836//
4837// API parameter values that are decorated as "sensitive" in the API will not
4838// be included in the string output. The member name will be present, but the
4839// value will be replaced with "sensitive".
4840func (s CreateLogStreamInput) String() string {
4841	return awsutil.Prettify(s)
4842}
4843
4844// GoString returns the string representation.
4845//
4846// API parameter values that are decorated as "sensitive" in the API will not
4847// be included in the string output. The member name will be present, but the
4848// value will be replaced with "sensitive".
4849func (s CreateLogStreamInput) GoString() string {
4850	return s.String()
4851}
4852
4853// Validate inspects the fields of the type to determine if they are valid.
4854func (s *CreateLogStreamInput) Validate() error {
4855	invalidParams := request.ErrInvalidParams{Context: "CreateLogStreamInput"}
4856	if s.LogGroupName == nil {
4857		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
4858	}
4859	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
4860		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
4861	}
4862	if s.LogStreamName == nil {
4863		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
4864	}
4865	if s.LogStreamName != nil && len(*s.LogStreamName) < 1 {
4866		invalidParams.Add(request.NewErrParamMinLen("LogStreamName", 1))
4867	}
4868
4869	if invalidParams.Len() > 0 {
4870		return invalidParams
4871	}
4872	return nil
4873}
4874
4875// SetLogGroupName sets the LogGroupName field's value.
4876func (s *CreateLogStreamInput) SetLogGroupName(v string) *CreateLogStreamInput {
4877	s.LogGroupName = &v
4878	return s
4879}
4880
4881// SetLogStreamName sets the LogStreamName field's value.
4882func (s *CreateLogStreamInput) SetLogStreamName(v string) *CreateLogStreamInput {
4883	s.LogStreamName = &v
4884	return s
4885}
4886
4887type CreateLogStreamOutput struct {
4888	_ struct{} `type:"structure"`
4889}
4890
4891// String returns the string representation.
4892//
4893// API parameter values that are decorated as "sensitive" in the API will not
4894// be included in the string output. The member name will be present, but the
4895// value will be replaced with "sensitive".
4896func (s CreateLogStreamOutput) String() string {
4897	return awsutil.Prettify(s)
4898}
4899
4900// GoString returns the string representation.
4901//
4902// API parameter values that are decorated as "sensitive" in the API will not
4903// be included in the string output. The member name will be present, but the
4904// value will be replaced with "sensitive".
4905func (s CreateLogStreamOutput) GoString() string {
4906	return s.String()
4907}
4908
4909// The event was already logged.
4910type DataAlreadyAcceptedException struct {
4911	_            struct{}                  `type:"structure"`
4912	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4913
4914	ExpectedSequenceToken *string `locationName:"expectedSequenceToken" min:"1" type:"string"`
4915
4916	Message_ *string `locationName:"message" type:"string"`
4917}
4918
4919// String returns the string representation.
4920//
4921// API parameter values that are decorated as "sensitive" in the API will not
4922// be included in the string output. The member name will be present, but the
4923// value will be replaced with "sensitive".
4924func (s DataAlreadyAcceptedException) String() string {
4925	return awsutil.Prettify(s)
4926}
4927
4928// GoString returns the string representation.
4929//
4930// API parameter values that are decorated as "sensitive" in the API will not
4931// be included in the string output. The member name will be present, but the
4932// value will be replaced with "sensitive".
4933func (s DataAlreadyAcceptedException) GoString() string {
4934	return s.String()
4935}
4936
4937func newErrorDataAlreadyAcceptedException(v protocol.ResponseMetadata) error {
4938	return &DataAlreadyAcceptedException{
4939		RespMetadata: v,
4940	}
4941}
4942
4943// Code returns the exception type name.
4944func (s *DataAlreadyAcceptedException) Code() string {
4945	return "DataAlreadyAcceptedException"
4946}
4947
4948// Message returns the exception's message.
4949func (s *DataAlreadyAcceptedException) Message() string {
4950	if s.Message_ != nil {
4951		return *s.Message_
4952	}
4953	return ""
4954}
4955
4956// OrigErr always returns nil, satisfies awserr.Error interface.
4957func (s *DataAlreadyAcceptedException) OrigErr() error {
4958	return nil
4959}
4960
4961func (s *DataAlreadyAcceptedException) Error() string {
4962	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
4963}
4964
4965// Status code returns the HTTP status code for the request's response error.
4966func (s *DataAlreadyAcceptedException) StatusCode() int {
4967	return s.RespMetadata.StatusCode
4968}
4969
4970// RequestID returns the service's response RequestID for request.
4971func (s *DataAlreadyAcceptedException) RequestID() string {
4972	return s.RespMetadata.RequestID
4973}
4974
4975type DeleteDestinationInput struct {
4976	_ struct{} `type:"structure"`
4977
4978	// The name of the destination.
4979	//
4980	// DestinationName is a required field
4981	DestinationName *string `locationName:"destinationName" min:"1" type:"string" required:"true"`
4982}
4983
4984// String returns the string representation.
4985//
4986// API parameter values that are decorated as "sensitive" in the API will not
4987// be included in the string output. The member name will be present, but the
4988// value will be replaced with "sensitive".
4989func (s DeleteDestinationInput) String() string {
4990	return awsutil.Prettify(s)
4991}
4992
4993// GoString returns the string representation.
4994//
4995// API parameter values that are decorated as "sensitive" in the API will not
4996// be included in the string output. The member name will be present, but the
4997// value will be replaced with "sensitive".
4998func (s DeleteDestinationInput) GoString() string {
4999	return s.String()
5000}
5001
5002// Validate inspects the fields of the type to determine if they are valid.
5003func (s *DeleteDestinationInput) Validate() error {
5004	invalidParams := request.ErrInvalidParams{Context: "DeleteDestinationInput"}
5005	if s.DestinationName == nil {
5006		invalidParams.Add(request.NewErrParamRequired("DestinationName"))
5007	}
5008	if s.DestinationName != nil && len(*s.DestinationName) < 1 {
5009		invalidParams.Add(request.NewErrParamMinLen("DestinationName", 1))
5010	}
5011
5012	if invalidParams.Len() > 0 {
5013		return invalidParams
5014	}
5015	return nil
5016}
5017
5018// SetDestinationName sets the DestinationName field's value.
5019func (s *DeleteDestinationInput) SetDestinationName(v string) *DeleteDestinationInput {
5020	s.DestinationName = &v
5021	return s
5022}
5023
5024type DeleteDestinationOutput struct {
5025	_ struct{} `type:"structure"`
5026}
5027
5028// String returns the string representation.
5029//
5030// API parameter values that are decorated as "sensitive" in the API will not
5031// be included in the string output. The member name will be present, but the
5032// value will be replaced with "sensitive".
5033func (s DeleteDestinationOutput) String() string {
5034	return awsutil.Prettify(s)
5035}
5036
5037// GoString returns the string representation.
5038//
5039// API parameter values that are decorated as "sensitive" in the API will not
5040// be included in the string output. The member name will be present, but the
5041// value will be replaced with "sensitive".
5042func (s DeleteDestinationOutput) GoString() string {
5043	return s.String()
5044}
5045
5046type DeleteLogGroupInput struct {
5047	_ struct{} `type:"structure"`
5048
5049	// The name of the log group.
5050	//
5051	// LogGroupName is a required field
5052	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
5053}
5054
5055// String returns the string representation.
5056//
5057// API parameter values that are decorated as "sensitive" in the API will not
5058// be included in the string output. The member name will be present, but the
5059// value will be replaced with "sensitive".
5060func (s DeleteLogGroupInput) String() string {
5061	return awsutil.Prettify(s)
5062}
5063
5064// GoString returns the string representation.
5065//
5066// API parameter values that are decorated as "sensitive" in the API will not
5067// be included in the string output. The member name will be present, but the
5068// value will be replaced with "sensitive".
5069func (s DeleteLogGroupInput) GoString() string {
5070	return s.String()
5071}
5072
5073// Validate inspects the fields of the type to determine if they are valid.
5074func (s *DeleteLogGroupInput) Validate() error {
5075	invalidParams := request.ErrInvalidParams{Context: "DeleteLogGroupInput"}
5076	if s.LogGroupName == nil {
5077		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
5078	}
5079	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
5080		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
5081	}
5082
5083	if invalidParams.Len() > 0 {
5084		return invalidParams
5085	}
5086	return nil
5087}
5088
5089// SetLogGroupName sets the LogGroupName field's value.
5090func (s *DeleteLogGroupInput) SetLogGroupName(v string) *DeleteLogGroupInput {
5091	s.LogGroupName = &v
5092	return s
5093}
5094
5095type DeleteLogGroupOutput struct {
5096	_ struct{} `type:"structure"`
5097}
5098
5099// String returns the string representation.
5100//
5101// API parameter values that are decorated as "sensitive" in the API will not
5102// be included in the string output. The member name will be present, but the
5103// value will be replaced with "sensitive".
5104func (s DeleteLogGroupOutput) String() string {
5105	return awsutil.Prettify(s)
5106}
5107
5108// GoString returns the string representation.
5109//
5110// API parameter values that are decorated as "sensitive" in the API will not
5111// be included in the string output. The member name will be present, but the
5112// value will be replaced with "sensitive".
5113func (s DeleteLogGroupOutput) GoString() string {
5114	return s.String()
5115}
5116
5117type DeleteLogStreamInput struct {
5118	_ struct{} `type:"structure"`
5119
5120	// The name of the log group.
5121	//
5122	// LogGroupName is a required field
5123	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
5124
5125	// The name of the log stream.
5126	//
5127	// LogStreamName is a required field
5128	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"`
5129}
5130
5131// String returns the string representation.
5132//
5133// API parameter values that are decorated as "sensitive" in the API will not
5134// be included in the string output. The member name will be present, but the
5135// value will be replaced with "sensitive".
5136func (s DeleteLogStreamInput) String() string {
5137	return awsutil.Prettify(s)
5138}
5139
5140// GoString returns the string representation.
5141//
5142// API parameter values that are decorated as "sensitive" in the API will not
5143// be included in the string output. The member name will be present, but the
5144// value will be replaced with "sensitive".
5145func (s DeleteLogStreamInput) GoString() string {
5146	return s.String()
5147}
5148
5149// Validate inspects the fields of the type to determine if they are valid.
5150func (s *DeleteLogStreamInput) Validate() error {
5151	invalidParams := request.ErrInvalidParams{Context: "DeleteLogStreamInput"}
5152	if s.LogGroupName == nil {
5153		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
5154	}
5155	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
5156		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
5157	}
5158	if s.LogStreamName == nil {
5159		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
5160	}
5161	if s.LogStreamName != nil && len(*s.LogStreamName) < 1 {
5162		invalidParams.Add(request.NewErrParamMinLen("LogStreamName", 1))
5163	}
5164
5165	if invalidParams.Len() > 0 {
5166		return invalidParams
5167	}
5168	return nil
5169}
5170
5171// SetLogGroupName sets the LogGroupName field's value.
5172func (s *DeleteLogStreamInput) SetLogGroupName(v string) *DeleteLogStreamInput {
5173	s.LogGroupName = &v
5174	return s
5175}
5176
5177// SetLogStreamName sets the LogStreamName field's value.
5178func (s *DeleteLogStreamInput) SetLogStreamName(v string) *DeleteLogStreamInput {
5179	s.LogStreamName = &v
5180	return s
5181}
5182
5183type DeleteLogStreamOutput struct {
5184	_ struct{} `type:"structure"`
5185}
5186
5187// String returns the string representation.
5188//
5189// API parameter values that are decorated as "sensitive" in the API will not
5190// be included in the string output. The member name will be present, but the
5191// value will be replaced with "sensitive".
5192func (s DeleteLogStreamOutput) String() string {
5193	return awsutil.Prettify(s)
5194}
5195
5196// GoString returns the string representation.
5197//
5198// API parameter values that are decorated as "sensitive" in the API will not
5199// be included in the string output. The member name will be present, but the
5200// value will be replaced with "sensitive".
5201func (s DeleteLogStreamOutput) GoString() string {
5202	return s.String()
5203}
5204
5205type DeleteMetricFilterInput struct {
5206	_ struct{} `type:"structure"`
5207
5208	// The name of the metric filter.
5209	//
5210	// FilterName is a required field
5211	FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"`
5212
5213	// The name of the log group.
5214	//
5215	// LogGroupName is a required field
5216	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
5217}
5218
5219// String returns the string representation.
5220//
5221// API parameter values that are decorated as "sensitive" in the API will not
5222// be included in the string output. The member name will be present, but the
5223// value will be replaced with "sensitive".
5224func (s DeleteMetricFilterInput) String() string {
5225	return awsutil.Prettify(s)
5226}
5227
5228// GoString returns the string representation.
5229//
5230// API parameter values that are decorated as "sensitive" in the API will not
5231// be included in the string output. The member name will be present, but the
5232// value will be replaced with "sensitive".
5233func (s DeleteMetricFilterInput) GoString() string {
5234	return s.String()
5235}
5236
5237// Validate inspects the fields of the type to determine if they are valid.
5238func (s *DeleteMetricFilterInput) Validate() error {
5239	invalidParams := request.ErrInvalidParams{Context: "DeleteMetricFilterInput"}
5240	if s.FilterName == nil {
5241		invalidParams.Add(request.NewErrParamRequired("FilterName"))
5242	}
5243	if s.FilterName != nil && len(*s.FilterName) < 1 {
5244		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
5245	}
5246	if s.LogGroupName == nil {
5247		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
5248	}
5249	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
5250		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
5251	}
5252
5253	if invalidParams.Len() > 0 {
5254		return invalidParams
5255	}
5256	return nil
5257}
5258
5259// SetFilterName sets the FilterName field's value.
5260func (s *DeleteMetricFilterInput) SetFilterName(v string) *DeleteMetricFilterInput {
5261	s.FilterName = &v
5262	return s
5263}
5264
5265// SetLogGroupName sets the LogGroupName field's value.
5266func (s *DeleteMetricFilterInput) SetLogGroupName(v string) *DeleteMetricFilterInput {
5267	s.LogGroupName = &v
5268	return s
5269}
5270
5271type DeleteMetricFilterOutput struct {
5272	_ struct{} `type:"structure"`
5273}
5274
5275// String returns the string representation.
5276//
5277// API parameter values that are decorated as "sensitive" in the API will not
5278// be included in the string output. The member name will be present, but the
5279// value will be replaced with "sensitive".
5280func (s DeleteMetricFilterOutput) String() string {
5281	return awsutil.Prettify(s)
5282}
5283
5284// GoString returns the string representation.
5285//
5286// API parameter values that are decorated as "sensitive" in the API will not
5287// be included in the string output. The member name will be present, but the
5288// value will be replaced with "sensitive".
5289func (s DeleteMetricFilterOutput) GoString() string {
5290	return s.String()
5291}
5292
5293type DeleteQueryDefinitionInput struct {
5294	_ struct{} `type:"structure"`
5295
5296	// The ID of the query definition that you want to delete. You can use DescribeQueryDefinitions
5297	// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeQueryDefinitions.html)
5298	// to retrieve the IDs of your saved query definitions.
5299	//
5300	// QueryDefinitionId is a required field
5301	QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string" required:"true"`
5302}
5303
5304// String returns the string representation.
5305//
5306// API parameter values that are decorated as "sensitive" in the API will not
5307// be included in the string output. The member name will be present, but the
5308// value will be replaced with "sensitive".
5309func (s DeleteQueryDefinitionInput) String() string {
5310	return awsutil.Prettify(s)
5311}
5312
5313// GoString returns the string representation.
5314//
5315// API parameter values that are decorated as "sensitive" in the API will not
5316// be included in the string output. The member name will be present, but the
5317// value will be replaced with "sensitive".
5318func (s DeleteQueryDefinitionInput) GoString() string {
5319	return s.String()
5320}
5321
5322// Validate inspects the fields of the type to determine if they are valid.
5323func (s *DeleteQueryDefinitionInput) Validate() error {
5324	invalidParams := request.ErrInvalidParams{Context: "DeleteQueryDefinitionInput"}
5325	if s.QueryDefinitionId == nil {
5326		invalidParams.Add(request.NewErrParamRequired("QueryDefinitionId"))
5327	}
5328
5329	if invalidParams.Len() > 0 {
5330		return invalidParams
5331	}
5332	return nil
5333}
5334
5335// SetQueryDefinitionId sets the QueryDefinitionId field's value.
5336func (s *DeleteQueryDefinitionInput) SetQueryDefinitionId(v string) *DeleteQueryDefinitionInput {
5337	s.QueryDefinitionId = &v
5338	return s
5339}
5340
5341type DeleteQueryDefinitionOutput struct {
5342	_ struct{} `type:"structure"`
5343
5344	// A value of TRUE indicates that the operation succeeded. FALSE indicates that
5345	// the operation failed.
5346	Success *bool `locationName:"success" type:"boolean"`
5347}
5348
5349// String returns the string representation.
5350//
5351// API parameter values that are decorated as "sensitive" in the API will not
5352// be included in the string output. The member name will be present, but the
5353// value will be replaced with "sensitive".
5354func (s DeleteQueryDefinitionOutput) String() string {
5355	return awsutil.Prettify(s)
5356}
5357
5358// GoString returns the string representation.
5359//
5360// API parameter values that are decorated as "sensitive" in the API will not
5361// be included in the string output. The member name will be present, but the
5362// value will be replaced with "sensitive".
5363func (s DeleteQueryDefinitionOutput) GoString() string {
5364	return s.String()
5365}
5366
5367// SetSuccess sets the Success field's value.
5368func (s *DeleteQueryDefinitionOutput) SetSuccess(v bool) *DeleteQueryDefinitionOutput {
5369	s.Success = &v
5370	return s
5371}
5372
5373type DeleteResourcePolicyInput struct {
5374	_ struct{} `type:"structure"`
5375
5376	// The name of the policy to be revoked. This parameter is required.
5377	PolicyName *string `locationName:"policyName" type:"string"`
5378}
5379
5380// String returns the string representation.
5381//
5382// API parameter values that are decorated as "sensitive" in the API will not
5383// be included in the string output. The member name will be present, but the
5384// value will be replaced with "sensitive".
5385func (s DeleteResourcePolicyInput) String() string {
5386	return awsutil.Prettify(s)
5387}
5388
5389// GoString returns the string representation.
5390//
5391// API parameter values that are decorated as "sensitive" in the API will not
5392// be included in the string output. The member name will be present, but the
5393// value will be replaced with "sensitive".
5394func (s DeleteResourcePolicyInput) GoString() string {
5395	return s.String()
5396}
5397
5398// SetPolicyName sets the PolicyName field's value.
5399func (s *DeleteResourcePolicyInput) SetPolicyName(v string) *DeleteResourcePolicyInput {
5400	s.PolicyName = &v
5401	return s
5402}
5403
5404type DeleteResourcePolicyOutput struct {
5405	_ struct{} `type:"structure"`
5406}
5407
5408// String returns the string representation.
5409//
5410// API parameter values that are decorated as "sensitive" in the API will not
5411// be included in the string output. The member name will be present, but the
5412// value will be replaced with "sensitive".
5413func (s DeleteResourcePolicyOutput) String() string {
5414	return awsutil.Prettify(s)
5415}
5416
5417// GoString returns the string representation.
5418//
5419// API parameter values that are decorated as "sensitive" in the API will not
5420// be included in the string output. The member name will be present, but the
5421// value will be replaced with "sensitive".
5422func (s DeleteResourcePolicyOutput) GoString() string {
5423	return s.String()
5424}
5425
5426type DeleteRetentionPolicyInput struct {
5427	_ struct{} `type:"structure"`
5428
5429	// The name of the log group.
5430	//
5431	// LogGroupName is a required field
5432	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
5433}
5434
5435// String returns the string representation.
5436//
5437// API parameter values that are decorated as "sensitive" in the API will not
5438// be included in the string output. The member name will be present, but the
5439// value will be replaced with "sensitive".
5440func (s DeleteRetentionPolicyInput) String() string {
5441	return awsutil.Prettify(s)
5442}
5443
5444// GoString returns the string representation.
5445//
5446// API parameter values that are decorated as "sensitive" in the API will not
5447// be included in the string output. The member name will be present, but the
5448// value will be replaced with "sensitive".
5449func (s DeleteRetentionPolicyInput) GoString() string {
5450	return s.String()
5451}
5452
5453// Validate inspects the fields of the type to determine if they are valid.
5454func (s *DeleteRetentionPolicyInput) Validate() error {
5455	invalidParams := request.ErrInvalidParams{Context: "DeleteRetentionPolicyInput"}
5456	if s.LogGroupName == nil {
5457		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
5458	}
5459	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
5460		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
5461	}
5462
5463	if invalidParams.Len() > 0 {
5464		return invalidParams
5465	}
5466	return nil
5467}
5468
5469// SetLogGroupName sets the LogGroupName field's value.
5470func (s *DeleteRetentionPolicyInput) SetLogGroupName(v string) *DeleteRetentionPolicyInput {
5471	s.LogGroupName = &v
5472	return s
5473}
5474
5475type DeleteRetentionPolicyOutput struct {
5476	_ struct{} `type:"structure"`
5477}
5478
5479// String returns the string representation.
5480//
5481// API parameter values that are decorated as "sensitive" in the API will not
5482// be included in the string output. The member name will be present, but the
5483// value will be replaced with "sensitive".
5484func (s DeleteRetentionPolicyOutput) String() string {
5485	return awsutil.Prettify(s)
5486}
5487
5488// GoString returns the string representation.
5489//
5490// API parameter values that are decorated as "sensitive" in the API will not
5491// be included in the string output. The member name will be present, but the
5492// value will be replaced with "sensitive".
5493func (s DeleteRetentionPolicyOutput) GoString() string {
5494	return s.String()
5495}
5496
5497type DeleteSubscriptionFilterInput struct {
5498	_ struct{} `type:"structure"`
5499
5500	// The name of the subscription filter.
5501	//
5502	// FilterName is a required field
5503	FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"`
5504
5505	// The name of the log group.
5506	//
5507	// LogGroupName is a required field
5508	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
5509}
5510
5511// String returns the string representation.
5512//
5513// API parameter values that are decorated as "sensitive" in the API will not
5514// be included in the string output. The member name will be present, but the
5515// value will be replaced with "sensitive".
5516func (s DeleteSubscriptionFilterInput) String() string {
5517	return awsutil.Prettify(s)
5518}
5519
5520// GoString returns the string representation.
5521//
5522// API parameter values that are decorated as "sensitive" in the API will not
5523// be included in the string output. The member name will be present, but the
5524// value will be replaced with "sensitive".
5525func (s DeleteSubscriptionFilterInput) GoString() string {
5526	return s.String()
5527}
5528
5529// Validate inspects the fields of the type to determine if they are valid.
5530func (s *DeleteSubscriptionFilterInput) Validate() error {
5531	invalidParams := request.ErrInvalidParams{Context: "DeleteSubscriptionFilterInput"}
5532	if s.FilterName == nil {
5533		invalidParams.Add(request.NewErrParamRequired("FilterName"))
5534	}
5535	if s.FilterName != nil && len(*s.FilterName) < 1 {
5536		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
5537	}
5538	if s.LogGroupName == nil {
5539		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
5540	}
5541	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
5542		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
5543	}
5544
5545	if invalidParams.Len() > 0 {
5546		return invalidParams
5547	}
5548	return nil
5549}
5550
5551// SetFilterName sets the FilterName field's value.
5552func (s *DeleteSubscriptionFilterInput) SetFilterName(v string) *DeleteSubscriptionFilterInput {
5553	s.FilterName = &v
5554	return s
5555}
5556
5557// SetLogGroupName sets the LogGroupName field's value.
5558func (s *DeleteSubscriptionFilterInput) SetLogGroupName(v string) *DeleteSubscriptionFilterInput {
5559	s.LogGroupName = &v
5560	return s
5561}
5562
5563type DeleteSubscriptionFilterOutput struct {
5564	_ struct{} `type:"structure"`
5565}
5566
5567// String returns the string representation.
5568//
5569// API parameter values that are decorated as "sensitive" in the API will not
5570// be included in the string output. The member name will be present, but the
5571// value will be replaced with "sensitive".
5572func (s DeleteSubscriptionFilterOutput) String() string {
5573	return awsutil.Prettify(s)
5574}
5575
5576// GoString returns the string representation.
5577//
5578// API parameter values that are decorated as "sensitive" in the API will not
5579// be included in the string output. The member name will be present, but the
5580// value will be replaced with "sensitive".
5581func (s DeleteSubscriptionFilterOutput) GoString() string {
5582	return s.String()
5583}
5584
5585type DescribeDestinationsInput struct {
5586	_ struct{} `type:"structure"`
5587
5588	// The prefix to match. If you don't specify a value, no prefix filter is applied.
5589	DestinationNamePrefix *string `min:"1" type:"string"`
5590
5591	// The maximum number of items returned. If you don't specify a value, the default
5592	// is up to 50 items.
5593	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
5594
5595	// The token for the next set of items to return. (You received this token from
5596	// a previous call.)
5597	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5598}
5599
5600// String returns the string representation.
5601//
5602// API parameter values that are decorated as "sensitive" in the API will not
5603// be included in the string output. The member name will be present, but the
5604// value will be replaced with "sensitive".
5605func (s DescribeDestinationsInput) String() string {
5606	return awsutil.Prettify(s)
5607}
5608
5609// GoString returns the string representation.
5610//
5611// API parameter values that are decorated as "sensitive" in the API will not
5612// be included in the string output. The member name will be present, but the
5613// value will be replaced with "sensitive".
5614func (s DescribeDestinationsInput) GoString() string {
5615	return s.String()
5616}
5617
5618// Validate inspects the fields of the type to determine if they are valid.
5619func (s *DescribeDestinationsInput) Validate() error {
5620	invalidParams := request.ErrInvalidParams{Context: "DescribeDestinationsInput"}
5621	if s.DestinationNamePrefix != nil && len(*s.DestinationNamePrefix) < 1 {
5622		invalidParams.Add(request.NewErrParamMinLen("DestinationNamePrefix", 1))
5623	}
5624	if s.Limit != nil && *s.Limit < 1 {
5625		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
5626	}
5627	if s.NextToken != nil && len(*s.NextToken) < 1 {
5628		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5629	}
5630
5631	if invalidParams.Len() > 0 {
5632		return invalidParams
5633	}
5634	return nil
5635}
5636
5637// SetDestinationNamePrefix sets the DestinationNamePrefix field's value.
5638func (s *DescribeDestinationsInput) SetDestinationNamePrefix(v string) *DescribeDestinationsInput {
5639	s.DestinationNamePrefix = &v
5640	return s
5641}
5642
5643// SetLimit sets the Limit field's value.
5644func (s *DescribeDestinationsInput) SetLimit(v int64) *DescribeDestinationsInput {
5645	s.Limit = &v
5646	return s
5647}
5648
5649// SetNextToken sets the NextToken field's value.
5650func (s *DescribeDestinationsInput) SetNextToken(v string) *DescribeDestinationsInput {
5651	s.NextToken = &v
5652	return s
5653}
5654
5655type DescribeDestinationsOutput struct {
5656	_ struct{} `type:"structure"`
5657
5658	// The destinations.
5659	Destinations []*Destination `locationName:"destinations" type:"list"`
5660
5661	// The token for the next set of items to return. The token expires after 24
5662	// hours.
5663	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5664}
5665
5666// String returns the string representation.
5667//
5668// API parameter values that are decorated as "sensitive" in the API will not
5669// be included in the string output. The member name will be present, but the
5670// value will be replaced with "sensitive".
5671func (s DescribeDestinationsOutput) String() string {
5672	return awsutil.Prettify(s)
5673}
5674
5675// GoString returns the string representation.
5676//
5677// API parameter values that are decorated as "sensitive" in the API will not
5678// be included in the string output. The member name will be present, but the
5679// value will be replaced with "sensitive".
5680func (s DescribeDestinationsOutput) GoString() string {
5681	return s.String()
5682}
5683
5684// SetDestinations sets the Destinations field's value.
5685func (s *DescribeDestinationsOutput) SetDestinations(v []*Destination) *DescribeDestinationsOutput {
5686	s.Destinations = v
5687	return s
5688}
5689
5690// SetNextToken sets the NextToken field's value.
5691func (s *DescribeDestinationsOutput) SetNextToken(v string) *DescribeDestinationsOutput {
5692	s.NextToken = &v
5693	return s
5694}
5695
5696type DescribeExportTasksInput struct {
5697	_ struct{} `type:"structure"`
5698
5699	// The maximum number of items returned. If you don't specify a value, the default
5700	// is up to 50 items.
5701	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
5702
5703	// The token for the next set of items to return. (You received this token from
5704	// a previous call.)
5705	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5706
5707	// The status code of the export task. Specifying a status code filters the
5708	// results to zero or more export tasks.
5709	StatusCode *string `locationName:"statusCode" type:"string" enum:"ExportTaskStatusCode"`
5710
5711	// The ID of the export task. Specifying a task ID filters the results to zero
5712	// or one export tasks.
5713	TaskId *string `locationName:"taskId" min:"1" type:"string"`
5714}
5715
5716// String returns the string representation.
5717//
5718// API parameter values that are decorated as "sensitive" in the API will not
5719// be included in the string output. The member name will be present, but the
5720// value will be replaced with "sensitive".
5721func (s DescribeExportTasksInput) String() string {
5722	return awsutil.Prettify(s)
5723}
5724
5725// GoString returns the string representation.
5726//
5727// API parameter values that are decorated as "sensitive" in the API will not
5728// be included in the string output. The member name will be present, but the
5729// value will be replaced with "sensitive".
5730func (s DescribeExportTasksInput) GoString() string {
5731	return s.String()
5732}
5733
5734// Validate inspects the fields of the type to determine if they are valid.
5735func (s *DescribeExportTasksInput) Validate() error {
5736	invalidParams := request.ErrInvalidParams{Context: "DescribeExportTasksInput"}
5737	if s.Limit != nil && *s.Limit < 1 {
5738		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
5739	}
5740	if s.NextToken != nil && len(*s.NextToken) < 1 {
5741		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5742	}
5743	if s.TaskId != nil && len(*s.TaskId) < 1 {
5744		invalidParams.Add(request.NewErrParamMinLen("TaskId", 1))
5745	}
5746
5747	if invalidParams.Len() > 0 {
5748		return invalidParams
5749	}
5750	return nil
5751}
5752
5753// SetLimit sets the Limit field's value.
5754func (s *DescribeExportTasksInput) SetLimit(v int64) *DescribeExportTasksInput {
5755	s.Limit = &v
5756	return s
5757}
5758
5759// SetNextToken sets the NextToken field's value.
5760func (s *DescribeExportTasksInput) SetNextToken(v string) *DescribeExportTasksInput {
5761	s.NextToken = &v
5762	return s
5763}
5764
5765// SetStatusCode sets the StatusCode field's value.
5766func (s *DescribeExportTasksInput) SetStatusCode(v string) *DescribeExportTasksInput {
5767	s.StatusCode = &v
5768	return s
5769}
5770
5771// SetTaskId sets the TaskId field's value.
5772func (s *DescribeExportTasksInput) SetTaskId(v string) *DescribeExportTasksInput {
5773	s.TaskId = &v
5774	return s
5775}
5776
5777type DescribeExportTasksOutput struct {
5778	_ struct{} `type:"structure"`
5779
5780	// The export tasks.
5781	ExportTasks []*ExportTask `locationName:"exportTasks" type:"list"`
5782
5783	// The token for the next set of items to return. The token expires after 24
5784	// hours.
5785	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5786}
5787
5788// String returns the string representation.
5789//
5790// API parameter values that are decorated as "sensitive" in the API will not
5791// be included in the string output. The member name will be present, but the
5792// value will be replaced with "sensitive".
5793func (s DescribeExportTasksOutput) String() string {
5794	return awsutil.Prettify(s)
5795}
5796
5797// GoString returns the string representation.
5798//
5799// API parameter values that are decorated as "sensitive" in the API will not
5800// be included in the string output. The member name will be present, but the
5801// value will be replaced with "sensitive".
5802func (s DescribeExportTasksOutput) GoString() string {
5803	return s.String()
5804}
5805
5806// SetExportTasks sets the ExportTasks field's value.
5807func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
5808	s.ExportTasks = v
5809	return s
5810}
5811
5812// SetNextToken sets the NextToken field's value.
5813func (s *DescribeExportTasksOutput) SetNextToken(v string) *DescribeExportTasksOutput {
5814	s.NextToken = &v
5815	return s
5816}
5817
5818type DescribeLogGroupsInput struct {
5819	_ struct{} `type:"structure"`
5820
5821	// The maximum number of items returned. If you don't specify a value, the default
5822	// is up to 50 items.
5823	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
5824
5825	// The prefix to match.
5826	LogGroupNamePrefix *string `locationName:"logGroupNamePrefix" min:"1" type:"string"`
5827
5828	// The token for the next set of items to return. (You received this token from
5829	// a previous call.)
5830	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5831}
5832
5833// String returns the string representation.
5834//
5835// API parameter values that are decorated as "sensitive" in the API will not
5836// be included in the string output. The member name will be present, but the
5837// value will be replaced with "sensitive".
5838func (s DescribeLogGroupsInput) String() string {
5839	return awsutil.Prettify(s)
5840}
5841
5842// GoString returns the string representation.
5843//
5844// API parameter values that are decorated as "sensitive" in the API will not
5845// be included in the string output. The member name will be present, but the
5846// value will be replaced with "sensitive".
5847func (s DescribeLogGroupsInput) GoString() string {
5848	return s.String()
5849}
5850
5851// Validate inspects the fields of the type to determine if they are valid.
5852func (s *DescribeLogGroupsInput) Validate() error {
5853	invalidParams := request.ErrInvalidParams{Context: "DescribeLogGroupsInput"}
5854	if s.Limit != nil && *s.Limit < 1 {
5855		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
5856	}
5857	if s.LogGroupNamePrefix != nil && len(*s.LogGroupNamePrefix) < 1 {
5858		invalidParams.Add(request.NewErrParamMinLen("LogGroupNamePrefix", 1))
5859	}
5860	if s.NextToken != nil && len(*s.NextToken) < 1 {
5861		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5862	}
5863
5864	if invalidParams.Len() > 0 {
5865		return invalidParams
5866	}
5867	return nil
5868}
5869
5870// SetLimit sets the Limit field's value.
5871func (s *DescribeLogGroupsInput) SetLimit(v int64) *DescribeLogGroupsInput {
5872	s.Limit = &v
5873	return s
5874}
5875
5876// SetLogGroupNamePrefix sets the LogGroupNamePrefix field's value.
5877func (s *DescribeLogGroupsInput) SetLogGroupNamePrefix(v string) *DescribeLogGroupsInput {
5878	s.LogGroupNamePrefix = &v
5879	return s
5880}
5881
5882// SetNextToken sets the NextToken field's value.
5883func (s *DescribeLogGroupsInput) SetNextToken(v string) *DescribeLogGroupsInput {
5884	s.NextToken = &v
5885	return s
5886}
5887
5888type DescribeLogGroupsOutput struct {
5889	_ struct{} `type:"structure"`
5890
5891	// The log groups.
5892	//
5893	// If the retentionInDays value if not included for a log group, then that log
5894	// group is set to have its events never expire.
5895	LogGroups []*LogGroup `locationName:"logGroups" type:"list"`
5896
5897	// The token for the next set of items to return. The token expires after 24
5898	// hours.
5899	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5900}
5901
5902// String returns the string representation.
5903//
5904// API parameter values that are decorated as "sensitive" in the API will not
5905// be included in the string output. The member name will be present, but the
5906// value will be replaced with "sensitive".
5907func (s DescribeLogGroupsOutput) String() string {
5908	return awsutil.Prettify(s)
5909}
5910
5911// GoString returns the string representation.
5912//
5913// API parameter values that are decorated as "sensitive" in the API will not
5914// be included in the string output. The member name will be present, but the
5915// value will be replaced with "sensitive".
5916func (s DescribeLogGroupsOutput) GoString() string {
5917	return s.String()
5918}
5919
5920// SetLogGroups sets the LogGroups field's value.
5921func (s *DescribeLogGroupsOutput) SetLogGroups(v []*LogGroup) *DescribeLogGroupsOutput {
5922	s.LogGroups = v
5923	return s
5924}
5925
5926// SetNextToken sets the NextToken field's value.
5927func (s *DescribeLogGroupsOutput) SetNextToken(v string) *DescribeLogGroupsOutput {
5928	s.NextToken = &v
5929	return s
5930}
5931
5932type DescribeLogStreamsInput struct {
5933	_ struct{} `type:"structure"`
5934
5935	// If the value is true, results are returned in descending order. If the value
5936	// is to false, results are returned in ascending order. The default value is
5937	// false.
5938	Descending *bool `locationName:"descending" type:"boolean"`
5939
5940	// The maximum number of items returned. If you don't specify a value, the default
5941	// is up to 50 items.
5942	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
5943
5944	// The name of the log group.
5945	//
5946	// LogGroupName is a required field
5947	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
5948
5949	// The prefix to match.
5950	//
5951	// If orderBy is LastEventTime, you cannot specify this parameter.
5952	LogStreamNamePrefix *string `locationName:"logStreamNamePrefix" min:"1" type:"string"`
5953
5954	// The token for the next set of items to return. (You received this token from
5955	// a previous call.)
5956	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5957
5958	// If the value is LogStreamName, the results are ordered by log stream name.
5959	// If the value is LastEventTime, the results are ordered by the event time.
5960	// The default value is LogStreamName.
5961	//
5962	// If you order the results by event time, you cannot specify the logStreamNamePrefix
5963	// parameter.
5964	//
5965	// lastEventTimestamp represents the time of the most recent log event in the
5966	// log stream in CloudWatch Logs. This number is expressed as the number of
5967	// milliseconds after Jan 1, 1970 00:00:00 UTC. lastEventTimestamp updates on
5968	// an eventual consistency basis. It typically updates in less than an hour
5969	// from ingestion, but in rare situations might take longer.
5970	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
5971}
5972
5973// String returns the string representation.
5974//
5975// API parameter values that are decorated as "sensitive" in the API will not
5976// be included in the string output. The member name will be present, but the
5977// value will be replaced with "sensitive".
5978func (s DescribeLogStreamsInput) String() string {
5979	return awsutil.Prettify(s)
5980}
5981
5982// GoString returns the string representation.
5983//
5984// API parameter values that are decorated as "sensitive" in the API will not
5985// be included in the string output. The member name will be present, but the
5986// value will be replaced with "sensitive".
5987func (s DescribeLogStreamsInput) GoString() string {
5988	return s.String()
5989}
5990
5991// Validate inspects the fields of the type to determine if they are valid.
5992func (s *DescribeLogStreamsInput) Validate() error {
5993	invalidParams := request.ErrInvalidParams{Context: "DescribeLogStreamsInput"}
5994	if s.Limit != nil && *s.Limit < 1 {
5995		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
5996	}
5997	if s.LogGroupName == nil {
5998		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
5999	}
6000	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
6001		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
6002	}
6003	if s.LogStreamNamePrefix != nil && len(*s.LogStreamNamePrefix) < 1 {
6004		invalidParams.Add(request.NewErrParamMinLen("LogStreamNamePrefix", 1))
6005	}
6006	if s.NextToken != nil && len(*s.NextToken) < 1 {
6007		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6008	}
6009
6010	if invalidParams.Len() > 0 {
6011		return invalidParams
6012	}
6013	return nil
6014}
6015
6016// SetDescending sets the Descending field's value.
6017func (s *DescribeLogStreamsInput) SetDescending(v bool) *DescribeLogStreamsInput {
6018	s.Descending = &v
6019	return s
6020}
6021
6022// SetLimit sets the Limit field's value.
6023func (s *DescribeLogStreamsInput) SetLimit(v int64) *DescribeLogStreamsInput {
6024	s.Limit = &v
6025	return s
6026}
6027
6028// SetLogGroupName sets the LogGroupName field's value.
6029func (s *DescribeLogStreamsInput) SetLogGroupName(v string) *DescribeLogStreamsInput {
6030	s.LogGroupName = &v
6031	return s
6032}
6033
6034// SetLogStreamNamePrefix sets the LogStreamNamePrefix field's value.
6035func (s *DescribeLogStreamsInput) SetLogStreamNamePrefix(v string) *DescribeLogStreamsInput {
6036	s.LogStreamNamePrefix = &v
6037	return s
6038}
6039
6040// SetNextToken sets the NextToken field's value.
6041func (s *DescribeLogStreamsInput) SetNextToken(v string) *DescribeLogStreamsInput {
6042	s.NextToken = &v
6043	return s
6044}
6045
6046// SetOrderBy sets the OrderBy field's value.
6047func (s *DescribeLogStreamsInput) SetOrderBy(v string) *DescribeLogStreamsInput {
6048	s.OrderBy = &v
6049	return s
6050}
6051
6052type DescribeLogStreamsOutput struct {
6053	_ struct{} `type:"structure"`
6054
6055	// The log streams.
6056	LogStreams []*LogStream `locationName:"logStreams" type:"list"`
6057
6058	// The token for the next set of items to return. The token expires after 24
6059	// hours.
6060	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6061}
6062
6063// String returns the string representation.
6064//
6065// API parameter values that are decorated as "sensitive" in the API will not
6066// be included in the string output. The member name will be present, but the
6067// value will be replaced with "sensitive".
6068func (s DescribeLogStreamsOutput) String() string {
6069	return awsutil.Prettify(s)
6070}
6071
6072// GoString returns the string representation.
6073//
6074// API parameter values that are decorated as "sensitive" in the API will not
6075// be included in the string output. The member name will be present, but the
6076// value will be replaced with "sensitive".
6077func (s DescribeLogStreamsOutput) GoString() string {
6078	return s.String()
6079}
6080
6081// SetLogStreams sets the LogStreams field's value.
6082func (s *DescribeLogStreamsOutput) SetLogStreams(v []*LogStream) *DescribeLogStreamsOutput {
6083	s.LogStreams = v
6084	return s
6085}
6086
6087// SetNextToken sets the NextToken field's value.
6088func (s *DescribeLogStreamsOutput) SetNextToken(v string) *DescribeLogStreamsOutput {
6089	s.NextToken = &v
6090	return s
6091}
6092
6093type DescribeMetricFiltersInput struct {
6094	_ struct{} `type:"structure"`
6095
6096	// The prefix to match. CloudWatch Logs uses the value you set here only if
6097	// you also include the logGroupName parameter in your request.
6098	FilterNamePrefix *string `locationName:"filterNamePrefix" min:"1" type:"string"`
6099
6100	// The maximum number of items returned. If you don't specify a value, the default
6101	// is up to 50 items.
6102	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
6103
6104	// The name of the log group.
6105	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
6106
6107	// Filters results to include only those with the specified metric name. If
6108	// you include this parameter in your request, you must also include the metricNamespace
6109	// parameter.
6110	MetricName *string `locationName:"metricName" type:"string"`
6111
6112	// Filters results to include only those in the specified namespace. If you
6113	// include this parameter in your request, you must also include the metricName
6114	// parameter.
6115	MetricNamespace *string `locationName:"metricNamespace" type:"string"`
6116
6117	// The token for the next set of items to return. (You received this token from
6118	// a previous call.)
6119	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6120}
6121
6122// String returns the string representation.
6123//
6124// API parameter values that are decorated as "sensitive" in the API will not
6125// be included in the string output. The member name will be present, but the
6126// value will be replaced with "sensitive".
6127func (s DescribeMetricFiltersInput) String() string {
6128	return awsutil.Prettify(s)
6129}
6130
6131// GoString returns the string representation.
6132//
6133// API parameter values that are decorated as "sensitive" in the API will not
6134// be included in the string output. The member name will be present, but the
6135// value will be replaced with "sensitive".
6136func (s DescribeMetricFiltersInput) GoString() string {
6137	return s.String()
6138}
6139
6140// Validate inspects the fields of the type to determine if they are valid.
6141func (s *DescribeMetricFiltersInput) Validate() error {
6142	invalidParams := request.ErrInvalidParams{Context: "DescribeMetricFiltersInput"}
6143	if s.FilterNamePrefix != nil && len(*s.FilterNamePrefix) < 1 {
6144		invalidParams.Add(request.NewErrParamMinLen("FilterNamePrefix", 1))
6145	}
6146	if s.Limit != nil && *s.Limit < 1 {
6147		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6148	}
6149	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
6150		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
6151	}
6152	if s.NextToken != nil && len(*s.NextToken) < 1 {
6153		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6154	}
6155
6156	if invalidParams.Len() > 0 {
6157		return invalidParams
6158	}
6159	return nil
6160}
6161
6162// SetFilterNamePrefix sets the FilterNamePrefix field's value.
6163func (s *DescribeMetricFiltersInput) SetFilterNamePrefix(v string) *DescribeMetricFiltersInput {
6164	s.FilterNamePrefix = &v
6165	return s
6166}
6167
6168// SetLimit sets the Limit field's value.
6169func (s *DescribeMetricFiltersInput) SetLimit(v int64) *DescribeMetricFiltersInput {
6170	s.Limit = &v
6171	return s
6172}
6173
6174// SetLogGroupName sets the LogGroupName field's value.
6175func (s *DescribeMetricFiltersInput) SetLogGroupName(v string) *DescribeMetricFiltersInput {
6176	s.LogGroupName = &v
6177	return s
6178}
6179
6180// SetMetricName sets the MetricName field's value.
6181func (s *DescribeMetricFiltersInput) SetMetricName(v string) *DescribeMetricFiltersInput {
6182	s.MetricName = &v
6183	return s
6184}
6185
6186// SetMetricNamespace sets the MetricNamespace field's value.
6187func (s *DescribeMetricFiltersInput) SetMetricNamespace(v string) *DescribeMetricFiltersInput {
6188	s.MetricNamespace = &v
6189	return s
6190}
6191
6192// SetNextToken sets the NextToken field's value.
6193func (s *DescribeMetricFiltersInput) SetNextToken(v string) *DescribeMetricFiltersInput {
6194	s.NextToken = &v
6195	return s
6196}
6197
6198type DescribeMetricFiltersOutput struct {
6199	_ struct{} `type:"structure"`
6200
6201	// The metric filters.
6202	MetricFilters []*MetricFilter `locationName:"metricFilters" type:"list"`
6203
6204	// The token for the next set of items to return. The token expires after 24
6205	// hours.
6206	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6207}
6208
6209// String returns the string representation.
6210//
6211// API parameter values that are decorated as "sensitive" in the API will not
6212// be included in the string output. The member name will be present, but the
6213// value will be replaced with "sensitive".
6214func (s DescribeMetricFiltersOutput) String() string {
6215	return awsutil.Prettify(s)
6216}
6217
6218// GoString returns the string representation.
6219//
6220// API parameter values that are decorated as "sensitive" in the API will not
6221// be included in the string output. The member name will be present, but the
6222// value will be replaced with "sensitive".
6223func (s DescribeMetricFiltersOutput) GoString() string {
6224	return s.String()
6225}
6226
6227// SetMetricFilters sets the MetricFilters field's value.
6228func (s *DescribeMetricFiltersOutput) SetMetricFilters(v []*MetricFilter) *DescribeMetricFiltersOutput {
6229	s.MetricFilters = v
6230	return s
6231}
6232
6233// SetNextToken sets the NextToken field's value.
6234func (s *DescribeMetricFiltersOutput) SetNextToken(v string) *DescribeMetricFiltersOutput {
6235	s.NextToken = &v
6236	return s
6237}
6238
6239type DescribeQueriesInput struct {
6240	_ struct{} `type:"structure"`
6241
6242	// Limits the returned queries to only those for the specified log group.
6243	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
6244
6245	// Limits the number of returned queries to the specified number.
6246	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6247
6248	// The token for the next set of items to return. The token expires after 24
6249	// hours.
6250	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6251
6252	// Limits the returned queries to only those that have the specified status.
6253	// Valid values are Cancelled, Complete, Failed, Running, and Scheduled.
6254	Status *string `locationName:"status" type:"string" enum:"QueryStatus"`
6255}
6256
6257// String returns the string representation.
6258//
6259// API parameter values that are decorated as "sensitive" in the API will not
6260// be included in the string output. The member name will be present, but the
6261// value will be replaced with "sensitive".
6262func (s DescribeQueriesInput) String() string {
6263	return awsutil.Prettify(s)
6264}
6265
6266// GoString returns the string representation.
6267//
6268// API parameter values that are decorated as "sensitive" in the API will not
6269// be included in the string output. The member name will be present, but the
6270// value will be replaced with "sensitive".
6271func (s DescribeQueriesInput) GoString() string {
6272	return s.String()
6273}
6274
6275// Validate inspects the fields of the type to determine if they are valid.
6276func (s *DescribeQueriesInput) Validate() error {
6277	invalidParams := request.ErrInvalidParams{Context: "DescribeQueriesInput"}
6278	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
6279		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
6280	}
6281	if s.MaxResults != nil && *s.MaxResults < 1 {
6282		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6283	}
6284	if s.NextToken != nil && len(*s.NextToken) < 1 {
6285		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6286	}
6287
6288	if invalidParams.Len() > 0 {
6289		return invalidParams
6290	}
6291	return nil
6292}
6293
6294// SetLogGroupName sets the LogGroupName field's value.
6295func (s *DescribeQueriesInput) SetLogGroupName(v string) *DescribeQueriesInput {
6296	s.LogGroupName = &v
6297	return s
6298}
6299
6300// SetMaxResults sets the MaxResults field's value.
6301func (s *DescribeQueriesInput) SetMaxResults(v int64) *DescribeQueriesInput {
6302	s.MaxResults = &v
6303	return s
6304}
6305
6306// SetNextToken sets the NextToken field's value.
6307func (s *DescribeQueriesInput) SetNextToken(v string) *DescribeQueriesInput {
6308	s.NextToken = &v
6309	return s
6310}
6311
6312// SetStatus sets the Status field's value.
6313func (s *DescribeQueriesInput) SetStatus(v string) *DescribeQueriesInput {
6314	s.Status = &v
6315	return s
6316}
6317
6318type DescribeQueriesOutput struct {
6319	_ struct{} `type:"structure"`
6320
6321	// The token for the next set of items to return. The token expires after 24
6322	// hours.
6323	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6324
6325	// The list of queries that match the request.
6326	Queries []*QueryInfo `locationName:"queries" type:"list"`
6327}
6328
6329// String returns the string representation.
6330//
6331// API parameter values that are decorated as "sensitive" in the API will not
6332// be included in the string output. The member name will be present, but the
6333// value will be replaced with "sensitive".
6334func (s DescribeQueriesOutput) String() string {
6335	return awsutil.Prettify(s)
6336}
6337
6338// GoString returns the string representation.
6339//
6340// API parameter values that are decorated as "sensitive" in the API will not
6341// be included in the string output. The member name will be present, but the
6342// value will be replaced with "sensitive".
6343func (s DescribeQueriesOutput) GoString() string {
6344	return s.String()
6345}
6346
6347// SetNextToken sets the NextToken field's value.
6348func (s *DescribeQueriesOutput) SetNextToken(v string) *DescribeQueriesOutput {
6349	s.NextToken = &v
6350	return s
6351}
6352
6353// SetQueries sets the Queries field's value.
6354func (s *DescribeQueriesOutput) SetQueries(v []*QueryInfo) *DescribeQueriesOutput {
6355	s.Queries = v
6356	return s
6357}
6358
6359type DescribeQueryDefinitionsInput struct {
6360	_ struct{} `type:"structure"`
6361
6362	// Limits the number of returned query definitions to the specified number.
6363	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6364
6365	// The token for the next set of items to return. The token expires after 24
6366	// hours.
6367	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6368
6369	// Use this parameter to filter your results to only the query definitions that
6370	// have names that start with the prefix you specify.
6371	QueryDefinitionNamePrefix *string `locationName:"queryDefinitionNamePrefix" min:"1" type:"string"`
6372}
6373
6374// String returns the string representation.
6375//
6376// API parameter values that are decorated as "sensitive" in the API will not
6377// be included in the string output. The member name will be present, but the
6378// value will be replaced with "sensitive".
6379func (s DescribeQueryDefinitionsInput) String() string {
6380	return awsutil.Prettify(s)
6381}
6382
6383// GoString returns the string representation.
6384//
6385// API parameter values that are decorated as "sensitive" in the API will not
6386// be included in the string output. The member name will be present, but the
6387// value will be replaced with "sensitive".
6388func (s DescribeQueryDefinitionsInput) GoString() string {
6389	return s.String()
6390}
6391
6392// Validate inspects the fields of the type to determine if they are valid.
6393func (s *DescribeQueryDefinitionsInput) Validate() error {
6394	invalidParams := request.ErrInvalidParams{Context: "DescribeQueryDefinitionsInput"}
6395	if s.MaxResults != nil && *s.MaxResults < 1 {
6396		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6397	}
6398	if s.NextToken != nil && len(*s.NextToken) < 1 {
6399		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6400	}
6401	if s.QueryDefinitionNamePrefix != nil && len(*s.QueryDefinitionNamePrefix) < 1 {
6402		invalidParams.Add(request.NewErrParamMinLen("QueryDefinitionNamePrefix", 1))
6403	}
6404
6405	if invalidParams.Len() > 0 {
6406		return invalidParams
6407	}
6408	return nil
6409}
6410
6411// SetMaxResults sets the MaxResults field's value.
6412func (s *DescribeQueryDefinitionsInput) SetMaxResults(v int64) *DescribeQueryDefinitionsInput {
6413	s.MaxResults = &v
6414	return s
6415}
6416
6417// SetNextToken sets the NextToken field's value.
6418func (s *DescribeQueryDefinitionsInput) SetNextToken(v string) *DescribeQueryDefinitionsInput {
6419	s.NextToken = &v
6420	return s
6421}
6422
6423// SetQueryDefinitionNamePrefix sets the QueryDefinitionNamePrefix field's value.
6424func (s *DescribeQueryDefinitionsInput) SetQueryDefinitionNamePrefix(v string) *DescribeQueryDefinitionsInput {
6425	s.QueryDefinitionNamePrefix = &v
6426	return s
6427}
6428
6429type DescribeQueryDefinitionsOutput struct {
6430	_ struct{} `type:"structure"`
6431
6432	// The token for the next set of items to return. The token expires after 24
6433	// hours.
6434	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6435
6436	// The list of query definitions that match your request.
6437	QueryDefinitions []*QueryDefinition `locationName:"queryDefinitions" type:"list"`
6438}
6439
6440// String returns the string representation.
6441//
6442// API parameter values that are decorated as "sensitive" in the API will not
6443// be included in the string output. The member name will be present, but the
6444// value will be replaced with "sensitive".
6445func (s DescribeQueryDefinitionsOutput) String() string {
6446	return awsutil.Prettify(s)
6447}
6448
6449// GoString returns the string representation.
6450//
6451// API parameter values that are decorated as "sensitive" in the API will not
6452// be included in the string output. The member name will be present, but the
6453// value will be replaced with "sensitive".
6454func (s DescribeQueryDefinitionsOutput) GoString() string {
6455	return s.String()
6456}
6457
6458// SetNextToken sets the NextToken field's value.
6459func (s *DescribeQueryDefinitionsOutput) SetNextToken(v string) *DescribeQueryDefinitionsOutput {
6460	s.NextToken = &v
6461	return s
6462}
6463
6464// SetQueryDefinitions sets the QueryDefinitions field's value.
6465func (s *DescribeQueryDefinitionsOutput) SetQueryDefinitions(v []*QueryDefinition) *DescribeQueryDefinitionsOutput {
6466	s.QueryDefinitions = v
6467	return s
6468}
6469
6470type DescribeResourcePoliciesInput struct {
6471	_ struct{} `type:"structure"`
6472
6473	// The maximum number of resource policies to be displayed with one call of
6474	// this API.
6475	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
6476
6477	// The token for the next set of items to return. The token expires after 24
6478	// hours.
6479	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6480}
6481
6482// String returns the string representation.
6483//
6484// API parameter values that are decorated as "sensitive" in the API will not
6485// be included in the string output. The member name will be present, but the
6486// value will be replaced with "sensitive".
6487func (s DescribeResourcePoliciesInput) String() string {
6488	return awsutil.Prettify(s)
6489}
6490
6491// GoString returns the string representation.
6492//
6493// API parameter values that are decorated as "sensitive" in the API will not
6494// be included in the string output. The member name will be present, but the
6495// value will be replaced with "sensitive".
6496func (s DescribeResourcePoliciesInput) GoString() string {
6497	return s.String()
6498}
6499
6500// Validate inspects the fields of the type to determine if they are valid.
6501func (s *DescribeResourcePoliciesInput) Validate() error {
6502	invalidParams := request.ErrInvalidParams{Context: "DescribeResourcePoliciesInput"}
6503	if s.Limit != nil && *s.Limit < 1 {
6504		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6505	}
6506	if s.NextToken != nil && len(*s.NextToken) < 1 {
6507		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6508	}
6509
6510	if invalidParams.Len() > 0 {
6511		return invalidParams
6512	}
6513	return nil
6514}
6515
6516// SetLimit sets the Limit field's value.
6517func (s *DescribeResourcePoliciesInput) SetLimit(v int64) *DescribeResourcePoliciesInput {
6518	s.Limit = &v
6519	return s
6520}
6521
6522// SetNextToken sets the NextToken field's value.
6523func (s *DescribeResourcePoliciesInput) SetNextToken(v string) *DescribeResourcePoliciesInput {
6524	s.NextToken = &v
6525	return s
6526}
6527
6528type DescribeResourcePoliciesOutput struct {
6529	_ struct{} `type:"structure"`
6530
6531	// The token for the next set of items to return. The token expires after 24
6532	// hours.
6533	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6534
6535	// The resource policies that exist in this account.
6536	ResourcePolicies []*ResourcePolicy `locationName:"resourcePolicies" type:"list"`
6537}
6538
6539// String returns the string representation.
6540//
6541// API parameter values that are decorated as "sensitive" in the API will not
6542// be included in the string output. The member name will be present, but the
6543// value will be replaced with "sensitive".
6544func (s DescribeResourcePoliciesOutput) String() string {
6545	return awsutil.Prettify(s)
6546}
6547
6548// GoString returns the string representation.
6549//
6550// API parameter values that are decorated as "sensitive" in the API will not
6551// be included in the string output. The member name will be present, but the
6552// value will be replaced with "sensitive".
6553func (s DescribeResourcePoliciesOutput) GoString() string {
6554	return s.String()
6555}
6556
6557// SetNextToken sets the NextToken field's value.
6558func (s *DescribeResourcePoliciesOutput) SetNextToken(v string) *DescribeResourcePoliciesOutput {
6559	s.NextToken = &v
6560	return s
6561}
6562
6563// SetResourcePolicies sets the ResourcePolicies field's value.
6564func (s *DescribeResourcePoliciesOutput) SetResourcePolicies(v []*ResourcePolicy) *DescribeResourcePoliciesOutput {
6565	s.ResourcePolicies = v
6566	return s
6567}
6568
6569type DescribeSubscriptionFiltersInput struct {
6570	_ struct{} `type:"structure"`
6571
6572	// The prefix to match. If you don't specify a value, no prefix filter is applied.
6573	FilterNamePrefix *string `locationName:"filterNamePrefix" min:"1" type:"string"`
6574
6575	// The maximum number of items returned. If you don't specify a value, the default
6576	// is up to 50 items.
6577	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
6578
6579	// The name of the log group.
6580	//
6581	// LogGroupName is a required field
6582	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
6583
6584	// The token for the next set of items to return. (You received this token from
6585	// a previous call.)
6586	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6587}
6588
6589// String returns the string representation.
6590//
6591// API parameter values that are decorated as "sensitive" in the API will not
6592// be included in the string output. The member name will be present, but the
6593// value will be replaced with "sensitive".
6594func (s DescribeSubscriptionFiltersInput) String() string {
6595	return awsutil.Prettify(s)
6596}
6597
6598// GoString returns the string representation.
6599//
6600// API parameter values that are decorated as "sensitive" in the API will not
6601// be included in the string output. The member name will be present, but the
6602// value will be replaced with "sensitive".
6603func (s DescribeSubscriptionFiltersInput) GoString() string {
6604	return s.String()
6605}
6606
6607// Validate inspects the fields of the type to determine if they are valid.
6608func (s *DescribeSubscriptionFiltersInput) Validate() error {
6609	invalidParams := request.ErrInvalidParams{Context: "DescribeSubscriptionFiltersInput"}
6610	if s.FilterNamePrefix != nil && len(*s.FilterNamePrefix) < 1 {
6611		invalidParams.Add(request.NewErrParamMinLen("FilterNamePrefix", 1))
6612	}
6613	if s.Limit != nil && *s.Limit < 1 {
6614		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6615	}
6616	if s.LogGroupName == nil {
6617		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
6618	}
6619	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
6620		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
6621	}
6622	if s.NextToken != nil && len(*s.NextToken) < 1 {
6623		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6624	}
6625
6626	if invalidParams.Len() > 0 {
6627		return invalidParams
6628	}
6629	return nil
6630}
6631
6632// SetFilterNamePrefix sets the FilterNamePrefix field's value.
6633func (s *DescribeSubscriptionFiltersInput) SetFilterNamePrefix(v string) *DescribeSubscriptionFiltersInput {
6634	s.FilterNamePrefix = &v
6635	return s
6636}
6637
6638// SetLimit sets the Limit field's value.
6639func (s *DescribeSubscriptionFiltersInput) SetLimit(v int64) *DescribeSubscriptionFiltersInput {
6640	s.Limit = &v
6641	return s
6642}
6643
6644// SetLogGroupName sets the LogGroupName field's value.
6645func (s *DescribeSubscriptionFiltersInput) SetLogGroupName(v string) *DescribeSubscriptionFiltersInput {
6646	s.LogGroupName = &v
6647	return s
6648}
6649
6650// SetNextToken sets the NextToken field's value.
6651func (s *DescribeSubscriptionFiltersInput) SetNextToken(v string) *DescribeSubscriptionFiltersInput {
6652	s.NextToken = &v
6653	return s
6654}
6655
6656type DescribeSubscriptionFiltersOutput struct {
6657	_ struct{} `type:"structure"`
6658
6659	// The token for the next set of items to return. The token expires after 24
6660	// hours.
6661	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6662
6663	// The subscription filters.
6664	SubscriptionFilters []*SubscriptionFilter `locationName:"subscriptionFilters" type:"list"`
6665}
6666
6667// String returns the string representation.
6668//
6669// API parameter values that are decorated as "sensitive" in the API will not
6670// be included in the string output. The member name will be present, but the
6671// value will be replaced with "sensitive".
6672func (s DescribeSubscriptionFiltersOutput) String() string {
6673	return awsutil.Prettify(s)
6674}
6675
6676// GoString returns the string representation.
6677//
6678// API parameter values that are decorated as "sensitive" in the API will not
6679// be included in the string output. The member name will be present, but the
6680// value will be replaced with "sensitive".
6681func (s DescribeSubscriptionFiltersOutput) GoString() string {
6682	return s.String()
6683}
6684
6685// SetNextToken sets the NextToken field's value.
6686func (s *DescribeSubscriptionFiltersOutput) SetNextToken(v string) *DescribeSubscriptionFiltersOutput {
6687	s.NextToken = &v
6688	return s
6689}
6690
6691// SetSubscriptionFilters sets the SubscriptionFilters field's value.
6692func (s *DescribeSubscriptionFiltersOutput) SetSubscriptionFilters(v []*SubscriptionFilter) *DescribeSubscriptionFiltersOutput {
6693	s.SubscriptionFilters = v
6694	return s
6695}
6696
6697// Represents a cross-account destination that receives subscription log events.
6698type Destination struct {
6699	_ struct{} `type:"structure"`
6700
6701	// An IAM policy document that governs which Amazon Web Services accounts can
6702	// create subscription filters against this destination.
6703	AccessPolicy *string `locationName:"accessPolicy" min:"1" type:"string"`
6704
6705	// The ARN of this destination.
6706	Arn *string `locationName:"arn" type:"string"`
6707
6708	// The creation time of the destination, expressed as the number of milliseconds
6709	// after Jan 1, 1970 00:00:00 UTC.
6710	CreationTime *int64 `locationName:"creationTime" type:"long"`
6711
6712	// The name of the destination.
6713	DestinationName *string `locationName:"destinationName" min:"1" type:"string"`
6714
6715	// A role for impersonation, used when delivering log events to the target.
6716	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
6717
6718	// The Amazon Resource Name (ARN) of the physical target where the log events
6719	// are delivered (for example, a Kinesis stream).
6720	TargetArn *string `locationName:"targetArn" min:"1" type:"string"`
6721}
6722
6723// String returns the string representation.
6724//
6725// API parameter values that are decorated as "sensitive" in the API will not
6726// be included in the string output. The member name will be present, but the
6727// value will be replaced with "sensitive".
6728func (s Destination) String() string {
6729	return awsutil.Prettify(s)
6730}
6731
6732// GoString returns the string representation.
6733//
6734// API parameter values that are decorated as "sensitive" in the API will not
6735// be included in the string output. The member name will be present, but the
6736// value will be replaced with "sensitive".
6737func (s Destination) GoString() string {
6738	return s.String()
6739}
6740
6741// SetAccessPolicy sets the AccessPolicy field's value.
6742func (s *Destination) SetAccessPolicy(v string) *Destination {
6743	s.AccessPolicy = &v
6744	return s
6745}
6746
6747// SetArn sets the Arn field's value.
6748func (s *Destination) SetArn(v string) *Destination {
6749	s.Arn = &v
6750	return s
6751}
6752
6753// SetCreationTime sets the CreationTime field's value.
6754func (s *Destination) SetCreationTime(v int64) *Destination {
6755	s.CreationTime = &v
6756	return s
6757}
6758
6759// SetDestinationName sets the DestinationName field's value.
6760func (s *Destination) SetDestinationName(v string) *Destination {
6761	s.DestinationName = &v
6762	return s
6763}
6764
6765// SetRoleArn sets the RoleArn field's value.
6766func (s *Destination) SetRoleArn(v string) *Destination {
6767	s.RoleArn = &v
6768	return s
6769}
6770
6771// SetTargetArn sets the TargetArn field's value.
6772func (s *Destination) SetTargetArn(v string) *Destination {
6773	s.TargetArn = &v
6774	return s
6775}
6776
6777type DisassociateKmsKeyInput struct {
6778	_ struct{} `type:"structure"`
6779
6780	// The name of the log group.
6781	//
6782	// LogGroupName is a required field
6783	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
6784}
6785
6786// String returns the string representation.
6787//
6788// API parameter values that are decorated as "sensitive" in the API will not
6789// be included in the string output. The member name will be present, but the
6790// value will be replaced with "sensitive".
6791func (s DisassociateKmsKeyInput) String() string {
6792	return awsutil.Prettify(s)
6793}
6794
6795// GoString returns the string representation.
6796//
6797// API parameter values that are decorated as "sensitive" in the API will not
6798// be included in the string output. The member name will be present, but the
6799// value will be replaced with "sensitive".
6800func (s DisassociateKmsKeyInput) GoString() string {
6801	return s.String()
6802}
6803
6804// Validate inspects the fields of the type to determine if they are valid.
6805func (s *DisassociateKmsKeyInput) Validate() error {
6806	invalidParams := request.ErrInvalidParams{Context: "DisassociateKmsKeyInput"}
6807	if s.LogGroupName == nil {
6808		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
6809	}
6810	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
6811		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
6812	}
6813
6814	if invalidParams.Len() > 0 {
6815		return invalidParams
6816	}
6817	return nil
6818}
6819
6820// SetLogGroupName sets the LogGroupName field's value.
6821func (s *DisassociateKmsKeyInput) SetLogGroupName(v string) *DisassociateKmsKeyInput {
6822	s.LogGroupName = &v
6823	return s
6824}
6825
6826type DisassociateKmsKeyOutput struct {
6827	_ struct{} `type:"structure"`
6828}
6829
6830// String returns the string representation.
6831//
6832// API parameter values that are decorated as "sensitive" in the API will not
6833// be included in the string output. The member name will be present, but the
6834// value will be replaced with "sensitive".
6835func (s DisassociateKmsKeyOutput) String() string {
6836	return awsutil.Prettify(s)
6837}
6838
6839// GoString returns the string representation.
6840//
6841// API parameter values that are decorated as "sensitive" in the API will not
6842// be included in the string output. The member name will be present, but the
6843// value will be replaced with "sensitive".
6844func (s DisassociateKmsKeyOutput) GoString() string {
6845	return s.String()
6846}
6847
6848// Represents an export task.
6849type ExportTask struct {
6850	_ struct{} `type:"structure"`
6851
6852	// The name of the S3 bucket to which the log data was exported.
6853	Destination *string `locationName:"destination" min:"1" type:"string"`
6854
6855	// The prefix that was used as the start of Amazon S3 key for every object exported.
6856	DestinationPrefix *string `locationName:"destinationPrefix" type:"string"`
6857
6858	// Execution information about the export task.
6859	ExecutionInfo *ExportTaskExecutionInfo `locationName:"executionInfo" type:"structure"`
6860
6861	// The start time, expressed as the number of milliseconds after Jan 1, 1970
6862	// 00:00:00 UTC. Events with a timestamp before this time are not exported.
6863	From *int64 `locationName:"from" type:"long"`
6864
6865	// The name of the log group from which logs data was exported.
6866	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
6867
6868	// The status of the export task.
6869	Status *ExportTaskStatus `locationName:"status" type:"structure"`
6870
6871	// The ID of the export task.
6872	TaskId *string `locationName:"taskId" min:"1" type:"string"`
6873
6874	// The name of the export task.
6875	TaskName *string `locationName:"taskName" min:"1" type:"string"`
6876
6877	// The end time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00
6878	// UTC. Events with a timestamp later than this time are not exported.
6879	To *int64 `locationName:"to" type:"long"`
6880}
6881
6882// String returns the string representation.
6883//
6884// API parameter values that are decorated as "sensitive" in the API will not
6885// be included in the string output. The member name will be present, but the
6886// value will be replaced with "sensitive".
6887func (s ExportTask) String() string {
6888	return awsutil.Prettify(s)
6889}
6890
6891// GoString returns the string representation.
6892//
6893// API parameter values that are decorated as "sensitive" in the API will not
6894// be included in the string output. The member name will be present, but the
6895// value will be replaced with "sensitive".
6896func (s ExportTask) GoString() string {
6897	return s.String()
6898}
6899
6900// SetDestination sets the Destination field's value.
6901func (s *ExportTask) SetDestination(v string) *ExportTask {
6902	s.Destination = &v
6903	return s
6904}
6905
6906// SetDestinationPrefix sets the DestinationPrefix field's value.
6907func (s *ExportTask) SetDestinationPrefix(v string) *ExportTask {
6908	s.DestinationPrefix = &v
6909	return s
6910}
6911
6912// SetExecutionInfo sets the ExecutionInfo field's value.
6913func (s *ExportTask) SetExecutionInfo(v *ExportTaskExecutionInfo) *ExportTask {
6914	s.ExecutionInfo = v
6915	return s
6916}
6917
6918// SetFrom sets the From field's value.
6919func (s *ExportTask) SetFrom(v int64) *ExportTask {
6920	s.From = &v
6921	return s
6922}
6923
6924// SetLogGroupName sets the LogGroupName field's value.
6925func (s *ExportTask) SetLogGroupName(v string) *ExportTask {
6926	s.LogGroupName = &v
6927	return s
6928}
6929
6930// SetStatus sets the Status field's value.
6931func (s *ExportTask) SetStatus(v *ExportTaskStatus) *ExportTask {
6932	s.Status = v
6933	return s
6934}
6935
6936// SetTaskId sets the TaskId field's value.
6937func (s *ExportTask) SetTaskId(v string) *ExportTask {
6938	s.TaskId = &v
6939	return s
6940}
6941
6942// SetTaskName sets the TaskName field's value.
6943func (s *ExportTask) SetTaskName(v string) *ExportTask {
6944	s.TaskName = &v
6945	return s
6946}
6947
6948// SetTo sets the To field's value.
6949func (s *ExportTask) SetTo(v int64) *ExportTask {
6950	s.To = &v
6951	return s
6952}
6953
6954// Represents the status of an export task.
6955type ExportTaskExecutionInfo struct {
6956	_ struct{} `type:"structure"`
6957
6958	// The completion time of the export task, expressed as the number of milliseconds
6959	// after Jan 1, 1970 00:00:00 UTC.
6960	CompletionTime *int64 `locationName:"completionTime" type:"long"`
6961
6962	// The creation time of the export task, expressed as the number of milliseconds
6963	// after Jan 1, 1970 00:00:00 UTC.
6964	CreationTime *int64 `locationName:"creationTime" type:"long"`
6965}
6966
6967// String returns the string representation.
6968//
6969// API parameter values that are decorated as "sensitive" in the API will not
6970// be included in the string output. The member name will be present, but the
6971// value will be replaced with "sensitive".
6972func (s ExportTaskExecutionInfo) String() string {
6973	return awsutil.Prettify(s)
6974}
6975
6976// GoString returns the string representation.
6977//
6978// API parameter values that are decorated as "sensitive" in the API will not
6979// be included in the string output. The member name will be present, but the
6980// value will be replaced with "sensitive".
6981func (s ExportTaskExecutionInfo) GoString() string {
6982	return s.String()
6983}
6984
6985// SetCompletionTime sets the CompletionTime field's value.
6986func (s *ExportTaskExecutionInfo) SetCompletionTime(v int64) *ExportTaskExecutionInfo {
6987	s.CompletionTime = &v
6988	return s
6989}
6990
6991// SetCreationTime sets the CreationTime field's value.
6992func (s *ExportTaskExecutionInfo) SetCreationTime(v int64) *ExportTaskExecutionInfo {
6993	s.CreationTime = &v
6994	return s
6995}
6996
6997// Represents the status of an export task.
6998type ExportTaskStatus struct {
6999	_ struct{} `type:"structure"`
7000
7001	// The status code of the export task.
7002	Code *string `locationName:"code" type:"string" enum:"ExportTaskStatusCode"`
7003
7004	// The status message related to the status code.
7005	Message *string `locationName:"message" type:"string"`
7006}
7007
7008// String returns the string representation.
7009//
7010// API parameter values that are decorated as "sensitive" in the API will not
7011// be included in the string output. The member name will be present, but the
7012// value will be replaced with "sensitive".
7013func (s ExportTaskStatus) String() string {
7014	return awsutil.Prettify(s)
7015}
7016
7017// GoString returns the string representation.
7018//
7019// API parameter values that are decorated as "sensitive" in the API will not
7020// be included in the string output. The member name will be present, but the
7021// value will be replaced with "sensitive".
7022func (s ExportTaskStatus) GoString() string {
7023	return s.String()
7024}
7025
7026// SetCode sets the Code field's value.
7027func (s *ExportTaskStatus) SetCode(v string) *ExportTaskStatus {
7028	s.Code = &v
7029	return s
7030}
7031
7032// SetMessage sets the Message field's value.
7033func (s *ExportTaskStatus) SetMessage(v string) *ExportTaskStatus {
7034	s.Message = &v
7035	return s
7036}
7037
7038type FilterLogEventsInput struct {
7039	_ struct{} `type:"structure"`
7040
7041	// The end of the time range, expressed as the number of milliseconds after
7042	// Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are
7043	// not returned.
7044	EndTime *int64 `locationName:"endTime" type:"long"`
7045
7046	// The filter pattern to use. For more information, see Filter and Pattern Syntax
7047	// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).
7048	//
7049	// If not provided, all the events are matched.
7050	FilterPattern *string `locationName:"filterPattern" type:"string"`
7051
7052	// If the value is true, the operation makes a best effort to provide responses
7053	// that contain events from multiple log streams within the log group, interleaved
7054	// in a single response. If the value is false, all the matched log events in
7055	// the first log stream are searched first, then those in the next log stream,
7056	// and so on. The default is false.
7057	//
7058	// Important: Starting on June 17, 2019, this parameter is ignored and the value
7059	// is assumed to be true. The response from this operation always interleaves
7060	// events from multiple log streams within a log group.
7061	//
7062	// 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.
7063	Interleaved *bool `locationName:"interleaved" deprecated:"true" type:"boolean"`
7064
7065	// The maximum number of events to return. The default is 10,000 events.
7066	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
7067
7068	// The name of the log group to search.
7069	//
7070	// LogGroupName is a required field
7071	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
7072
7073	// Filters the results to include only events from log streams that have names
7074	// starting with this prefix.
7075	//
7076	// If you specify a value for both logStreamNamePrefix and logStreamNames, but
7077	// the value for logStreamNamePrefix does not match any log stream names specified
7078	// in logStreamNames, the action returns an InvalidParameterException error.
7079	LogStreamNamePrefix *string `locationName:"logStreamNamePrefix" min:"1" type:"string"`
7080
7081	// Filters the results to only logs from the log streams in this list.
7082	//
7083	// If you specify a value for both logStreamNamePrefix and logStreamNames, the
7084	// action returns an InvalidParameterException error.
7085	LogStreamNames []*string `locationName:"logStreamNames" min:"1" type:"list"`
7086
7087	// The token for the next set of events to return. (You received this token
7088	// from a previous call.)
7089	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7090
7091	// The start of the time range, expressed as the number of milliseconds after
7092	// Jan 1, 1970 00:00:00 UTC. Events with a timestamp before this time are not
7093	// returned.
7094	StartTime *int64 `locationName:"startTime" type:"long"`
7095}
7096
7097// String returns the string representation.
7098//
7099// API parameter values that are decorated as "sensitive" in the API will not
7100// be included in the string output. The member name will be present, but the
7101// value will be replaced with "sensitive".
7102func (s FilterLogEventsInput) String() string {
7103	return awsutil.Prettify(s)
7104}
7105
7106// GoString returns the string representation.
7107//
7108// API parameter values that are decorated as "sensitive" in the API will not
7109// be included in the string output. The member name will be present, but the
7110// value will be replaced with "sensitive".
7111func (s FilterLogEventsInput) GoString() string {
7112	return s.String()
7113}
7114
7115// Validate inspects the fields of the type to determine if they are valid.
7116func (s *FilterLogEventsInput) Validate() error {
7117	invalidParams := request.ErrInvalidParams{Context: "FilterLogEventsInput"}
7118	if s.Limit != nil && *s.Limit < 1 {
7119		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7120	}
7121	if s.LogGroupName == nil {
7122		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
7123	}
7124	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
7125		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
7126	}
7127	if s.LogStreamNamePrefix != nil && len(*s.LogStreamNamePrefix) < 1 {
7128		invalidParams.Add(request.NewErrParamMinLen("LogStreamNamePrefix", 1))
7129	}
7130	if s.LogStreamNames != nil && len(s.LogStreamNames) < 1 {
7131		invalidParams.Add(request.NewErrParamMinLen("LogStreamNames", 1))
7132	}
7133	if s.NextToken != nil && len(*s.NextToken) < 1 {
7134		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7135	}
7136
7137	if invalidParams.Len() > 0 {
7138		return invalidParams
7139	}
7140	return nil
7141}
7142
7143// SetEndTime sets the EndTime field's value.
7144func (s *FilterLogEventsInput) SetEndTime(v int64) *FilterLogEventsInput {
7145	s.EndTime = &v
7146	return s
7147}
7148
7149// SetFilterPattern sets the FilterPattern field's value.
7150func (s *FilterLogEventsInput) SetFilterPattern(v string) *FilterLogEventsInput {
7151	s.FilterPattern = &v
7152	return s
7153}
7154
7155// SetInterleaved sets the Interleaved field's value.
7156func (s *FilterLogEventsInput) SetInterleaved(v bool) *FilterLogEventsInput {
7157	s.Interleaved = &v
7158	return s
7159}
7160
7161// SetLimit sets the Limit field's value.
7162func (s *FilterLogEventsInput) SetLimit(v int64) *FilterLogEventsInput {
7163	s.Limit = &v
7164	return s
7165}
7166
7167// SetLogGroupName sets the LogGroupName field's value.
7168func (s *FilterLogEventsInput) SetLogGroupName(v string) *FilterLogEventsInput {
7169	s.LogGroupName = &v
7170	return s
7171}
7172
7173// SetLogStreamNamePrefix sets the LogStreamNamePrefix field's value.
7174func (s *FilterLogEventsInput) SetLogStreamNamePrefix(v string) *FilterLogEventsInput {
7175	s.LogStreamNamePrefix = &v
7176	return s
7177}
7178
7179// SetLogStreamNames sets the LogStreamNames field's value.
7180func (s *FilterLogEventsInput) SetLogStreamNames(v []*string) *FilterLogEventsInput {
7181	s.LogStreamNames = v
7182	return s
7183}
7184
7185// SetNextToken sets the NextToken field's value.
7186func (s *FilterLogEventsInput) SetNextToken(v string) *FilterLogEventsInput {
7187	s.NextToken = &v
7188	return s
7189}
7190
7191// SetStartTime sets the StartTime field's value.
7192func (s *FilterLogEventsInput) SetStartTime(v int64) *FilterLogEventsInput {
7193	s.StartTime = &v
7194	return s
7195}
7196
7197type FilterLogEventsOutput struct {
7198	_ struct{} `type:"structure"`
7199
7200	// The matched events.
7201	Events []*FilteredLogEvent `locationName:"events" type:"list"`
7202
7203	// The token to use when requesting the next set of items. The token expires
7204	// after 24 hours.
7205	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7206
7207	// IMPORTANT Starting on May 15, 2020, this parameter will be deprecated. This
7208	// parameter will be an empty list after the deprecation occurs.
7209	//
7210	// Indicates which log streams have been searched and whether each has been
7211	// searched completely.
7212	SearchedLogStreams []*SearchedLogStream `locationName:"searchedLogStreams" type:"list"`
7213}
7214
7215// String returns the string representation.
7216//
7217// API parameter values that are decorated as "sensitive" in the API will not
7218// be included in the string output. The member name will be present, but the
7219// value will be replaced with "sensitive".
7220func (s FilterLogEventsOutput) String() string {
7221	return awsutil.Prettify(s)
7222}
7223
7224// GoString returns the string representation.
7225//
7226// API parameter values that are decorated as "sensitive" in the API will not
7227// be included in the string output. The member name will be present, but the
7228// value will be replaced with "sensitive".
7229func (s FilterLogEventsOutput) GoString() string {
7230	return s.String()
7231}
7232
7233// SetEvents sets the Events field's value.
7234func (s *FilterLogEventsOutput) SetEvents(v []*FilteredLogEvent) *FilterLogEventsOutput {
7235	s.Events = v
7236	return s
7237}
7238
7239// SetNextToken sets the NextToken field's value.
7240func (s *FilterLogEventsOutput) SetNextToken(v string) *FilterLogEventsOutput {
7241	s.NextToken = &v
7242	return s
7243}
7244
7245// SetSearchedLogStreams sets the SearchedLogStreams field's value.
7246func (s *FilterLogEventsOutput) SetSearchedLogStreams(v []*SearchedLogStream) *FilterLogEventsOutput {
7247	s.SearchedLogStreams = v
7248	return s
7249}
7250
7251// Represents a matched event.
7252type FilteredLogEvent struct {
7253	_ struct{} `type:"structure"`
7254
7255	// The ID of the event.
7256	EventId *string `locationName:"eventId" type:"string"`
7257
7258	// The time the event was ingested, expressed as the number of milliseconds
7259	// after Jan 1, 1970 00:00:00 UTC.
7260	IngestionTime *int64 `locationName:"ingestionTime" type:"long"`
7261
7262	// The name of the log stream to which this event belongs.
7263	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string"`
7264
7265	// The data contained in the log event.
7266	Message *string `locationName:"message" min:"1" type:"string"`
7267
7268	// The time the event occurred, expressed as the number of milliseconds after
7269	// Jan 1, 1970 00:00:00 UTC.
7270	Timestamp *int64 `locationName:"timestamp" type:"long"`
7271}
7272
7273// String returns the string representation.
7274//
7275// API parameter values that are decorated as "sensitive" in the API will not
7276// be included in the string output. The member name will be present, but the
7277// value will be replaced with "sensitive".
7278func (s FilteredLogEvent) String() string {
7279	return awsutil.Prettify(s)
7280}
7281
7282// GoString returns the string representation.
7283//
7284// API parameter values that are decorated as "sensitive" in the API will not
7285// be included in the string output. The member name will be present, but the
7286// value will be replaced with "sensitive".
7287func (s FilteredLogEvent) GoString() string {
7288	return s.String()
7289}
7290
7291// SetEventId sets the EventId field's value.
7292func (s *FilteredLogEvent) SetEventId(v string) *FilteredLogEvent {
7293	s.EventId = &v
7294	return s
7295}
7296
7297// SetIngestionTime sets the IngestionTime field's value.
7298func (s *FilteredLogEvent) SetIngestionTime(v int64) *FilteredLogEvent {
7299	s.IngestionTime = &v
7300	return s
7301}
7302
7303// SetLogStreamName sets the LogStreamName field's value.
7304func (s *FilteredLogEvent) SetLogStreamName(v string) *FilteredLogEvent {
7305	s.LogStreamName = &v
7306	return s
7307}
7308
7309// SetMessage sets the Message field's value.
7310func (s *FilteredLogEvent) SetMessage(v string) *FilteredLogEvent {
7311	s.Message = &v
7312	return s
7313}
7314
7315// SetTimestamp sets the Timestamp field's value.
7316func (s *FilteredLogEvent) SetTimestamp(v int64) *FilteredLogEvent {
7317	s.Timestamp = &v
7318	return s
7319}
7320
7321type GetLogEventsInput struct {
7322	_ struct{} `type:"structure"`
7323
7324	// The end of the time range, expressed as the number of milliseconds after
7325	// Jan 1, 1970 00:00:00 UTC. Events with a timestamp equal to or later than
7326	// this time are not included.
7327	EndTime *int64 `locationName:"endTime" type:"long"`
7328
7329	// The maximum number of log events returned. If you don't specify a value,
7330	// the maximum is as many log events as can fit in a response size of 1 MB,
7331	// up to 10,000 log events.
7332	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
7333
7334	// The name of the log group.
7335	//
7336	// LogGroupName is a required field
7337	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
7338
7339	// The name of the log stream.
7340	//
7341	// LogStreamName is a required field
7342	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"`
7343
7344	// The token for the next set of items to return. (You received this token from
7345	// a previous call.)
7346	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7347
7348	// If the value is true, the earliest log events are returned first. If the
7349	// value is false, the latest log events are returned first. The default value
7350	// is false.
7351	//
7352	// If you are using a previous nextForwardToken value as the nextToken in this
7353	// operation, you must specify true for startFromHead.
7354	StartFromHead *bool `locationName:"startFromHead" type:"boolean"`
7355
7356	// The start of the time range, expressed as the number of milliseconds after
7357	// Jan 1, 1970 00:00:00 UTC. Events with a timestamp equal to this time or later
7358	// than this time are included. Events with a timestamp earlier than this time
7359	// are not included.
7360	StartTime *int64 `locationName:"startTime" type:"long"`
7361}
7362
7363// String returns the string representation.
7364//
7365// API parameter values that are decorated as "sensitive" in the API will not
7366// be included in the string output. The member name will be present, but the
7367// value will be replaced with "sensitive".
7368func (s GetLogEventsInput) String() string {
7369	return awsutil.Prettify(s)
7370}
7371
7372// GoString returns the string representation.
7373//
7374// API parameter values that are decorated as "sensitive" in the API will not
7375// be included in the string output. The member name will be present, but the
7376// value will be replaced with "sensitive".
7377func (s GetLogEventsInput) GoString() string {
7378	return s.String()
7379}
7380
7381// Validate inspects the fields of the type to determine if they are valid.
7382func (s *GetLogEventsInput) Validate() error {
7383	invalidParams := request.ErrInvalidParams{Context: "GetLogEventsInput"}
7384	if s.Limit != nil && *s.Limit < 1 {
7385		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7386	}
7387	if s.LogGroupName == nil {
7388		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
7389	}
7390	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
7391		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
7392	}
7393	if s.LogStreamName == nil {
7394		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
7395	}
7396	if s.LogStreamName != nil && len(*s.LogStreamName) < 1 {
7397		invalidParams.Add(request.NewErrParamMinLen("LogStreamName", 1))
7398	}
7399	if s.NextToken != nil && len(*s.NextToken) < 1 {
7400		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7401	}
7402
7403	if invalidParams.Len() > 0 {
7404		return invalidParams
7405	}
7406	return nil
7407}
7408
7409// SetEndTime sets the EndTime field's value.
7410func (s *GetLogEventsInput) SetEndTime(v int64) *GetLogEventsInput {
7411	s.EndTime = &v
7412	return s
7413}
7414
7415// SetLimit sets the Limit field's value.
7416func (s *GetLogEventsInput) SetLimit(v int64) *GetLogEventsInput {
7417	s.Limit = &v
7418	return s
7419}
7420
7421// SetLogGroupName sets the LogGroupName field's value.
7422func (s *GetLogEventsInput) SetLogGroupName(v string) *GetLogEventsInput {
7423	s.LogGroupName = &v
7424	return s
7425}
7426
7427// SetLogStreamName sets the LogStreamName field's value.
7428func (s *GetLogEventsInput) SetLogStreamName(v string) *GetLogEventsInput {
7429	s.LogStreamName = &v
7430	return s
7431}
7432
7433// SetNextToken sets the NextToken field's value.
7434func (s *GetLogEventsInput) SetNextToken(v string) *GetLogEventsInput {
7435	s.NextToken = &v
7436	return s
7437}
7438
7439// SetStartFromHead sets the StartFromHead field's value.
7440func (s *GetLogEventsInput) SetStartFromHead(v bool) *GetLogEventsInput {
7441	s.StartFromHead = &v
7442	return s
7443}
7444
7445// SetStartTime sets the StartTime field's value.
7446func (s *GetLogEventsInput) SetStartTime(v int64) *GetLogEventsInput {
7447	s.StartTime = &v
7448	return s
7449}
7450
7451type GetLogEventsOutput struct {
7452	_ struct{} `type:"structure"`
7453
7454	// The events.
7455	Events []*OutputLogEvent `locationName:"events" type:"list"`
7456
7457	// The token for the next set of items in the backward direction. The token
7458	// expires after 24 hours. This token is never null. If you have reached the
7459	// end of the stream, it returns the same token you passed in.
7460	NextBackwardToken *string `locationName:"nextBackwardToken" min:"1" type:"string"`
7461
7462	// The token for the next set of items in the forward direction. The token expires
7463	// after 24 hours. If you have reached the end of the stream, it returns the
7464	// same token you passed in.
7465	NextForwardToken *string `locationName:"nextForwardToken" min:"1" type:"string"`
7466}
7467
7468// String returns the string representation.
7469//
7470// API parameter values that are decorated as "sensitive" in the API will not
7471// be included in the string output. The member name will be present, but the
7472// value will be replaced with "sensitive".
7473func (s GetLogEventsOutput) String() string {
7474	return awsutil.Prettify(s)
7475}
7476
7477// GoString returns the string representation.
7478//
7479// API parameter values that are decorated as "sensitive" in the API will not
7480// be included in the string output. The member name will be present, but the
7481// value will be replaced with "sensitive".
7482func (s GetLogEventsOutput) GoString() string {
7483	return s.String()
7484}
7485
7486// SetEvents sets the Events field's value.
7487func (s *GetLogEventsOutput) SetEvents(v []*OutputLogEvent) *GetLogEventsOutput {
7488	s.Events = v
7489	return s
7490}
7491
7492// SetNextBackwardToken sets the NextBackwardToken field's value.
7493func (s *GetLogEventsOutput) SetNextBackwardToken(v string) *GetLogEventsOutput {
7494	s.NextBackwardToken = &v
7495	return s
7496}
7497
7498// SetNextForwardToken sets the NextForwardToken field's value.
7499func (s *GetLogEventsOutput) SetNextForwardToken(v string) *GetLogEventsOutput {
7500	s.NextForwardToken = &v
7501	return s
7502}
7503
7504type GetLogGroupFieldsInput struct {
7505	_ struct{} `type:"structure"`
7506
7507	// The name of the log group to search.
7508	//
7509	// LogGroupName is a required field
7510	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
7511
7512	// The time to set as the center of the query. If you specify time, the 15 minutes
7513	// before this time are queries. If you omit time the 8 minutes before and 8
7514	// minutes after this time are searched.
7515	//
7516	// The time value is specified as epoch time, the number of seconds since January
7517	// 1, 1970, 00:00:00 UTC.
7518	Time *int64 `locationName:"time" type:"long"`
7519}
7520
7521// String returns the string representation.
7522//
7523// API parameter values that are decorated as "sensitive" in the API will not
7524// be included in the string output. The member name will be present, but the
7525// value will be replaced with "sensitive".
7526func (s GetLogGroupFieldsInput) String() string {
7527	return awsutil.Prettify(s)
7528}
7529
7530// GoString returns the string representation.
7531//
7532// API parameter values that are decorated as "sensitive" in the API will not
7533// be included in the string output. The member name will be present, but the
7534// value will be replaced with "sensitive".
7535func (s GetLogGroupFieldsInput) GoString() string {
7536	return s.String()
7537}
7538
7539// Validate inspects the fields of the type to determine if they are valid.
7540func (s *GetLogGroupFieldsInput) Validate() error {
7541	invalidParams := request.ErrInvalidParams{Context: "GetLogGroupFieldsInput"}
7542	if s.LogGroupName == nil {
7543		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
7544	}
7545	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
7546		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
7547	}
7548
7549	if invalidParams.Len() > 0 {
7550		return invalidParams
7551	}
7552	return nil
7553}
7554
7555// SetLogGroupName sets the LogGroupName field's value.
7556func (s *GetLogGroupFieldsInput) SetLogGroupName(v string) *GetLogGroupFieldsInput {
7557	s.LogGroupName = &v
7558	return s
7559}
7560
7561// SetTime sets the Time field's value.
7562func (s *GetLogGroupFieldsInput) SetTime(v int64) *GetLogGroupFieldsInput {
7563	s.Time = &v
7564	return s
7565}
7566
7567type GetLogGroupFieldsOutput struct {
7568	_ struct{} `type:"structure"`
7569
7570	// The array of fields found in the query. Each object in the array contains
7571	// the name of the field, along with the percentage of time it appeared in the
7572	// log events that were queried.
7573	LogGroupFields []*LogGroupField `locationName:"logGroupFields" type:"list"`
7574}
7575
7576// String returns the string representation.
7577//
7578// API parameter values that are decorated as "sensitive" in the API will not
7579// be included in the string output. The member name will be present, but the
7580// value will be replaced with "sensitive".
7581func (s GetLogGroupFieldsOutput) String() string {
7582	return awsutil.Prettify(s)
7583}
7584
7585// GoString returns the string representation.
7586//
7587// API parameter values that are decorated as "sensitive" in the API will not
7588// be included in the string output. The member name will be present, but the
7589// value will be replaced with "sensitive".
7590func (s GetLogGroupFieldsOutput) GoString() string {
7591	return s.String()
7592}
7593
7594// SetLogGroupFields sets the LogGroupFields field's value.
7595func (s *GetLogGroupFieldsOutput) SetLogGroupFields(v []*LogGroupField) *GetLogGroupFieldsOutput {
7596	s.LogGroupFields = v
7597	return s
7598}
7599
7600type GetLogRecordInput struct {
7601	_ struct{} `type:"structure"`
7602
7603	// The pointer corresponding to the log event record you want to retrieve. You
7604	// get this from the response of a GetQueryResults operation. In that response,
7605	// the value of the @ptr field for a log event is the value to use as logRecordPointer
7606	// to retrieve that complete log event record.
7607	//
7608	// LogRecordPointer is a required field
7609	LogRecordPointer *string `locationName:"logRecordPointer" type:"string" required:"true"`
7610}
7611
7612// String returns the string representation.
7613//
7614// API parameter values that are decorated as "sensitive" in the API will not
7615// be included in the string output. The member name will be present, but the
7616// value will be replaced with "sensitive".
7617func (s GetLogRecordInput) String() string {
7618	return awsutil.Prettify(s)
7619}
7620
7621// GoString returns the string representation.
7622//
7623// API parameter values that are decorated as "sensitive" in the API will not
7624// be included in the string output. The member name will be present, but the
7625// value will be replaced with "sensitive".
7626func (s GetLogRecordInput) GoString() string {
7627	return s.String()
7628}
7629
7630// Validate inspects the fields of the type to determine if they are valid.
7631func (s *GetLogRecordInput) Validate() error {
7632	invalidParams := request.ErrInvalidParams{Context: "GetLogRecordInput"}
7633	if s.LogRecordPointer == nil {
7634		invalidParams.Add(request.NewErrParamRequired("LogRecordPointer"))
7635	}
7636
7637	if invalidParams.Len() > 0 {
7638		return invalidParams
7639	}
7640	return nil
7641}
7642
7643// SetLogRecordPointer sets the LogRecordPointer field's value.
7644func (s *GetLogRecordInput) SetLogRecordPointer(v string) *GetLogRecordInput {
7645	s.LogRecordPointer = &v
7646	return s
7647}
7648
7649type GetLogRecordOutput struct {
7650	_ struct{} `type:"structure"`
7651
7652	// The requested log event, as a JSON string.
7653	LogRecord map[string]*string `locationName:"logRecord" type:"map"`
7654}
7655
7656// String returns the string representation.
7657//
7658// API parameter values that are decorated as "sensitive" in the API will not
7659// be included in the string output. The member name will be present, but the
7660// value will be replaced with "sensitive".
7661func (s GetLogRecordOutput) String() string {
7662	return awsutil.Prettify(s)
7663}
7664
7665// GoString returns the string representation.
7666//
7667// API parameter values that are decorated as "sensitive" in the API will not
7668// be included in the string output. The member name will be present, but the
7669// value will be replaced with "sensitive".
7670func (s GetLogRecordOutput) GoString() string {
7671	return s.String()
7672}
7673
7674// SetLogRecord sets the LogRecord field's value.
7675func (s *GetLogRecordOutput) SetLogRecord(v map[string]*string) *GetLogRecordOutput {
7676	s.LogRecord = v
7677	return s
7678}
7679
7680type GetQueryResultsInput struct {
7681	_ struct{} `type:"structure"`
7682
7683	// The ID number of the query.
7684	//
7685	// QueryId is a required field
7686	QueryId *string `locationName:"queryId" type:"string" required:"true"`
7687}
7688
7689// String returns the string representation.
7690//
7691// API parameter values that are decorated as "sensitive" in the API will not
7692// be included in the string output. The member name will be present, but the
7693// value will be replaced with "sensitive".
7694func (s GetQueryResultsInput) String() string {
7695	return awsutil.Prettify(s)
7696}
7697
7698// GoString returns the string representation.
7699//
7700// API parameter values that are decorated as "sensitive" in the API will not
7701// be included in the string output. The member name will be present, but the
7702// value will be replaced with "sensitive".
7703func (s GetQueryResultsInput) GoString() string {
7704	return s.String()
7705}
7706
7707// Validate inspects the fields of the type to determine if they are valid.
7708func (s *GetQueryResultsInput) Validate() error {
7709	invalidParams := request.ErrInvalidParams{Context: "GetQueryResultsInput"}
7710	if s.QueryId == nil {
7711		invalidParams.Add(request.NewErrParamRequired("QueryId"))
7712	}
7713
7714	if invalidParams.Len() > 0 {
7715		return invalidParams
7716	}
7717	return nil
7718}
7719
7720// SetQueryId sets the QueryId field's value.
7721func (s *GetQueryResultsInput) SetQueryId(v string) *GetQueryResultsInput {
7722	s.QueryId = &v
7723	return s
7724}
7725
7726type GetQueryResultsOutput struct {
7727	_ struct{} `type:"structure"`
7728
7729	// The log events that matched the query criteria during the most recent time
7730	// it ran.
7731	//
7732	// The results value is an array of arrays. Each log event is one object in
7733	// the top-level array. Each of these log event objects is an array of field/value
7734	// pairs.
7735	Results [][]*ResultField `locationName:"results" type:"list"`
7736
7737	// Includes the number of log events scanned by the query, the number of log
7738	// events that matched the query criteria, and the total number of bytes in
7739	// the log events that were scanned. These values reflect the full raw results
7740	// of the query.
7741	Statistics *QueryStatistics `locationName:"statistics" type:"structure"`
7742
7743	// The status of the most recent running of the query. Possible values are Cancelled,
7744	// Complete, Failed, Running, Scheduled, Timeout, and Unknown.
7745	//
7746	// Queries time out after 15 minutes of execution. To avoid having your queries
7747	// time out, reduce the time range being searched or partition your query into
7748	// a number of queries.
7749	Status *string `locationName:"status" type:"string" enum:"QueryStatus"`
7750}
7751
7752// String returns the string representation.
7753//
7754// API parameter values that are decorated as "sensitive" in the API will not
7755// be included in the string output. The member name will be present, but the
7756// value will be replaced with "sensitive".
7757func (s GetQueryResultsOutput) String() string {
7758	return awsutil.Prettify(s)
7759}
7760
7761// GoString returns the string representation.
7762//
7763// API parameter values that are decorated as "sensitive" in the API will not
7764// be included in the string output. The member name will be present, but the
7765// value will be replaced with "sensitive".
7766func (s GetQueryResultsOutput) GoString() string {
7767	return s.String()
7768}
7769
7770// SetResults sets the Results field's value.
7771func (s *GetQueryResultsOutput) SetResults(v [][]*ResultField) *GetQueryResultsOutput {
7772	s.Results = v
7773	return s
7774}
7775
7776// SetStatistics sets the Statistics field's value.
7777func (s *GetQueryResultsOutput) SetStatistics(v *QueryStatistics) *GetQueryResultsOutput {
7778	s.Statistics = v
7779	return s
7780}
7781
7782// SetStatus sets the Status field's value.
7783func (s *GetQueryResultsOutput) SetStatus(v string) *GetQueryResultsOutput {
7784	s.Status = &v
7785	return s
7786}
7787
7788// Represents a log event, which is a record of activity that was recorded by
7789// the application or resource being monitored.
7790type InputLogEvent struct {
7791	_ struct{} `type:"structure"`
7792
7793	// The raw event message.
7794	//
7795	// Message is a required field
7796	Message *string `locationName:"message" min:"1" type:"string" required:"true"`
7797
7798	// The time the event occurred, expressed as the number of milliseconds after
7799	// Jan 1, 1970 00:00:00 UTC.
7800	//
7801	// Timestamp is a required field
7802	Timestamp *int64 `locationName:"timestamp" type:"long" required:"true"`
7803}
7804
7805// String returns the string representation.
7806//
7807// API parameter values that are decorated as "sensitive" in the API will not
7808// be included in the string output. The member name will be present, but the
7809// value will be replaced with "sensitive".
7810func (s InputLogEvent) String() string {
7811	return awsutil.Prettify(s)
7812}
7813
7814// GoString returns the string representation.
7815//
7816// API parameter values that are decorated as "sensitive" in the API will not
7817// be included in the string output. The member name will be present, but the
7818// value will be replaced with "sensitive".
7819func (s InputLogEvent) GoString() string {
7820	return s.String()
7821}
7822
7823// Validate inspects the fields of the type to determine if they are valid.
7824func (s *InputLogEvent) Validate() error {
7825	invalidParams := request.ErrInvalidParams{Context: "InputLogEvent"}
7826	if s.Message == nil {
7827		invalidParams.Add(request.NewErrParamRequired("Message"))
7828	}
7829	if s.Message != nil && len(*s.Message) < 1 {
7830		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
7831	}
7832	if s.Timestamp == nil {
7833		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
7834	}
7835
7836	if invalidParams.Len() > 0 {
7837		return invalidParams
7838	}
7839	return nil
7840}
7841
7842// SetMessage sets the Message field's value.
7843func (s *InputLogEvent) SetMessage(v string) *InputLogEvent {
7844	s.Message = &v
7845	return s
7846}
7847
7848// SetTimestamp sets the Timestamp field's value.
7849func (s *InputLogEvent) SetTimestamp(v int64) *InputLogEvent {
7850	s.Timestamp = &v
7851	return s
7852}
7853
7854// The operation is not valid on the specified resource.
7855type InvalidOperationException struct {
7856	_            struct{}                  `type:"structure"`
7857	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7858
7859	Message_ *string `locationName:"message" type:"string"`
7860}
7861
7862// String returns the string representation.
7863//
7864// API parameter values that are decorated as "sensitive" in the API will not
7865// be included in the string output. The member name will be present, but the
7866// value will be replaced with "sensitive".
7867func (s InvalidOperationException) String() string {
7868	return awsutil.Prettify(s)
7869}
7870
7871// GoString returns the string representation.
7872//
7873// API parameter values that are decorated as "sensitive" in the API will not
7874// be included in the string output. The member name will be present, but the
7875// value will be replaced with "sensitive".
7876func (s InvalidOperationException) GoString() string {
7877	return s.String()
7878}
7879
7880func newErrorInvalidOperationException(v protocol.ResponseMetadata) error {
7881	return &InvalidOperationException{
7882		RespMetadata: v,
7883	}
7884}
7885
7886// Code returns the exception type name.
7887func (s *InvalidOperationException) Code() string {
7888	return "InvalidOperationException"
7889}
7890
7891// Message returns the exception's message.
7892func (s *InvalidOperationException) Message() string {
7893	if s.Message_ != nil {
7894		return *s.Message_
7895	}
7896	return ""
7897}
7898
7899// OrigErr always returns nil, satisfies awserr.Error interface.
7900func (s *InvalidOperationException) OrigErr() error {
7901	return nil
7902}
7903
7904func (s *InvalidOperationException) Error() string {
7905	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7906}
7907
7908// Status code returns the HTTP status code for the request's response error.
7909func (s *InvalidOperationException) StatusCode() int {
7910	return s.RespMetadata.StatusCode
7911}
7912
7913// RequestID returns the service's response RequestID for request.
7914func (s *InvalidOperationException) RequestID() string {
7915	return s.RespMetadata.RequestID
7916}
7917
7918// A parameter is specified incorrectly.
7919type InvalidParameterException struct {
7920	_            struct{}                  `type:"structure"`
7921	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7922
7923	Message_ *string `locationName:"message" type:"string"`
7924}
7925
7926// String returns the string representation.
7927//
7928// API parameter values that are decorated as "sensitive" in the API will not
7929// be included in the string output. The member name will be present, but the
7930// value will be replaced with "sensitive".
7931func (s InvalidParameterException) String() string {
7932	return awsutil.Prettify(s)
7933}
7934
7935// GoString returns the string representation.
7936//
7937// API parameter values that are decorated as "sensitive" in the API will not
7938// be included in the string output. The member name will be present, but the
7939// value will be replaced with "sensitive".
7940func (s InvalidParameterException) GoString() string {
7941	return s.String()
7942}
7943
7944func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
7945	return &InvalidParameterException{
7946		RespMetadata: v,
7947	}
7948}
7949
7950// Code returns the exception type name.
7951func (s *InvalidParameterException) Code() string {
7952	return "InvalidParameterException"
7953}
7954
7955// Message returns the exception's message.
7956func (s *InvalidParameterException) Message() string {
7957	if s.Message_ != nil {
7958		return *s.Message_
7959	}
7960	return ""
7961}
7962
7963// OrigErr always returns nil, satisfies awserr.Error interface.
7964func (s *InvalidParameterException) OrigErr() error {
7965	return nil
7966}
7967
7968func (s *InvalidParameterException) Error() string {
7969	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7970}
7971
7972// Status code returns the HTTP status code for the request's response error.
7973func (s *InvalidParameterException) StatusCode() int {
7974	return s.RespMetadata.StatusCode
7975}
7976
7977// RequestID returns the service's response RequestID for request.
7978func (s *InvalidParameterException) RequestID() string {
7979	return s.RespMetadata.RequestID
7980}
7981
7982// The sequence token is not valid. You can get the correct sequence token in
7983// the expectedSequenceToken field in the InvalidSequenceTokenException message.
7984type InvalidSequenceTokenException struct {
7985	_            struct{}                  `type:"structure"`
7986	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7987
7988	ExpectedSequenceToken *string `locationName:"expectedSequenceToken" min:"1" type:"string"`
7989
7990	Message_ *string `locationName:"message" type:"string"`
7991}
7992
7993// String returns the string representation.
7994//
7995// API parameter values that are decorated as "sensitive" in the API will not
7996// be included in the string output. The member name will be present, but the
7997// value will be replaced with "sensitive".
7998func (s InvalidSequenceTokenException) String() string {
7999	return awsutil.Prettify(s)
8000}
8001
8002// GoString returns the string representation.
8003//
8004// API parameter values that are decorated as "sensitive" in the API will not
8005// be included in the string output. The member name will be present, but the
8006// value will be replaced with "sensitive".
8007func (s InvalidSequenceTokenException) GoString() string {
8008	return s.String()
8009}
8010
8011func newErrorInvalidSequenceTokenException(v protocol.ResponseMetadata) error {
8012	return &InvalidSequenceTokenException{
8013		RespMetadata: v,
8014	}
8015}
8016
8017// Code returns the exception type name.
8018func (s *InvalidSequenceTokenException) Code() string {
8019	return "InvalidSequenceTokenException"
8020}
8021
8022// Message returns the exception's message.
8023func (s *InvalidSequenceTokenException) Message() string {
8024	if s.Message_ != nil {
8025		return *s.Message_
8026	}
8027	return ""
8028}
8029
8030// OrigErr always returns nil, satisfies awserr.Error interface.
8031func (s *InvalidSequenceTokenException) OrigErr() error {
8032	return nil
8033}
8034
8035func (s *InvalidSequenceTokenException) Error() string {
8036	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8037}
8038
8039// Status code returns the HTTP status code for the request's response error.
8040func (s *InvalidSequenceTokenException) StatusCode() int {
8041	return s.RespMetadata.StatusCode
8042}
8043
8044// RequestID returns the service's response RequestID for request.
8045func (s *InvalidSequenceTokenException) RequestID() string {
8046	return s.RespMetadata.RequestID
8047}
8048
8049// You have reached the maximum number of resources that can be created.
8050type LimitExceededException struct {
8051	_            struct{}                  `type:"structure"`
8052	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8053
8054	Message_ *string `locationName:"message" type:"string"`
8055}
8056
8057// String returns the string representation.
8058//
8059// API parameter values that are decorated as "sensitive" in the API will not
8060// be included in the string output. The member name will be present, but the
8061// value will be replaced with "sensitive".
8062func (s LimitExceededException) String() string {
8063	return awsutil.Prettify(s)
8064}
8065
8066// GoString returns the string representation.
8067//
8068// API parameter values that are decorated as "sensitive" in the API will not
8069// be included in the string output. The member name will be present, but the
8070// value will be replaced with "sensitive".
8071func (s LimitExceededException) GoString() string {
8072	return s.String()
8073}
8074
8075func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
8076	return &LimitExceededException{
8077		RespMetadata: v,
8078	}
8079}
8080
8081// Code returns the exception type name.
8082func (s *LimitExceededException) Code() string {
8083	return "LimitExceededException"
8084}
8085
8086// Message returns the exception's message.
8087func (s *LimitExceededException) Message() string {
8088	if s.Message_ != nil {
8089		return *s.Message_
8090	}
8091	return ""
8092}
8093
8094// OrigErr always returns nil, satisfies awserr.Error interface.
8095func (s *LimitExceededException) OrigErr() error {
8096	return nil
8097}
8098
8099func (s *LimitExceededException) Error() string {
8100	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8101}
8102
8103// Status code returns the HTTP status code for the request's response error.
8104func (s *LimitExceededException) StatusCode() int {
8105	return s.RespMetadata.StatusCode
8106}
8107
8108// RequestID returns the service's response RequestID for request.
8109func (s *LimitExceededException) RequestID() string {
8110	return s.RespMetadata.RequestID
8111}
8112
8113type ListTagsLogGroupInput struct {
8114	_ struct{} `type:"structure"`
8115
8116	// The name of the log group.
8117	//
8118	// LogGroupName is a required field
8119	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
8120}
8121
8122// String returns the string representation.
8123//
8124// API parameter values that are decorated as "sensitive" in the API will not
8125// be included in the string output. The member name will be present, but the
8126// value will be replaced with "sensitive".
8127func (s ListTagsLogGroupInput) String() string {
8128	return awsutil.Prettify(s)
8129}
8130
8131// GoString returns the string representation.
8132//
8133// API parameter values that are decorated as "sensitive" in the API will not
8134// be included in the string output. The member name will be present, but the
8135// value will be replaced with "sensitive".
8136func (s ListTagsLogGroupInput) GoString() string {
8137	return s.String()
8138}
8139
8140// Validate inspects the fields of the type to determine if they are valid.
8141func (s *ListTagsLogGroupInput) Validate() error {
8142	invalidParams := request.ErrInvalidParams{Context: "ListTagsLogGroupInput"}
8143	if s.LogGroupName == nil {
8144		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
8145	}
8146	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
8147		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
8148	}
8149
8150	if invalidParams.Len() > 0 {
8151		return invalidParams
8152	}
8153	return nil
8154}
8155
8156// SetLogGroupName sets the LogGroupName field's value.
8157func (s *ListTagsLogGroupInput) SetLogGroupName(v string) *ListTagsLogGroupInput {
8158	s.LogGroupName = &v
8159	return s
8160}
8161
8162type ListTagsLogGroupOutput struct {
8163	_ struct{} `type:"structure"`
8164
8165	// The tags for the log group.
8166	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8167}
8168
8169// String returns the string representation.
8170//
8171// API parameter values that are decorated as "sensitive" in the API will not
8172// be included in the string output. The member name will be present, but the
8173// value will be replaced with "sensitive".
8174func (s ListTagsLogGroupOutput) String() string {
8175	return awsutil.Prettify(s)
8176}
8177
8178// GoString returns the string representation.
8179//
8180// API parameter values that are decorated as "sensitive" in the API will not
8181// be included in the string output. The member name will be present, but the
8182// value will be replaced with "sensitive".
8183func (s ListTagsLogGroupOutput) GoString() string {
8184	return s.String()
8185}
8186
8187// SetTags sets the Tags field's value.
8188func (s *ListTagsLogGroupOutput) SetTags(v map[string]*string) *ListTagsLogGroupOutput {
8189	s.Tags = v
8190	return s
8191}
8192
8193// Represents a log group.
8194type LogGroup struct {
8195	_ struct{} `type:"structure"`
8196
8197	// The Amazon Resource Name (ARN) of the log group.
8198	Arn *string `locationName:"arn" type:"string"`
8199
8200	// The creation time of the log group, expressed as the number of milliseconds
8201	// after Jan 1, 1970 00:00:00 UTC.
8202	CreationTime *int64 `locationName:"creationTime" type:"long"`
8203
8204	// The Amazon Resource Name (ARN) of the CMK to use when encrypting log data.
8205	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
8206
8207	// The name of the log group.
8208	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
8209
8210	// The number of metric filters.
8211	MetricFilterCount *int64 `locationName:"metricFilterCount" type:"integer"`
8212
8213	// The number of days to retain the log events in the specified log group. Possible
8214	// values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731,
8215	// 1827, and 3653.
8216	//
8217	// To set a log group to never have log events expire, use DeleteRetentionPolicy
8218	// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteRetentionPolicy.html).
8219	RetentionInDays *int64 `locationName:"retentionInDays" type:"integer"`
8220
8221	// The number of bytes stored.
8222	StoredBytes *int64 `locationName:"storedBytes" type:"long"`
8223}
8224
8225// String returns the string representation.
8226//
8227// API parameter values that are decorated as "sensitive" in the API will not
8228// be included in the string output. The member name will be present, but the
8229// value will be replaced with "sensitive".
8230func (s LogGroup) String() string {
8231	return awsutil.Prettify(s)
8232}
8233
8234// GoString returns the string representation.
8235//
8236// API parameter values that are decorated as "sensitive" in the API will not
8237// be included in the string output. The member name will be present, but the
8238// value will be replaced with "sensitive".
8239func (s LogGroup) GoString() string {
8240	return s.String()
8241}
8242
8243// SetArn sets the Arn field's value.
8244func (s *LogGroup) SetArn(v string) *LogGroup {
8245	s.Arn = &v
8246	return s
8247}
8248
8249// SetCreationTime sets the CreationTime field's value.
8250func (s *LogGroup) SetCreationTime(v int64) *LogGroup {
8251	s.CreationTime = &v
8252	return s
8253}
8254
8255// SetKmsKeyId sets the KmsKeyId field's value.
8256func (s *LogGroup) SetKmsKeyId(v string) *LogGroup {
8257	s.KmsKeyId = &v
8258	return s
8259}
8260
8261// SetLogGroupName sets the LogGroupName field's value.
8262func (s *LogGroup) SetLogGroupName(v string) *LogGroup {
8263	s.LogGroupName = &v
8264	return s
8265}
8266
8267// SetMetricFilterCount sets the MetricFilterCount field's value.
8268func (s *LogGroup) SetMetricFilterCount(v int64) *LogGroup {
8269	s.MetricFilterCount = &v
8270	return s
8271}
8272
8273// SetRetentionInDays sets the RetentionInDays field's value.
8274func (s *LogGroup) SetRetentionInDays(v int64) *LogGroup {
8275	s.RetentionInDays = &v
8276	return s
8277}
8278
8279// SetStoredBytes sets the StoredBytes field's value.
8280func (s *LogGroup) SetStoredBytes(v int64) *LogGroup {
8281	s.StoredBytes = &v
8282	return s
8283}
8284
8285// The fields contained in log events found by a GetLogGroupFields operation,
8286// along with the percentage of queried log events in which each field appears.
8287type LogGroupField struct {
8288	_ struct{} `type:"structure"`
8289
8290	// The name of a log field.
8291	Name *string `locationName:"name" type:"string"`
8292
8293	// The percentage of log events queried that contained the field.
8294	Percent *int64 `locationName:"percent" type:"integer"`
8295}
8296
8297// String returns the string representation.
8298//
8299// API parameter values that are decorated as "sensitive" in the API will not
8300// be included in the string output. The member name will be present, but the
8301// value will be replaced with "sensitive".
8302func (s LogGroupField) String() string {
8303	return awsutil.Prettify(s)
8304}
8305
8306// GoString returns the string representation.
8307//
8308// API parameter values that are decorated as "sensitive" in the API will not
8309// be included in the string output. The member name will be present, but the
8310// value will be replaced with "sensitive".
8311func (s LogGroupField) GoString() string {
8312	return s.String()
8313}
8314
8315// SetName sets the Name field's value.
8316func (s *LogGroupField) SetName(v string) *LogGroupField {
8317	s.Name = &v
8318	return s
8319}
8320
8321// SetPercent sets the Percent field's value.
8322func (s *LogGroupField) SetPercent(v int64) *LogGroupField {
8323	s.Percent = &v
8324	return s
8325}
8326
8327// Represents a log stream, which is a sequence of log events from a single
8328// emitter of logs.
8329type LogStream struct {
8330	_ struct{} `type:"structure"`
8331
8332	// The Amazon Resource Name (ARN) of the log stream.
8333	Arn *string `locationName:"arn" type:"string"`
8334
8335	// The creation time of the stream, expressed as the number of milliseconds
8336	// after Jan 1, 1970 00:00:00 UTC.
8337	CreationTime *int64 `locationName:"creationTime" type:"long"`
8338
8339	// The time of the first event, expressed as the number of milliseconds after
8340	// Jan 1, 1970 00:00:00 UTC.
8341	FirstEventTimestamp *int64 `locationName:"firstEventTimestamp" type:"long"`
8342
8343	// The time of the most recent log event in the log stream in CloudWatch Logs.
8344	// This number is expressed as the number of milliseconds after Jan 1, 1970
8345	// 00:00:00 UTC. The lastEventTime value updates on an eventual consistency
8346	// basis. It typically updates in less than an hour from ingestion, but in rare
8347	// situations might take longer.
8348	LastEventTimestamp *int64 `locationName:"lastEventTimestamp" type:"long"`
8349
8350	// The ingestion time, expressed as the number of milliseconds after Jan 1,
8351	// 1970 00:00:00 UTC.
8352	LastIngestionTime *int64 `locationName:"lastIngestionTime" type:"long"`
8353
8354	// The name of the log stream.
8355	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string"`
8356
8357	// The number of bytes stored.
8358	//
8359	// Important: On June 17, 2019, this parameter was deprecated for log streams,
8360	// and is always reported as zero. This change applies only to log streams.
8361	// The storedBytes parameter for log groups is not affected.
8362	//
8363	// 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.
8364	StoredBytes *int64 `locationName:"storedBytes" deprecated:"true" type:"long"`
8365
8366	// The sequence token.
8367	UploadSequenceToken *string `locationName:"uploadSequenceToken" min:"1" type:"string"`
8368}
8369
8370// String returns the string representation.
8371//
8372// API parameter values that are decorated as "sensitive" in the API will not
8373// be included in the string output. The member name will be present, but the
8374// value will be replaced with "sensitive".
8375func (s LogStream) String() string {
8376	return awsutil.Prettify(s)
8377}
8378
8379// GoString returns the string representation.
8380//
8381// API parameter values that are decorated as "sensitive" in the API will not
8382// be included in the string output. The member name will be present, but the
8383// value will be replaced with "sensitive".
8384func (s LogStream) GoString() string {
8385	return s.String()
8386}
8387
8388// SetArn sets the Arn field's value.
8389func (s *LogStream) SetArn(v string) *LogStream {
8390	s.Arn = &v
8391	return s
8392}
8393
8394// SetCreationTime sets the CreationTime field's value.
8395func (s *LogStream) SetCreationTime(v int64) *LogStream {
8396	s.CreationTime = &v
8397	return s
8398}
8399
8400// SetFirstEventTimestamp sets the FirstEventTimestamp field's value.
8401func (s *LogStream) SetFirstEventTimestamp(v int64) *LogStream {
8402	s.FirstEventTimestamp = &v
8403	return s
8404}
8405
8406// SetLastEventTimestamp sets the LastEventTimestamp field's value.
8407func (s *LogStream) SetLastEventTimestamp(v int64) *LogStream {
8408	s.LastEventTimestamp = &v
8409	return s
8410}
8411
8412// SetLastIngestionTime sets the LastIngestionTime field's value.
8413func (s *LogStream) SetLastIngestionTime(v int64) *LogStream {
8414	s.LastIngestionTime = &v
8415	return s
8416}
8417
8418// SetLogStreamName sets the LogStreamName field's value.
8419func (s *LogStream) SetLogStreamName(v string) *LogStream {
8420	s.LogStreamName = &v
8421	return s
8422}
8423
8424// SetStoredBytes sets the StoredBytes field's value.
8425func (s *LogStream) SetStoredBytes(v int64) *LogStream {
8426	s.StoredBytes = &v
8427	return s
8428}
8429
8430// SetUploadSequenceToken sets the UploadSequenceToken field's value.
8431func (s *LogStream) SetUploadSequenceToken(v string) *LogStream {
8432	s.UploadSequenceToken = &v
8433	return s
8434}
8435
8436// The query string is not valid. Details about this error are displayed in
8437// a QueryCompileError object. For more information, see QueryCompileError (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_QueryCompileError.html).
8438//
8439// For more information about valid query syntax, see CloudWatch Logs Insights
8440// Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
8441type MalformedQueryException struct {
8442	_            struct{}                  `type:"structure"`
8443	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8444
8445	Message_ *string `locationName:"message" type:"string"`
8446
8447	// Reserved.
8448	QueryCompileError *QueryCompileError `locationName:"queryCompileError" type:"structure"`
8449}
8450
8451// String returns the string representation.
8452//
8453// API parameter values that are decorated as "sensitive" in the API will not
8454// be included in the string output. The member name will be present, but the
8455// value will be replaced with "sensitive".
8456func (s MalformedQueryException) String() string {
8457	return awsutil.Prettify(s)
8458}
8459
8460// GoString returns the string representation.
8461//
8462// API parameter values that are decorated as "sensitive" in the API will not
8463// be included in the string output. The member name will be present, but the
8464// value will be replaced with "sensitive".
8465func (s MalformedQueryException) GoString() string {
8466	return s.String()
8467}
8468
8469func newErrorMalformedQueryException(v protocol.ResponseMetadata) error {
8470	return &MalformedQueryException{
8471		RespMetadata: v,
8472	}
8473}
8474
8475// Code returns the exception type name.
8476func (s *MalformedQueryException) Code() string {
8477	return "MalformedQueryException"
8478}
8479
8480// Message returns the exception's message.
8481func (s *MalformedQueryException) Message() string {
8482	if s.Message_ != nil {
8483		return *s.Message_
8484	}
8485	return ""
8486}
8487
8488// OrigErr always returns nil, satisfies awserr.Error interface.
8489func (s *MalformedQueryException) OrigErr() error {
8490	return nil
8491}
8492
8493func (s *MalformedQueryException) Error() string {
8494	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8495}
8496
8497// Status code returns the HTTP status code for the request's response error.
8498func (s *MalformedQueryException) StatusCode() int {
8499	return s.RespMetadata.StatusCode
8500}
8501
8502// RequestID returns the service's response RequestID for request.
8503func (s *MalformedQueryException) RequestID() string {
8504	return s.RespMetadata.RequestID
8505}
8506
8507// Metric filters express how CloudWatch Logs would extract metric observations
8508// from ingested log events and transform them into metric data in a CloudWatch
8509// metric.
8510type MetricFilter struct {
8511	_ struct{} `type:"structure"`
8512
8513	// The creation time of the metric filter, expressed as the number of milliseconds
8514	// after Jan 1, 1970 00:00:00 UTC.
8515	CreationTime *int64 `locationName:"creationTime" type:"long"`
8516
8517	// The name of the metric filter.
8518	FilterName *string `locationName:"filterName" min:"1" type:"string"`
8519
8520	// A symbolic description of how CloudWatch Logs should interpret the data in
8521	// each log event. For example, a log event can contain timestamps, IP addresses,
8522	// strings, and so on. You use the filter pattern to specify what to look for
8523	// in the log event message.
8524	FilterPattern *string `locationName:"filterPattern" type:"string"`
8525
8526	// The name of the log group.
8527	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
8528
8529	// The metric transformations.
8530	MetricTransformations []*MetricTransformation `locationName:"metricTransformations" min:"1" type:"list"`
8531}
8532
8533// String returns the string representation.
8534//
8535// API parameter values that are decorated as "sensitive" in the API will not
8536// be included in the string output. The member name will be present, but the
8537// value will be replaced with "sensitive".
8538func (s MetricFilter) String() string {
8539	return awsutil.Prettify(s)
8540}
8541
8542// GoString returns the string representation.
8543//
8544// API parameter values that are decorated as "sensitive" in the API will not
8545// be included in the string output. The member name will be present, but the
8546// value will be replaced with "sensitive".
8547func (s MetricFilter) GoString() string {
8548	return s.String()
8549}
8550
8551// SetCreationTime sets the CreationTime field's value.
8552func (s *MetricFilter) SetCreationTime(v int64) *MetricFilter {
8553	s.CreationTime = &v
8554	return s
8555}
8556
8557// SetFilterName sets the FilterName field's value.
8558func (s *MetricFilter) SetFilterName(v string) *MetricFilter {
8559	s.FilterName = &v
8560	return s
8561}
8562
8563// SetFilterPattern sets the FilterPattern field's value.
8564func (s *MetricFilter) SetFilterPattern(v string) *MetricFilter {
8565	s.FilterPattern = &v
8566	return s
8567}
8568
8569// SetLogGroupName sets the LogGroupName field's value.
8570func (s *MetricFilter) SetLogGroupName(v string) *MetricFilter {
8571	s.LogGroupName = &v
8572	return s
8573}
8574
8575// SetMetricTransformations sets the MetricTransformations field's value.
8576func (s *MetricFilter) SetMetricTransformations(v []*MetricTransformation) *MetricFilter {
8577	s.MetricTransformations = v
8578	return s
8579}
8580
8581// Represents a matched event.
8582type MetricFilterMatchRecord struct {
8583	_ struct{} `type:"structure"`
8584
8585	// The raw event data.
8586	EventMessage *string `locationName:"eventMessage" min:"1" type:"string"`
8587
8588	// The event number.
8589	EventNumber *int64 `locationName:"eventNumber" type:"long"`
8590
8591	// The values extracted from the event data by the filter.
8592	ExtractedValues map[string]*string `locationName:"extractedValues" type:"map"`
8593}
8594
8595// String returns the string representation.
8596//
8597// API parameter values that are decorated as "sensitive" in the API will not
8598// be included in the string output. The member name will be present, but the
8599// value will be replaced with "sensitive".
8600func (s MetricFilterMatchRecord) String() string {
8601	return awsutil.Prettify(s)
8602}
8603
8604// GoString returns the string representation.
8605//
8606// API parameter values that are decorated as "sensitive" in the API will not
8607// be included in the string output. The member name will be present, but the
8608// value will be replaced with "sensitive".
8609func (s MetricFilterMatchRecord) GoString() string {
8610	return s.String()
8611}
8612
8613// SetEventMessage sets the EventMessage field's value.
8614func (s *MetricFilterMatchRecord) SetEventMessage(v string) *MetricFilterMatchRecord {
8615	s.EventMessage = &v
8616	return s
8617}
8618
8619// SetEventNumber sets the EventNumber field's value.
8620func (s *MetricFilterMatchRecord) SetEventNumber(v int64) *MetricFilterMatchRecord {
8621	s.EventNumber = &v
8622	return s
8623}
8624
8625// SetExtractedValues sets the ExtractedValues field's value.
8626func (s *MetricFilterMatchRecord) SetExtractedValues(v map[string]*string) *MetricFilterMatchRecord {
8627	s.ExtractedValues = v
8628	return s
8629}
8630
8631// Indicates how to transform ingested log events to metric data in a CloudWatch
8632// metric.
8633type MetricTransformation struct {
8634	_ struct{} `type:"structure"`
8635
8636	// (Optional) The value to emit when a filter pattern does not match a log event.
8637	// This value can be null.
8638	DefaultValue *float64 `locationName:"defaultValue" type:"double"`
8639
8640	// The fields to use as dimensions for the metric. One metric filter can include
8641	// as many as three dimensions.
8642	//
8643	// Metrics extracted from log events are charged as custom metrics. To prevent
8644	// unexpected high charges, do not specify high-cardinality fields such as IPAddress
8645	// or requestID as dimensions. Each different value found for a dimension is
8646	// treated as a separate metric and accrues charges as a separate custom metric.
8647	//
8648	// To help prevent accidental high charges, Amazon disables a metric filter
8649	// if it generates 1000 different name/value pairs for the dimensions that you
8650	// have specified within a certain amount of time.
8651	//
8652	// You can also set up a billing alarm to alert you if your charges are higher
8653	// than expected. For more information, see Creating a Billing Alarm to Monitor
8654	// Your Estimated Amazon Web Services Charges (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html).
8655	Dimensions map[string]*string `locationName:"dimensions" type:"map"`
8656
8657	// The name of the CloudWatch metric.
8658	//
8659	// MetricName is a required field
8660	MetricName *string `locationName:"metricName" type:"string" required:"true"`
8661
8662	// A custom namespace to contain your metric in CloudWatch. Use namespaces to
8663	// group together metrics that are similar. For more information, see Namespaces
8664	// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Namespace).
8665	//
8666	// MetricNamespace is a required field
8667	MetricNamespace *string `locationName:"metricNamespace" type:"string" required:"true"`
8668
8669	// The value to publish to the CloudWatch metric when a filter pattern matches
8670	// a log event.
8671	//
8672	// MetricValue is a required field
8673	MetricValue *string `locationName:"metricValue" type:"string" required:"true"`
8674
8675	// The unit to assign to the metric. If you omit this, the unit is set as None.
8676	Unit *string `locationName:"unit" type:"string" enum:"StandardUnit"`
8677}
8678
8679// String returns the string representation.
8680//
8681// API parameter values that are decorated as "sensitive" in the API will not
8682// be included in the string output. The member name will be present, but the
8683// value will be replaced with "sensitive".
8684func (s MetricTransformation) String() string {
8685	return awsutil.Prettify(s)
8686}
8687
8688// GoString returns the string representation.
8689//
8690// API parameter values that are decorated as "sensitive" in the API will not
8691// be included in the string output. The member name will be present, but the
8692// value will be replaced with "sensitive".
8693func (s MetricTransformation) GoString() string {
8694	return s.String()
8695}
8696
8697// Validate inspects the fields of the type to determine if they are valid.
8698func (s *MetricTransformation) Validate() error {
8699	invalidParams := request.ErrInvalidParams{Context: "MetricTransformation"}
8700	if s.MetricName == nil {
8701		invalidParams.Add(request.NewErrParamRequired("MetricName"))
8702	}
8703	if s.MetricNamespace == nil {
8704		invalidParams.Add(request.NewErrParamRequired("MetricNamespace"))
8705	}
8706	if s.MetricValue == nil {
8707		invalidParams.Add(request.NewErrParamRequired("MetricValue"))
8708	}
8709
8710	if invalidParams.Len() > 0 {
8711		return invalidParams
8712	}
8713	return nil
8714}
8715
8716// SetDefaultValue sets the DefaultValue field's value.
8717func (s *MetricTransformation) SetDefaultValue(v float64) *MetricTransformation {
8718	s.DefaultValue = &v
8719	return s
8720}
8721
8722// SetDimensions sets the Dimensions field's value.
8723func (s *MetricTransformation) SetDimensions(v map[string]*string) *MetricTransformation {
8724	s.Dimensions = v
8725	return s
8726}
8727
8728// SetMetricName sets the MetricName field's value.
8729func (s *MetricTransformation) SetMetricName(v string) *MetricTransformation {
8730	s.MetricName = &v
8731	return s
8732}
8733
8734// SetMetricNamespace sets the MetricNamespace field's value.
8735func (s *MetricTransformation) SetMetricNamespace(v string) *MetricTransformation {
8736	s.MetricNamespace = &v
8737	return s
8738}
8739
8740// SetMetricValue sets the MetricValue field's value.
8741func (s *MetricTransformation) SetMetricValue(v string) *MetricTransformation {
8742	s.MetricValue = &v
8743	return s
8744}
8745
8746// SetUnit sets the Unit field's value.
8747func (s *MetricTransformation) SetUnit(v string) *MetricTransformation {
8748	s.Unit = &v
8749	return s
8750}
8751
8752// Multiple requests to update the same resource were in conflict.
8753type OperationAbortedException struct {
8754	_            struct{}                  `type:"structure"`
8755	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8756
8757	Message_ *string `locationName:"message" type:"string"`
8758}
8759
8760// String returns the string representation.
8761//
8762// API parameter values that are decorated as "sensitive" in the API will not
8763// be included in the string output. The member name will be present, but the
8764// value will be replaced with "sensitive".
8765func (s OperationAbortedException) String() string {
8766	return awsutil.Prettify(s)
8767}
8768
8769// GoString returns the string representation.
8770//
8771// API parameter values that are decorated as "sensitive" in the API will not
8772// be included in the string output. The member name will be present, but the
8773// value will be replaced with "sensitive".
8774func (s OperationAbortedException) GoString() string {
8775	return s.String()
8776}
8777
8778func newErrorOperationAbortedException(v protocol.ResponseMetadata) error {
8779	return &OperationAbortedException{
8780		RespMetadata: v,
8781	}
8782}
8783
8784// Code returns the exception type name.
8785func (s *OperationAbortedException) Code() string {
8786	return "OperationAbortedException"
8787}
8788
8789// Message returns the exception's message.
8790func (s *OperationAbortedException) Message() string {
8791	if s.Message_ != nil {
8792		return *s.Message_
8793	}
8794	return ""
8795}
8796
8797// OrigErr always returns nil, satisfies awserr.Error interface.
8798func (s *OperationAbortedException) OrigErr() error {
8799	return nil
8800}
8801
8802func (s *OperationAbortedException) Error() string {
8803	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8804}
8805
8806// Status code returns the HTTP status code for the request's response error.
8807func (s *OperationAbortedException) StatusCode() int {
8808	return s.RespMetadata.StatusCode
8809}
8810
8811// RequestID returns the service's response RequestID for request.
8812func (s *OperationAbortedException) RequestID() string {
8813	return s.RespMetadata.RequestID
8814}
8815
8816// Represents a log event.
8817type OutputLogEvent struct {
8818	_ struct{} `type:"structure"`
8819
8820	// The time the event was ingested, expressed as the number of milliseconds
8821	// after Jan 1, 1970 00:00:00 UTC.
8822	IngestionTime *int64 `locationName:"ingestionTime" type:"long"`
8823
8824	// The data contained in the log event.
8825	Message *string `locationName:"message" min:"1" type:"string"`
8826
8827	// The time the event occurred, expressed as the number of milliseconds after
8828	// Jan 1, 1970 00:00:00 UTC.
8829	Timestamp *int64 `locationName:"timestamp" type:"long"`
8830}
8831
8832// String returns the string representation.
8833//
8834// API parameter values that are decorated as "sensitive" in the API will not
8835// be included in the string output. The member name will be present, but the
8836// value will be replaced with "sensitive".
8837func (s OutputLogEvent) String() string {
8838	return awsutil.Prettify(s)
8839}
8840
8841// GoString returns the string representation.
8842//
8843// API parameter values that are decorated as "sensitive" in the API will not
8844// be included in the string output. The member name will be present, but the
8845// value will be replaced with "sensitive".
8846func (s OutputLogEvent) GoString() string {
8847	return s.String()
8848}
8849
8850// SetIngestionTime sets the IngestionTime field's value.
8851func (s *OutputLogEvent) SetIngestionTime(v int64) *OutputLogEvent {
8852	s.IngestionTime = &v
8853	return s
8854}
8855
8856// SetMessage sets the Message field's value.
8857func (s *OutputLogEvent) SetMessage(v string) *OutputLogEvent {
8858	s.Message = &v
8859	return s
8860}
8861
8862// SetTimestamp sets the Timestamp field's value.
8863func (s *OutputLogEvent) SetTimestamp(v int64) *OutputLogEvent {
8864	s.Timestamp = &v
8865	return s
8866}
8867
8868type PutDestinationInput struct {
8869	_ struct{} `type:"structure"`
8870
8871	// A name for the destination.
8872	//
8873	// DestinationName is a required field
8874	DestinationName *string `locationName:"destinationName" min:"1" type:"string" required:"true"`
8875
8876	// The ARN of an IAM role that grants CloudWatch Logs permissions to call the
8877	// Amazon Kinesis PutRecord operation on the destination stream.
8878	//
8879	// RoleArn is a required field
8880	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
8881
8882	// The ARN of an Amazon Kinesis stream to which to deliver matching log events.
8883	//
8884	// TargetArn is a required field
8885	TargetArn *string `locationName:"targetArn" min:"1" type:"string" required:"true"`
8886}
8887
8888// String returns the string representation.
8889//
8890// API parameter values that are decorated as "sensitive" in the API will not
8891// be included in the string output. The member name will be present, but the
8892// value will be replaced with "sensitive".
8893func (s PutDestinationInput) String() string {
8894	return awsutil.Prettify(s)
8895}
8896
8897// GoString returns the string representation.
8898//
8899// API parameter values that are decorated as "sensitive" in the API will not
8900// be included in the string output. The member name will be present, but the
8901// value will be replaced with "sensitive".
8902func (s PutDestinationInput) GoString() string {
8903	return s.String()
8904}
8905
8906// Validate inspects the fields of the type to determine if they are valid.
8907func (s *PutDestinationInput) Validate() error {
8908	invalidParams := request.ErrInvalidParams{Context: "PutDestinationInput"}
8909	if s.DestinationName == nil {
8910		invalidParams.Add(request.NewErrParamRequired("DestinationName"))
8911	}
8912	if s.DestinationName != nil && len(*s.DestinationName) < 1 {
8913		invalidParams.Add(request.NewErrParamMinLen("DestinationName", 1))
8914	}
8915	if s.RoleArn == nil {
8916		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
8917	}
8918	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
8919		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
8920	}
8921	if s.TargetArn == nil {
8922		invalidParams.Add(request.NewErrParamRequired("TargetArn"))
8923	}
8924	if s.TargetArn != nil && len(*s.TargetArn) < 1 {
8925		invalidParams.Add(request.NewErrParamMinLen("TargetArn", 1))
8926	}
8927
8928	if invalidParams.Len() > 0 {
8929		return invalidParams
8930	}
8931	return nil
8932}
8933
8934// SetDestinationName sets the DestinationName field's value.
8935func (s *PutDestinationInput) SetDestinationName(v string) *PutDestinationInput {
8936	s.DestinationName = &v
8937	return s
8938}
8939
8940// SetRoleArn sets the RoleArn field's value.
8941func (s *PutDestinationInput) SetRoleArn(v string) *PutDestinationInput {
8942	s.RoleArn = &v
8943	return s
8944}
8945
8946// SetTargetArn sets the TargetArn field's value.
8947func (s *PutDestinationInput) SetTargetArn(v string) *PutDestinationInput {
8948	s.TargetArn = &v
8949	return s
8950}
8951
8952type PutDestinationOutput struct {
8953	_ struct{} `type:"structure"`
8954
8955	// The destination.
8956	Destination *Destination `locationName:"destination" type:"structure"`
8957}
8958
8959// String returns the string representation.
8960//
8961// API parameter values that are decorated as "sensitive" in the API will not
8962// be included in the string output. The member name will be present, but the
8963// value will be replaced with "sensitive".
8964func (s PutDestinationOutput) String() string {
8965	return awsutil.Prettify(s)
8966}
8967
8968// GoString returns the string representation.
8969//
8970// API parameter values that are decorated as "sensitive" in the API will not
8971// be included in the string output. The member name will be present, but the
8972// value will be replaced with "sensitive".
8973func (s PutDestinationOutput) GoString() string {
8974	return s.String()
8975}
8976
8977// SetDestination sets the Destination field's value.
8978func (s *PutDestinationOutput) SetDestination(v *Destination) *PutDestinationOutput {
8979	s.Destination = v
8980	return s
8981}
8982
8983type PutDestinationPolicyInput struct {
8984	_ struct{} `type:"structure"`
8985
8986	// An IAM policy document that authorizes cross-account users to deliver their
8987	// log events to the associated destination. This can be up to 5120 bytes.
8988	//
8989	// AccessPolicy is a required field
8990	AccessPolicy *string `locationName:"accessPolicy" min:"1" type:"string" required:"true"`
8991
8992	// A name for an existing destination.
8993	//
8994	// DestinationName is a required field
8995	DestinationName *string `locationName:"destinationName" min:"1" type:"string" required:"true"`
8996}
8997
8998// String returns the string representation.
8999//
9000// API parameter values that are decorated as "sensitive" in the API will not
9001// be included in the string output. The member name will be present, but the
9002// value will be replaced with "sensitive".
9003func (s PutDestinationPolicyInput) String() string {
9004	return awsutil.Prettify(s)
9005}
9006
9007// GoString returns the string representation.
9008//
9009// API parameter values that are decorated as "sensitive" in the API will not
9010// be included in the string output. The member name will be present, but the
9011// value will be replaced with "sensitive".
9012func (s PutDestinationPolicyInput) GoString() string {
9013	return s.String()
9014}
9015
9016// Validate inspects the fields of the type to determine if they are valid.
9017func (s *PutDestinationPolicyInput) Validate() error {
9018	invalidParams := request.ErrInvalidParams{Context: "PutDestinationPolicyInput"}
9019	if s.AccessPolicy == nil {
9020		invalidParams.Add(request.NewErrParamRequired("AccessPolicy"))
9021	}
9022	if s.AccessPolicy != nil && len(*s.AccessPolicy) < 1 {
9023		invalidParams.Add(request.NewErrParamMinLen("AccessPolicy", 1))
9024	}
9025	if s.DestinationName == nil {
9026		invalidParams.Add(request.NewErrParamRequired("DestinationName"))
9027	}
9028	if s.DestinationName != nil && len(*s.DestinationName) < 1 {
9029		invalidParams.Add(request.NewErrParamMinLen("DestinationName", 1))
9030	}
9031
9032	if invalidParams.Len() > 0 {
9033		return invalidParams
9034	}
9035	return nil
9036}
9037
9038// SetAccessPolicy sets the AccessPolicy field's value.
9039func (s *PutDestinationPolicyInput) SetAccessPolicy(v string) *PutDestinationPolicyInput {
9040	s.AccessPolicy = &v
9041	return s
9042}
9043
9044// SetDestinationName sets the DestinationName field's value.
9045func (s *PutDestinationPolicyInput) SetDestinationName(v string) *PutDestinationPolicyInput {
9046	s.DestinationName = &v
9047	return s
9048}
9049
9050type PutDestinationPolicyOutput struct {
9051	_ struct{} `type:"structure"`
9052}
9053
9054// String returns the string representation.
9055//
9056// API parameter values that are decorated as "sensitive" in the API will not
9057// be included in the string output. The member name will be present, but the
9058// value will be replaced with "sensitive".
9059func (s PutDestinationPolicyOutput) String() string {
9060	return awsutil.Prettify(s)
9061}
9062
9063// GoString returns the string representation.
9064//
9065// API parameter values that are decorated as "sensitive" in the API will not
9066// be included in the string output. The member name will be present, but the
9067// value will be replaced with "sensitive".
9068func (s PutDestinationPolicyOutput) GoString() string {
9069	return s.String()
9070}
9071
9072type PutLogEventsInput struct {
9073	_ struct{} `type:"structure"`
9074
9075	// The log events.
9076	//
9077	// LogEvents is a required field
9078	LogEvents []*InputLogEvent `locationName:"logEvents" min:"1" type:"list" required:"true"`
9079
9080	// The name of the log group.
9081	//
9082	// LogGroupName is a required field
9083	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
9084
9085	// The name of the log stream.
9086	//
9087	// LogStreamName is a required field
9088	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"`
9089
9090	// The sequence token obtained from the response of the previous PutLogEvents
9091	// call. An upload in a newly created log stream does not require a sequence
9092	// token. You can also get the sequence token using DescribeLogStreams (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeLogStreams.html).
9093	// If you call PutLogEvents twice within a narrow time period using the same
9094	// value for sequenceToken, both calls might be successful or one might be rejected.
9095	SequenceToken *string `locationName:"sequenceToken" min:"1" type:"string"`
9096}
9097
9098// String returns the string representation.
9099//
9100// API parameter values that are decorated as "sensitive" in the API will not
9101// be included in the string output. The member name will be present, but the
9102// value will be replaced with "sensitive".
9103func (s PutLogEventsInput) String() string {
9104	return awsutil.Prettify(s)
9105}
9106
9107// GoString returns the string representation.
9108//
9109// API parameter values that are decorated as "sensitive" in the API will not
9110// be included in the string output. The member name will be present, but the
9111// value will be replaced with "sensitive".
9112func (s PutLogEventsInput) GoString() string {
9113	return s.String()
9114}
9115
9116// Validate inspects the fields of the type to determine if they are valid.
9117func (s *PutLogEventsInput) Validate() error {
9118	invalidParams := request.ErrInvalidParams{Context: "PutLogEventsInput"}
9119	if s.LogEvents == nil {
9120		invalidParams.Add(request.NewErrParamRequired("LogEvents"))
9121	}
9122	if s.LogEvents != nil && len(s.LogEvents) < 1 {
9123		invalidParams.Add(request.NewErrParamMinLen("LogEvents", 1))
9124	}
9125	if s.LogGroupName == nil {
9126		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
9127	}
9128	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
9129		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
9130	}
9131	if s.LogStreamName == nil {
9132		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
9133	}
9134	if s.LogStreamName != nil && len(*s.LogStreamName) < 1 {
9135		invalidParams.Add(request.NewErrParamMinLen("LogStreamName", 1))
9136	}
9137	if s.SequenceToken != nil && len(*s.SequenceToken) < 1 {
9138		invalidParams.Add(request.NewErrParamMinLen("SequenceToken", 1))
9139	}
9140	if s.LogEvents != nil {
9141		for i, v := range s.LogEvents {
9142			if v == nil {
9143				continue
9144			}
9145			if err := v.Validate(); err != nil {
9146				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LogEvents", i), err.(request.ErrInvalidParams))
9147			}
9148		}
9149	}
9150
9151	if invalidParams.Len() > 0 {
9152		return invalidParams
9153	}
9154	return nil
9155}
9156
9157// SetLogEvents sets the LogEvents field's value.
9158func (s *PutLogEventsInput) SetLogEvents(v []*InputLogEvent) *PutLogEventsInput {
9159	s.LogEvents = v
9160	return s
9161}
9162
9163// SetLogGroupName sets the LogGroupName field's value.
9164func (s *PutLogEventsInput) SetLogGroupName(v string) *PutLogEventsInput {
9165	s.LogGroupName = &v
9166	return s
9167}
9168
9169// SetLogStreamName sets the LogStreamName field's value.
9170func (s *PutLogEventsInput) SetLogStreamName(v string) *PutLogEventsInput {
9171	s.LogStreamName = &v
9172	return s
9173}
9174
9175// SetSequenceToken sets the SequenceToken field's value.
9176func (s *PutLogEventsInput) SetSequenceToken(v string) *PutLogEventsInput {
9177	s.SequenceToken = &v
9178	return s
9179}
9180
9181type PutLogEventsOutput struct {
9182	_ struct{} `type:"structure"`
9183
9184	// The next sequence token.
9185	NextSequenceToken *string `locationName:"nextSequenceToken" min:"1" type:"string"`
9186
9187	// The rejected events.
9188	RejectedLogEventsInfo *RejectedLogEventsInfo `locationName:"rejectedLogEventsInfo" type:"structure"`
9189}
9190
9191// String returns the string representation.
9192//
9193// API parameter values that are decorated as "sensitive" in the API will not
9194// be included in the string output. The member name will be present, but the
9195// value will be replaced with "sensitive".
9196func (s PutLogEventsOutput) String() string {
9197	return awsutil.Prettify(s)
9198}
9199
9200// GoString returns the string representation.
9201//
9202// API parameter values that are decorated as "sensitive" in the API will not
9203// be included in the string output. The member name will be present, but the
9204// value will be replaced with "sensitive".
9205func (s PutLogEventsOutput) GoString() string {
9206	return s.String()
9207}
9208
9209// SetNextSequenceToken sets the NextSequenceToken field's value.
9210func (s *PutLogEventsOutput) SetNextSequenceToken(v string) *PutLogEventsOutput {
9211	s.NextSequenceToken = &v
9212	return s
9213}
9214
9215// SetRejectedLogEventsInfo sets the RejectedLogEventsInfo field's value.
9216func (s *PutLogEventsOutput) SetRejectedLogEventsInfo(v *RejectedLogEventsInfo) *PutLogEventsOutput {
9217	s.RejectedLogEventsInfo = v
9218	return s
9219}
9220
9221type PutMetricFilterInput struct {
9222	_ struct{} `type:"structure"`
9223
9224	// A name for the metric filter.
9225	//
9226	// FilterName is a required field
9227	FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"`
9228
9229	// A filter pattern for extracting metric data out of ingested log events.
9230	//
9231	// FilterPattern is a required field
9232	FilterPattern *string `locationName:"filterPattern" type:"string" required:"true"`
9233
9234	// The name of the log group.
9235	//
9236	// LogGroupName is a required field
9237	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
9238
9239	// A collection of information that defines how metric data gets emitted.
9240	//
9241	// MetricTransformations is a required field
9242	MetricTransformations []*MetricTransformation `locationName:"metricTransformations" min:"1" type:"list" required:"true"`
9243}
9244
9245// String returns the string representation.
9246//
9247// API parameter values that are decorated as "sensitive" in the API will not
9248// be included in the string output. The member name will be present, but the
9249// value will be replaced with "sensitive".
9250func (s PutMetricFilterInput) String() string {
9251	return awsutil.Prettify(s)
9252}
9253
9254// GoString returns the string representation.
9255//
9256// API parameter values that are decorated as "sensitive" in the API will not
9257// be included in the string output. The member name will be present, but the
9258// value will be replaced with "sensitive".
9259func (s PutMetricFilterInput) GoString() string {
9260	return s.String()
9261}
9262
9263// Validate inspects the fields of the type to determine if they are valid.
9264func (s *PutMetricFilterInput) Validate() error {
9265	invalidParams := request.ErrInvalidParams{Context: "PutMetricFilterInput"}
9266	if s.FilterName == nil {
9267		invalidParams.Add(request.NewErrParamRequired("FilterName"))
9268	}
9269	if s.FilterName != nil && len(*s.FilterName) < 1 {
9270		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
9271	}
9272	if s.FilterPattern == nil {
9273		invalidParams.Add(request.NewErrParamRequired("FilterPattern"))
9274	}
9275	if s.LogGroupName == nil {
9276		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
9277	}
9278	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
9279		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
9280	}
9281	if s.MetricTransformations == nil {
9282		invalidParams.Add(request.NewErrParamRequired("MetricTransformations"))
9283	}
9284	if s.MetricTransformations != nil && len(s.MetricTransformations) < 1 {
9285		invalidParams.Add(request.NewErrParamMinLen("MetricTransformations", 1))
9286	}
9287	if s.MetricTransformations != nil {
9288		for i, v := range s.MetricTransformations {
9289			if v == nil {
9290				continue
9291			}
9292			if err := v.Validate(); err != nil {
9293				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricTransformations", i), err.(request.ErrInvalidParams))
9294			}
9295		}
9296	}
9297
9298	if invalidParams.Len() > 0 {
9299		return invalidParams
9300	}
9301	return nil
9302}
9303
9304// SetFilterName sets the FilterName field's value.
9305func (s *PutMetricFilterInput) SetFilterName(v string) *PutMetricFilterInput {
9306	s.FilterName = &v
9307	return s
9308}
9309
9310// SetFilterPattern sets the FilterPattern field's value.
9311func (s *PutMetricFilterInput) SetFilterPattern(v string) *PutMetricFilterInput {
9312	s.FilterPattern = &v
9313	return s
9314}
9315
9316// SetLogGroupName sets the LogGroupName field's value.
9317func (s *PutMetricFilterInput) SetLogGroupName(v string) *PutMetricFilterInput {
9318	s.LogGroupName = &v
9319	return s
9320}
9321
9322// SetMetricTransformations sets the MetricTransformations field's value.
9323func (s *PutMetricFilterInput) SetMetricTransformations(v []*MetricTransformation) *PutMetricFilterInput {
9324	s.MetricTransformations = v
9325	return s
9326}
9327
9328type PutMetricFilterOutput struct {
9329	_ struct{} `type:"structure"`
9330}
9331
9332// String returns the string representation.
9333//
9334// API parameter values that are decorated as "sensitive" in the API will not
9335// be included in the string output. The member name will be present, but the
9336// value will be replaced with "sensitive".
9337func (s PutMetricFilterOutput) String() string {
9338	return awsutil.Prettify(s)
9339}
9340
9341// GoString returns the string representation.
9342//
9343// API parameter values that are decorated as "sensitive" in the API will not
9344// be included in the string output. The member name will be present, but the
9345// value will be replaced with "sensitive".
9346func (s PutMetricFilterOutput) GoString() string {
9347	return s.String()
9348}
9349
9350type PutQueryDefinitionInput struct {
9351	_ struct{} `type:"structure"`
9352
9353	// Use this parameter to include specific log groups as part of your query definition.
9354	//
9355	// If you are updating a query definition and you omit this parameter, then
9356	// the updated definition will contain no log groups.
9357	LogGroupNames []*string `locationName:"logGroupNames" type:"list"`
9358
9359	// A name for the query definition. If you are saving a lot of query definitions,
9360	// we recommend that you name them so that you can easily find the ones you
9361	// want by using the first part of the name as a filter in the queryDefinitionNamePrefix
9362	// parameter of DescribeQueryDefinitions (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeQueryDefinitions.html).
9363	//
9364	// Name is a required field
9365	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9366
9367	// If you are updating a query definition, use this parameter to specify the
9368	// ID of the query definition that you want to update. You can use DescribeQueryDefinitions
9369	// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeQueryDefinitions.html)
9370	// to retrieve the IDs of your saved query definitions.
9371	//
9372	// If you are creating a query definition, do not specify this parameter. CloudWatch
9373	// generates a unique ID for the new query definition and include it in the
9374	// response to this operation.
9375	QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string"`
9376
9377	// The query string to use for this definition. For more information, see CloudWatch
9378	// Logs Insights Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
9379	//
9380	// QueryString is a required field
9381	QueryString *string `locationName:"queryString" min:"1" type:"string" required:"true"`
9382}
9383
9384// String returns the string representation.
9385//
9386// API parameter values that are decorated as "sensitive" in the API will not
9387// be included in the string output. The member name will be present, but the
9388// value will be replaced with "sensitive".
9389func (s PutQueryDefinitionInput) String() string {
9390	return awsutil.Prettify(s)
9391}
9392
9393// GoString returns the string representation.
9394//
9395// API parameter values that are decorated as "sensitive" in the API will not
9396// be included in the string output. The member name will be present, but the
9397// value will be replaced with "sensitive".
9398func (s PutQueryDefinitionInput) GoString() string {
9399	return s.String()
9400}
9401
9402// Validate inspects the fields of the type to determine if they are valid.
9403func (s *PutQueryDefinitionInput) Validate() error {
9404	invalidParams := request.ErrInvalidParams{Context: "PutQueryDefinitionInput"}
9405	if s.Name == nil {
9406		invalidParams.Add(request.NewErrParamRequired("Name"))
9407	}
9408	if s.Name != nil && len(*s.Name) < 1 {
9409		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9410	}
9411	if s.QueryString == nil {
9412		invalidParams.Add(request.NewErrParamRequired("QueryString"))
9413	}
9414	if s.QueryString != nil && len(*s.QueryString) < 1 {
9415		invalidParams.Add(request.NewErrParamMinLen("QueryString", 1))
9416	}
9417
9418	if invalidParams.Len() > 0 {
9419		return invalidParams
9420	}
9421	return nil
9422}
9423
9424// SetLogGroupNames sets the LogGroupNames field's value.
9425func (s *PutQueryDefinitionInput) SetLogGroupNames(v []*string) *PutQueryDefinitionInput {
9426	s.LogGroupNames = v
9427	return s
9428}
9429
9430// SetName sets the Name field's value.
9431func (s *PutQueryDefinitionInput) SetName(v string) *PutQueryDefinitionInput {
9432	s.Name = &v
9433	return s
9434}
9435
9436// SetQueryDefinitionId sets the QueryDefinitionId field's value.
9437func (s *PutQueryDefinitionInput) SetQueryDefinitionId(v string) *PutQueryDefinitionInput {
9438	s.QueryDefinitionId = &v
9439	return s
9440}
9441
9442// SetQueryString sets the QueryString field's value.
9443func (s *PutQueryDefinitionInput) SetQueryString(v string) *PutQueryDefinitionInput {
9444	s.QueryString = &v
9445	return s
9446}
9447
9448type PutQueryDefinitionOutput struct {
9449	_ struct{} `type:"structure"`
9450
9451	// The ID of the query definition.
9452	QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string"`
9453}
9454
9455// String returns the string representation.
9456//
9457// API parameter values that are decorated as "sensitive" in the API will not
9458// be included in the string output. The member name will be present, but the
9459// value will be replaced with "sensitive".
9460func (s PutQueryDefinitionOutput) String() string {
9461	return awsutil.Prettify(s)
9462}
9463
9464// GoString returns the string representation.
9465//
9466// API parameter values that are decorated as "sensitive" in the API will not
9467// be included in the string output. The member name will be present, but the
9468// value will be replaced with "sensitive".
9469func (s PutQueryDefinitionOutput) GoString() string {
9470	return s.String()
9471}
9472
9473// SetQueryDefinitionId sets the QueryDefinitionId field's value.
9474func (s *PutQueryDefinitionOutput) SetQueryDefinitionId(v string) *PutQueryDefinitionOutput {
9475	s.QueryDefinitionId = &v
9476	return s
9477}
9478
9479type PutResourcePolicyInput struct {
9480	_ struct{} `type:"structure"`
9481
9482	// Details of the new policy, including the identity of the principal that is
9483	// enabled to put logs to this account. This is formatted as a JSON string.
9484	// This parameter is required.
9485	//
9486	// The following example creates a resource policy enabling the Route 53 service
9487	// to put DNS query logs in to the specified log group. Replace "logArn" with
9488	// the ARN of your CloudWatch Logs resource, such as a log group or log stream.
9489	//
9490	// CloudWatch Logs also supports aws:SourceArn (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)
9491	// and aws:SourceAccount (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)
9492	// condition context keys.
9493	//
9494	// In the example resource policy, you would replace the value of SourceArn
9495	// with the resource making the call from Route 53 to CloudWatch Logs and replace
9496	// the value of SourceAccount with the Amazon Web Services account ID making
9497	// that call.
9498	//
9499	// { "Version": "2012-10-17", "Statement": [ { "Sid": "Route53LogsToCloudWatchLogs",
9500	// "Effect": "Allow", "Principal": { "Service": [ "route53.amazonaws.com" ]
9501	// }, "Action": "logs:PutLogEvents", "Resource": "logArn", "Condition": { "ArnLike":
9502	// { "aws:SourceArn": "myRoute53ResourceArn" }, "StringEquals": { "aws:SourceAccount":
9503	// "myAwsAccountId" } } } ] }
9504	PolicyDocument *string `locationName:"policyDocument" min:"1" type:"string"`
9505
9506	// Name of the new policy. This parameter is required.
9507	PolicyName *string `locationName:"policyName" type:"string"`
9508}
9509
9510// String returns the string representation.
9511//
9512// API parameter values that are decorated as "sensitive" in the API will not
9513// be included in the string output. The member name will be present, but the
9514// value will be replaced with "sensitive".
9515func (s PutResourcePolicyInput) String() string {
9516	return awsutil.Prettify(s)
9517}
9518
9519// GoString returns the string representation.
9520//
9521// API parameter values that are decorated as "sensitive" in the API will not
9522// be included in the string output. The member name will be present, but the
9523// value will be replaced with "sensitive".
9524func (s PutResourcePolicyInput) GoString() string {
9525	return s.String()
9526}
9527
9528// Validate inspects the fields of the type to determine if they are valid.
9529func (s *PutResourcePolicyInput) Validate() error {
9530	invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"}
9531	if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
9532		invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
9533	}
9534
9535	if invalidParams.Len() > 0 {
9536		return invalidParams
9537	}
9538	return nil
9539}
9540
9541// SetPolicyDocument sets the PolicyDocument field's value.
9542func (s *PutResourcePolicyInput) SetPolicyDocument(v string) *PutResourcePolicyInput {
9543	s.PolicyDocument = &v
9544	return s
9545}
9546
9547// SetPolicyName sets the PolicyName field's value.
9548func (s *PutResourcePolicyInput) SetPolicyName(v string) *PutResourcePolicyInput {
9549	s.PolicyName = &v
9550	return s
9551}
9552
9553type PutResourcePolicyOutput struct {
9554	_ struct{} `type:"structure"`
9555
9556	// The new policy.
9557	ResourcePolicy *ResourcePolicy `locationName:"resourcePolicy" type:"structure"`
9558}
9559
9560// String returns the string representation.
9561//
9562// API parameter values that are decorated as "sensitive" in the API will not
9563// be included in the string output. The member name will be present, but the
9564// value will be replaced with "sensitive".
9565func (s PutResourcePolicyOutput) String() string {
9566	return awsutil.Prettify(s)
9567}
9568
9569// GoString returns the string representation.
9570//
9571// API parameter values that are decorated as "sensitive" in the API will not
9572// be included in the string output. The member name will be present, but the
9573// value will be replaced with "sensitive".
9574func (s PutResourcePolicyOutput) GoString() string {
9575	return s.String()
9576}
9577
9578// SetResourcePolicy sets the ResourcePolicy field's value.
9579func (s *PutResourcePolicyOutput) SetResourcePolicy(v *ResourcePolicy) *PutResourcePolicyOutput {
9580	s.ResourcePolicy = v
9581	return s
9582}
9583
9584type PutRetentionPolicyInput struct {
9585	_ struct{} `type:"structure"`
9586
9587	// The name of the log group.
9588	//
9589	// LogGroupName is a required field
9590	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
9591
9592	// The number of days to retain the log events in the specified log group. Possible
9593	// values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731,
9594	// 1827, and 3653.
9595	//
9596	// To set a log group to never have log events expire, use DeleteRetentionPolicy
9597	// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteRetentionPolicy.html).
9598	//
9599	// RetentionInDays is a required field
9600	RetentionInDays *int64 `locationName:"retentionInDays" type:"integer" required:"true"`
9601}
9602
9603// String returns the string representation.
9604//
9605// API parameter values that are decorated as "sensitive" in the API will not
9606// be included in the string output. The member name will be present, but the
9607// value will be replaced with "sensitive".
9608func (s PutRetentionPolicyInput) String() string {
9609	return awsutil.Prettify(s)
9610}
9611
9612// GoString returns the string representation.
9613//
9614// API parameter values that are decorated as "sensitive" in the API will not
9615// be included in the string output. The member name will be present, but the
9616// value will be replaced with "sensitive".
9617func (s PutRetentionPolicyInput) GoString() string {
9618	return s.String()
9619}
9620
9621// Validate inspects the fields of the type to determine if they are valid.
9622func (s *PutRetentionPolicyInput) Validate() error {
9623	invalidParams := request.ErrInvalidParams{Context: "PutRetentionPolicyInput"}
9624	if s.LogGroupName == nil {
9625		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
9626	}
9627	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
9628		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
9629	}
9630	if s.RetentionInDays == nil {
9631		invalidParams.Add(request.NewErrParamRequired("RetentionInDays"))
9632	}
9633
9634	if invalidParams.Len() > 0 {
9635		return invalidParams
9636	}
9637	return nil
9638}
9639
9640// SetLogGroupName sets the LogGroupName field's value.
9641func (s *PutRetentionPolicyInput) SetLogGroupName(v string) *PutRetentionPolicyInput {
9642	s.LogGroupName = &v
9643	return s
9644}
9645
9646// SetRetentionInDays sets the RetentionInDays field's value.
9647func (s *PutRetentionPolicyInput) SetRetentionInDays(v int64) *PutRetentionPolicyInput {
9648	s.RetentionInDays = &v
9649	return s
9650}
9651
9652type PutRetentionPolicyOutput struct {
9653	_ struct{} `type:"structure"`
9654}
9655
9656// String returns the string representation.
9657//
9658// API parameter values that are decorated as "sensitive" in the API will not
9659// be included in the string output. The member name will be present, but the
9660// value will be replaced with "sensitive".
9661func (s PutRetentionPolicyOutput) String() string {
9662	return awsutil.Prettify(s)
9663}
9664
9665// GoString returns the string representation.
9666//
9667// API parameter values that are decorated as "sensitive" in the API will not
9668// be included in the string output. The member name will be present, but the
9669// value will be replaced with "sensitive".
9670func (s PutRetentionPolicyOutput) GoString() string {
9671	return s.String()
9672}
9673
9674type PutSubscriptionFilterInput struct {
9675	_ struct{} `type:"structure"`
9676
9677	// The ARN of the destination to deliver matching log events to. Currently,
9678	// the supported destinations are:
9679	//
9680	//    * An Amazon Kinesis stream belonging to the same account as the subscription
9681	//    filter, for same-account delivery.
9682	//
9683	//    * A logical destination (specified using an ARN) belonging to a different
9684	//    account, for cross-account delivery. If you are setting up a cross-account
9685	//    subscription, the destination must have an IAM policy associated with
9686	//    it that allows the sender to send logs to the destination. For more information,
9687	//    see PutDestinationPolicy (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDestinationPolicy.html).
9688	//
9689	//    * An Amazon Kinesis Firehose delivery stream belonging to the same account
9690	//    as the subscription filter, for same-account delivery.
9691	//
9692	//    * A Lambda function belonging to the same account as the subscription
9693	//    filter, for same-account delivery.
9694	//
9695	// DestinationArn is a required field
9696	DestinationArn *string `locationName:"destinationArn" min:"1" type:"string" required:"true"`
9697
9698	// The method used to distribute log data to the destination. By default, log
9699	// data is grouped by log stream, but the grouping can be set to random for
9700	// a more even distribution. This property is only applicable when the destination
9701	// is an Amazon Kinesis stream.
9702	Distribution *string `locationName:"distribution" type:"string" enum:"Distribution"`
9703
9704	// A name for the subscription filter. If you are updating an existing filter,
9705	// you must specify the correct name in filterName. To find the name of the
9706	// filter currently associated with a log group, use DescribeSubscriptionFilters
9707	// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeSubscriptionFilters.html).
9708	//
9709	// FilterName is a required field
9710	FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"`
9711
9712	// A filter pattern for subscribing to a filtered stream of log events.
9713	//
9714	// FilterPattern is a required field
9715	FilterPattern *string `locationName:"filterPattern" type:"string" required:"true"`
9716
9717	// The name of the log group.
9718	//
9719	// LogGroupName is a required field
9720	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
9721
9722	// The ARN of an IAM role that grants CloudWatch Logs permissions to deliver
9723	// ingested log events to the destination stream. You don't need to provide
9724	// the ARN when you are working with a logical destination for cross-account
9725	// delivery.
9726	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
9727}
9728
9729// String returns the string representation.
9730//
9731// API parameter values that are decorated as "sensitive" in the API will not
9732// be included in the string output. The member name will be present, but the
9733// value will be replaced with "sensitive".
9734func (s PutSubscriptionFilterInput) String() string {
9735	return awsutil.Prettify(s)
9736}
9737
9738// GoString returns the string representation.
9739//
9740// API parameter values that are decorated as "sensitive" in the API will not
9741// be included in the string output. The member name will be present, but the
9742// value will be replaced with "sensitive".
9743func (s PutSubscriptionFilterInput) GoString() string {
9744	return s.String()
9745}
9746
9747// Validate inspects the fields of the type to determine if they are valid.
9748func (s *PutSubscriptionFilterInput) Validate() error {
9749	invalidParams := request.ErrInvalidParams{Context: "PutSubscriptionFilterInput"}
9750	if s.DestinationArn == nil {
9751		invalidParams.Add(request.NewErrParamRequired("DestinationArn"))
9752	}
9753	if s.DestinationArn != nil && len(*s.DestinationArn) < 1 {
9754		invalidParams.Add(request.NewErrParamMinLen("DestinationArn", 1))
9755	}
9756	if s.FilterName == nil {
9757		invalidParams.Add(request.NewErrParamRequired("FilterName"))
9758	}
9759	if s.FilterName != nil && len(*s.FilterName) < 1 {
9760		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
9761	}
9762	if s.FilterPattern == nil {
9763		invalidParams.Add(request.NewErrParamRequired("FilterPattern"))
9764	}
9765	if s.LogGroupName == nil {
9766		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
9767	}
9768	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
9769		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
9770	}
9771	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
9772		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
9773	}
9774
9775	if invalidParams.Len() > 0 {
9776		return invalidParams
9777	}
9778	return nil
9779}
9780
9781// SetDestinationArn sets the DestinationArn field's value.
9782func (s *PutSubscriptionFilterInput) SetDestinationArn(v string) *PutSubscriptionFilterInput {
9783	s.DestinationArn = &v
9784	return s
9785}
9786
9787// SetDistribution sets the Distribution field's value.
9788func (s *PutSubscriptionFilterInput) SetDistribution(v string) *PutSubscriptionFilterInput {
9789	s.Distribution = &v
9790	return s
9791}
9792
9793// SetFilterName sets the FilterName field's value.
9794func (s *PutSubscriptionFilterInput) SetFilterName(v string) *PutSubscriptionFilterInput {
9795	s.FilterName = &v
9796	return s
9797}
9798
9799// SetFilterPattern sets the FilterPattern field's value.
9800func (s *PutSubscriptionFilterInput) SetFilterPattern(v string) *PutSubscriptionFilterInput {
9801	s.FilterPattern = &v
9802	return s
9803}
9804
9805// SetLogGroupName sets the LogGroupName field's value.
9806func (s *PutSubscriptionFilterInput) SetLogGroupName(v string) *PutSubscriptionFilterInput {
9807	s.LogGroupName = &v
9808	return s
9809}
9810
9811// SetRoleArn sets the RoleArn field's value.
9812func (s *PutSubscriptionFilterInput) SetRoleArn(v string) *PutSubscriptionFilterInput {
9813	s.RoleArn = &v
9814	return s
9815}
9816
9817type PutSubscriptionFilterOutput struct {
9818	_ struct{} `type:"structure"`
9819}
9820
9821// String returns the string representation.
9822//
9823// API parameter values that are decorated as "sensitive" in the API will not
9824// be included in the string output. The member name will be present, but the
9825// value will be replaced with "sensitive".
9826func (s PutSubscriptionFilterOutput) String() string {
9827	return awsutil.Prettify(s)
9828}
9829
9830// GoString returns the string representation.
9831//
9832// API parameter values that are decorated as "sensitive" in the API will not
9833// be included in the string output. The member name will be present, but the
9834// value will be replaced with "sensitive".
9835func (s PutSubscriptionFilterOutput) GoString() string {
9836	return s.String()
9837}
9838
9839// Reserved.
9840type QueryCompileError struct {
9841	_ struct{} `type:"structure"`
9842
9843	// Reserved.
9844	Location *QueryCompileErrorLocation `locationName:"location" type:"structure"`
9845
9846	// Reserved.
9847	Message *string `locationName:"message" type:"string"`
9848}
9849
9850// String returns the string representation.
9851//
9852// API parameter values that are decorated as "sensitive" in the API will not
9853// be included in the string output. The member name will be present, but the
9854// value will be replaced with "sensitive".
9855func (s QueryCompileError) String() string {
9856	return awsutil.Prettify(s)
9857}
9858
9859// GoString returns the string representation.
9860//
9861// API parameter values that are decorated as "sensitive" in the API will not
9862// be included in the string output. The member name will be present, but the
9863// value will be replaced with "sensitive".
9864func (s QueryCompileError) GoString() string {
9865	return s.String()
9866}
9867
9868// SetLocation sets the Location field's value.
9869func (s *QueryCompileError) SetLocation(v *QueryCompileErrorLocation) *QueryCompileError {
9870	s.Location = v
9871	return s
9872}
9873
9874// SetMessage sets the Message field's value.
9875func (s *QueryCompileError) SetMessage(v string) *QueryCompileError {
9876	s.Message = &v
9877	return s
9878}
9879
9880// Reserved.
9881type QueryCompileErrorLocation struct {
9882	_ struct{} `type:"structure"`
9883
9884	// Reserved.
9885	EndCharOffset *int64 `locationName:"endCharOffset" type:"integer"`
9886
9887	// Reserved.
9888	StartCharOffset *int64 `locationName:"startCharOffset" type:"integer"`
9889}
9890
9891// String returns the string representation.
9892//
9893// API parameter values that are decorated as "sensitive" in the API will not
9894// be included in the string output. The member name will be present, but the
9895// value will be replaced with "sensitive".
9896func (s QueryCompileErrorLocation) String() string {
9897	return awsutil.Prettify(s)
9898}
9899
9900// GoString returns the string representation.
9901//
9902// API parameter values that are decorated as "sensitive" in the API will not
9903// be included in the string output. The member name will be present, but the
9904// value will be replaced with "sensitive".
9905func (s QueryCompileErrorLocation) GoString() string {
9906	return s.String()
9907}
9908
9909// SetEndCharOffset sets the EndCharOffset field's value.
9910func (s *QueryCompileErrorLocation) SetEndCharOffset(v int64) *QueryCompileErrorLocation {
9911	s.EndCharOffset = &v
9912	return s
9913}
9914
9915// SetStartCharOffset sets the StartCharOffset field's value.
9916func (s *QueryCompileErrorLocation) SetStartCharOffset(v int64) *QueryCompileErrorLocation {
9917	s.StartCharOffset = &v
9918	return s
9919}
9920
9921// This structure contains details about a saved CloudWatch Logs Insights query
9922// definition.
9923type QueryDefinition struct {
9924	_ struct{} `type:"structure"`
9925
9926	// The date that the query definition was most recently modified.
9927	LastModified *int64 `locationName:"lastModified" type:"long"`
9928
9929	// If this query definition contains a list of log groups that it is limited
9930	// to, that list appears here.
9931	LogGroupNames []*string `locationName:"logGroupNames" type:"list"`
9932
9933	// The name of the query definition.
9934	Name *string `locationName:"name" min:"1" type:"string"`
9935
9936	// The unique ID of the query definition.
9937	QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string"`
9938
9939	// The query string to use for this definition. For more information, see CloudWatch
9940	// Logs Insights Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
9941	QueryString *string `locationName:"queryString" min:"1" type:"string"`
9942}
9943
9944// String returns the string representation.
9945//
9946// API parameter values that are decorated as "sensitive" in the API will not
9947// be included in the string output. The member name will be present, but the
9948// value will be replaced with "sensitive".
9949func (s QueryDefinition) String() string {
9950	return awsutil.Prettify(s)
9951}
9952
9953// GoString returns the string representation.
9954//
9955// API parameter values that are decorated as "sensitive" in the API will not
9956// be included in the string output. The member name will be present, but the
9957// value will be replaced with "sensitive".
9958func (s QueryDefinition) GoString() string {
9959	return s.String()
9960}
9961
9962// SetLastModified sets the LastModified field's value.
9963func (s *QueryDefinition) SetLastModified(v int64) *QueryDefinition {
9964	s.LastModified = &v
9965	return s
9966}
9967
9968// SetLogGroupNames sets the LogGroupNames field's value.
9969func (s *QueryDefinition) SetLogGroupNames(v []*string) *QueryDefinition {
9970	s.LogGroupNames = v
9971	return s
9972}
9973
9974// SetName sets the Name field's value.
9975func (s *QueryDefinition) SetName(v string) *QueryDefinition {
9976	s.Name = &v
9977	return s
9978}
9979
9980// SetQueryDefinitionId sets the QueryDefinitionId field's value.
9981func (s *QueryDefinition) SetQueryDefinitionId(v string) *QueryDefinition {
9982	s.QueryDefinitionId = &v
9983	return s
9984}
9985
9986// SetQueryString sets the QueryString field's value.
9987func (s *QueryDefinition) SetQueryString(v string) *QueryDefinition {
9988	s.QueryString = &v
9989	return s
9990}
9991
9992// Information about one CloudWatch Logs Insights query that matches the request
9993// in a DescribeQueries operation.
9994type QueryInfo struct {
9995	_ struct{} `type:"structure"`
9996
9997	// The date and time that this query was created.
9998	CreateTime *int64 `locationName:"createTime" type:"long"`
9999
10000	// The name of the log group scanned by this query.
10001	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
10002
10003	// The unique ID number of this query.
10004	QueryId *string `locationName:"queryId" type:"string"`
10005
10006	// The query string used in this query.
10007	QueryString *string `locationName:"queryString" type:"string"`
10008
10009	// The status of this query. Possible values are Cancelled, Complete, Failed,
10010	// Running, Scheduled, and Unknown.
10011	Status *string `locationName:"status" type:"string" enum:"QueryStatus"`
10012}
10013
10014// String returns the string representation.
10015//
10016// API parameter values that are decorated as "sensitive" in the API will not
10017// be included in the string output. The member name will be present, but the
10018// value will be replaced with "sensitive".
10019func (s QueryInfo) String() string {
10020	return awsutil.Prettify(s)
10021}
10022
10023// GoString returns the string representation.
10024//
10025// API parameter values that are decorated as "sensitive" in the API will not
10026// be included in the string output. The member name will be present, but the
10027// value will be replaced with "sensitive".
10028func (s QueryInfo) GoString() string {
10029	return s.String()
10030}
10031
10032// SetCreateTime sets the CreateTime field's value.
10033func (s *QueryInfo) SetCreateTime(v int64) *QueryInfo {
10034	s.CreateTime = &v
10035	return s
10036}
10037
10038// SetLogGroupName sets the LogGroupName field's value.
10039func (s *QueryInfo) SetLogGroupName(v string) *QueryInfo {
10040	s.LogGroupName = &v
10041	return s
10042}
10043
10044// SetQueryId sets the QueryId field's value.
10045func (s *QueryInfo) SetQueryId(v string) *QueryInfo {
10046	s.QueryId = &v
10047	return s
10048}
10049
10050// SetQueryString sets the QueryString field's value.
10051func (s *QueryInfo) SetQueryString(v string) *QueryInfo {
10052	s.QueryString = &v
10053	return s
10054}
10055
10056// SetStatus sets the Status field's value.
10057func (s *QueryInfo) SetStatus(v string) *QueryInfo {
10058	s.Status = &v
10059	return s
10060}
10061
10062// Contains the number of log events scanned by the query, the number of log
10063// events that matched the query criteria, and the total number of bytes in
10064// the log events that were scanned.
10065type QueryStatistics struct {
10066	_ struct{} `type:"structure"`
10067
10068	// The total number of bytes in the log events scanned during the query.
10069	BytesScanned *float64 `locationName:"bytesScanned" type:"double"`
10070
10071	// The number of log events that matched the query string.
10072	RecordsMatched *float64 `locationName:"recordsMatched" type:"double"`
10073
10074	// The total number of log events scanned during the query.
10075	RecordsScanned *float64 `locationName:"recordsScanned" type:"double"`
10076}
10077
10078// String returns the string representation.
10079//
10080// API parameter values that are decorated as "sensitive" in the API will not
10081// be included in the string output. The member name will be present, but the
10082// value will be replaced with "sensitive".
10083func (s QueryStatistics) String() string {
10084	return awsutil.Prettify(s)
10085}
10086
10087// GoString returns the string representation.
10088//
10089// API parameter values that are decorated as "sensitive" in the API will not
10090// be included in the string output. The member name will be present, but the
10091// value will be replaced with "sensitive".
10092func (s QueryStatistics) GoString() string {
10093	return s.String()
10094}
10095
10096// SetBytesScanned sets the BytesScanned field's value.
10097func (s *QueryStatistics) SetBytesScanned(v float64) *QueryStatistics {
10098	s.BytesScanned = &v
10099	return s
10100}
10101
10102// SetRecordsMatched sets the RecordsMatched field's value.
10103func (s *QueryStatistics) SetRecordsMatched(v float64) *QueryStatistics {
10104	s.RecordsMatched = &v
10105	return s
10106}
10107
10108// SetRecordsScanned sets the RecordsScanned field's value.
10109func (s *QueryStatistics) SetRecordsScanned(v float64) *QueryStatistics {
10110	s.RecordsScanned = &v
10111	return s
10112}
10113
10114// Represents the rejected events.
10115type RejectedLogEventsInfo struct {
10116	_ struct{} `type:"structure"`
10117
10118	// The expired log events.
10119	ExpiredLogEventEndIndex *int64 `locationName:"expiredLogEventEndIndex" type:"integer"`
10120
10121	// The log events that are too new.
10122	TooNewLogEventStartIndex *int64 `locationName:"tooNewLogEventStartIndex" type:"integer"`
10123
10124	// The log events that are too old.
10125	TooOldLogEventEndIndex *int64 `locationName:"tooOldLogEventEndIndex" type:"integer"`
10126}
10127
10128// String returns the string representation.
10129//
10130// API parameter values that are decorated as "sensitive" in the API will not
10131// be included in the string output. The member name will be present, but the
10132// value will be replaced with "sensitive".
10133func (s RejectedLogEventsInfo) String() string {
10134	return awsutil.Prettify(s)
10135}
10136
10137// GoString returns the string representation.
10138//
10139// API parameter values that are decorated as "sensitive" in the API will not
10140// be included in the string output. The member name will be present, but the
10141// value will be replaced with "sensitive".
10142func (s RejectedLogEventsInfo) GoString() string {
10143	return s.String()
10144}
10145
10146// SetExpiredLogEventEndIndex sets the ExpiredLogEventEndIndex field's value.
10147func (s *RejectedLogEventsInfo) SetExpiredLogEventEndIndex(v int64) *RejectedLogEventsInfo {
10148	s.ExpiredLogEventEndIndex = &v
10149	return s
10150}
10151
10152// SetTooNewLogEventStartIndex sets the TooNewLogEventStartIndex field's value.
10153func (s *RejectedLogEventsInfo) SetTooNewLogEventStartIndex(v int64) *RejectedLogEventsInfo {
10154	s.TooNewLogEventStartIndex = &v
10155	return s
10156}
10157
10158// SetTooOldLogEventEndIndex sets the TooOldLogEventEndIndex field's value.
10159func (s *RejectedLogEventsInfo) SetTooOldLogEventEndIndex(v int64) *RejectedLogEventsInfo {
10160	s.TooOldLogEventEndIndex = &v
10161	return s
10162}
10163
10164// The specified resource already exists.
10165type ResourceAlreadyExistsException struct {
10166	_            struct{}                  `type:"structure"`
10167	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10168
10169	Message_ *string `locationName:"message" type:"string"`
10170}
10171
10172// String returns the string representation.
10173//
10174// API parameter values that are decorated as "sensitive" in the API will not
10175// be included in the string output. The member name will be present, but the
10176// value will be replaced with "sensitive".
10177func (s ResourceAlreadyExistsException) String() string {
10178	return awsutil.Prettify(s)
10179}
10180
10181// GoString returns the string representation.
10182//
10183// API parameter values that are decorated as "sensitive" in the API will not
10184// be included in the string output. The member name will be present, but the
10185// value will be replaced with "sensitive".
10186func (s ResourceAlreadyExistsException) GoString() string {
10187	return s.String()
10188}
10189
10190func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
10191	return &ResourceAlreadyExistsException{
10192		RespMetadata: v,
10193	}
10194}
10195
10196// Code returns the exception type name.
10197func (s *ResourceAlreadyExistsException) Code() string {
10198	return "ResourceAlreadyExistsException"
10199}
10200
10201// Message returns the exception's message.
10202func (s *ResourceAlreadyExistsException) Message() string {
10203	if s.Message_ != nil {
10204		return *s.Message_
10205	}
10206	return ""
10207}
10208
10209// OrigErr always returns nil, satisfies awserr.Error interface.
10210func (s *ResourceAlreadyExistsException) OrigErr() error {
10211	return nil
10212}
10213
10214func (s *ResourceAlreadyExistsException) Error() string {
10215	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10216}
10217
10218// Status code returns the HTTP status code for the request's response error.
10219func (s *ResourceAlreadyExistsException) StatusCode() int {
10220	return s.RespMetadata.StatusCode
10221}
10222
10223// RequestID returns the service's response RequestID for request.
10224func (s *ResourceAlreadyExistsException) RequestID() string {
10225	return s.RespMetadata.RequestID
10226}
10227
10228// The specified resource does not exist.
10229type ResourceNotFoundException struct {
10230	_            struct{}                  `type:"structure"`
10231	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10232
10233	Message_ *string `locationName:"message" type:"string"`
10234}
10235
10236// String returns the string representation.
10237//
10238// API parameter values that are decorated as "sensitive" in the API will not
10239// be included in the string output. The member name will be present, but the
10240// value will be replaced with "sensitive".
10241func (s ResourceNotFoundException) String() string {
10242	return awsutil.Prettify(s)
10243}
10244
10245// GoString returns the string representation.
10246//
10247// API parameter values that are decorated as "sensitive" in the API will not
10248// be included in the string output. The member name will be present, but the
10249// value will be replaced with "sensitive".
10250func (s ResourceNotFoundException) GoString() string {
10251	return s.String()
10252}
10253
10254func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
10255	return &ResourceNotFoundException{
10256		RespMetadata: v,
10257	}
10258}
10259
10260// Code returns the exception type name.
10261func (s *ResourceNotFoundException) Code() string {
10262	return "ResourceNotFoundException"
10263}
10264
10265// Message returns the exception's message.
10266func (s *ResourceNotFoundException) Message() string {
10267	if s.Message_ != nil {
10268		return *s.Message_
10269	}
10270	return ""
10271}
10272
10273// OrigErr always returns nil, satisfies awserr.Error interface.
10274func (s *ResourceNotFoundException) OrigErr() error {
10275	return nil
10276}
10277
10278func (s *ResourceNotFoundException) Error() string {
10279	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10280}
10281
10282// Status code returns the HTTP status code for the request's response error.
10283func (s *ResourceNotFoundException) StatusCode() int {
10284	return s.RespMetadata.StatusCode
10285}
10286
10287// RequestID returns the service's response RequestID for request.
10288func (s *ResourceNotFoundException) RequestID() string {
10289	return s.RespMetadata.RequestID
10290}
10291
10292// A policy enabling one or more entities to put logs to a log group in this
10293// account.
10294type ResourcePolicy struct {
10295	_ struct{} `type:"structure"`
10296
10297	// Timestamp showing when this policy was last updated, expressed as the number
10298	// of milliseconds after Jan 1, 1970 00:00:00 UTC.
10299	LastUpdatedTime *int64 `locationName:"lastUpdatedTime" type:"long"`
10300
10301	// The details of the policy.
10302	PolicyDocument *string `locationName:"policyDocument" min:"1" type:"string"`
10303
10304	// The name of the resource policy.
10305	PolicyName *string `locationName:"policyName" type:"string"`
10306}
10307
10308// String returns the string representation.
10309//
10310// API parameter values that are decorated as "sensitive" in the API will not
10311// be included in the string output. The member name will be present, but the
10312// value will be replaced with "sensitive".
10313func (s ResourcePolicy) String() string {
10314	return awsutil.Prettify(s)
10315}
10316
10317// GoString returns the string representation.
10318//
10319// API parameter values that are decorated as "sensitive" in the API will not
10320// be included in the string output. The member name will be present, but the
10321// value will be replaced with "sensitive".
10322func (s ResourcePolicy) GoString() string {
10323	return s.String()
10324}
10325
10326// SetLastUpdatedTime sets the LastUpdatedTime field's value.
10327func (s *ResourcePolicy) SetLastUpdatedTime(v int64) *ResourcePolicy {
10328	s.LastUpdatedTime = &v
10329	return s
10330}
10331
10332// SetPolicyDocument sets the PolicyDocument field's value.
10333func (s *ResourcePolicy) SetPolicyDocument(v string) *ResourcePolicy {
10334	s.PolicyDocument = &v
10335	return s
10336}
10337
10338// SetPolicyName sets the PolicyName field's value.
10339func (s *ResourcePolicy) SetPolicyName(v string) *ResourcePolicy {
10340	s.PolicyName = &v
10341	return s
10342}
10343
10344// Contains one field from one log event returned by a CloudWatch Logs Insights
10345// query, along with the value of that field.
10346//
10347// For more information about the fields that are generated by CloudWatch logs,
10348// see Supported Logs and Discovered Fields (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData-discoverable-fields.html).
10349type ResultField struct {
10350	_ struct{} `type:"structure"`
10351
10352	// The log event field.
10353	Field *string `locationName:"field" type:"string"`
10354
10355	// The value of this field.
10356	Value *string `locationName:"value" type:"string"`
10357}
10358
10359// String returns the string representation.
10360//
10361// API parameter values that are decorated as "sensitive" in the API will not
10362// be included in the string output. The member name will be present, but the
10363// value will be replaced with "sensitive".
10364func (s ResultField) String() string {
10365	return awsutil.Prettify(s)
10366}
10367
10368// GoString returns the string representation.
10369//
10370// API parameter values that are decorated as "sensitive" in the API will not
10371// be included in the string output. The member name will be present, but the
10372// value will be replaced with "sensitive".
10373func (s ResultField) GoString() string {
10374	return s.String()
10375}
10376
10377// SetField sets the Field field's value.
10378func (s *ResultField) SetField(v string) *ResultField {
10379	s.Field = &v
10380	return s
10381}
10382
10383// SetValue sets the Value field's value.
10384func (s *ResultField) SetValue(v string) *ResultField {
10385	s.Value = &v
10386	return s
10387}
10388
10389// Represents the search status of a log stream.
10390type SearchedLogStream struct {
10391	_ struct{} `type:"structure"`
10392
10393	// The name of the log stream.
10394	LogStreamName *string `locationName:"logStreamName" min:"1" type:"string"`
10395
10396	// Indicates whether all the events in this log stream were searched.
10397	SearchedCompletely *bool `locationName:"searchedCompletely" type:"boolean"`
10398}
10399
10400// String returns the string representation.
10401//
10402// API parameter values that are decorated as "sensitive" in the API will not
10403// be included in the string output. The member name will be present, but the
10404// value will be replaced with "sensitive".
10405func (s SearchedLogStream) String() string {
10406	return awsutil.Prettify(s)
10407}
10408
10409// GoString returns the string representation.
10410//
10411// API parameter values that are decorated as "sensitive" in the API will not
10412// be included in the string output. The member name will be present, but the
10413// value will be replaced with "sensitive".
10414func (s SearchedLogStream) GoString() string {
10415	return s.String()
10416}
10417
10418// SetLogStreamName sets the LogStreamName field's value.
10419func (s *SearchedLogStream) SetLogStreamName(v string) *SearchedLogStream {
10420	s.LogStreamName = &v
10421	return s
10422}
10423
10424// SetSearchedCompletely sets the SearchedCompletely field's value.
10425func (s *SearchedLogStream) SetSearchedCompletely(v bool) *SearchedLogStream {
10426	s.SearchedCompletely = &v
10427	return s
10428}
10429
10430// The service cannot complete the request.
10431type ServiceUnavailableException struct {
10432	_            struct{}                  `type:"structure"`
10433	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10434
10435	Message_ *string `locationName:"message" type:"string"`
10436}
10437
10438// String returns the string representation.
10439//
10440// API parameter values that are decorated as "sensitive" in the API will not
10441// be included in the string output. The member name will be present, but the
10442// value will be replaced with "sensitive".
10443func (s ServiceUnavailableException) String() string {
10444	return awsutil.Prettify(s)
10445}
10446
10447// GoString returns the string representation.
10448//
10449// API parameter values that are decorated as "sensitive" in the API will not
10450// be included in the string output. The member name will be present, but the
10451// value will be replaced with "sensitive".
10452func (s ServiceUnavailableException) GoString() string {
10453	return s.String()
10454}
10455
10456func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
10457	return &ServiceUnavailableException{
10458		RespMetadata: v,
10459	}
10460}
10461
10462// Code returns the exception type name.
10463func (s *ServiceUnavailableException) Code() string {
10464	return "ServiceUnavailableException"
10465}
10466
10467// Message returns the exception's message.
10468func (s *ServiceUnavailableException) Message() string {
10469	if s.Message_ != nil {
10470		return *s.Message_
10471	}
10472	return ""
10473}
10474
10475// OrigErr always returns nil, satisfies awserr.Error interface.
10476func (s *ServiceUnavailableException) OrigErr() error {
10477	return nil
10478}
10479
10480func (s *ServiceUnavailableException) Error() string {
10481	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10482}
10483
10484// Status code returns the HTTP status code for the request's response error.
10485func (s *ServiceUnavailableException) StatusCode() int {
10486	return s.RespMetadata.StatusCode
10487}
10488
10489// RequestID returns the service's response RequestID for request.
10490func (s *ServiceUnavailableException) RequestID() string {
10491	return s.RespMetadata.RequestID
10492}
10493
10494type StartQueryInput struct {
10495	_ struct{} `type:"structure"`
10496
10497	// The end of the time range to query. The range is inclusive, so the specified
10498	// end time is included in the query. Specified as epoch time, the number of
10499	// seconds since January 1, 1970, 00:00:00 UTC.
10500	//
10501	// EndTime is a required field
10502	EndTime *int64 `locationName:"endTime" type:"long" required:"true"`
10503
10504	// The maximum number of log events to return in the query. If the query string
10505	// uses the fields command, only the specified fields and their values are returned.
10506	// The default is 1000.
10507	Limit *int64 `locationName:"limit" min:"1" type:"integer"`
10508
10509	// The log group on which to perform the query.
10510	//
10511	// A StartQuery operation must include a logGroupNames or a logGroupName parameter,
10512	// but not both.
10513	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
10514
10515	// The list of log groups to be queried. You can include up to 20 log groups.
10516	//
10517	// A StartQuery operation must include a logGroupNames or a logGroupName parameter,
10518	// but not both.
10519	LogGroupNames []*string `locationName:"logGroupNames" type:"list"`
10520
10521	// The query string to use. For more information, see CloudWatch Logs Insights
10522	// Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).
10523	//
10524	// QueryString is a required field
10525	QueryString *string `locationName:"queryString" type:"string" required:"true"`
10526
10527	// The beginning of the time range to query. The range is inclusive, so the
10528	// specified start time is included in the query. Specified as epoch time, the
10529	// number of seconds since January 1, 1970, 00:00:00 UTC.
10530	//
10531	// StartTime is a required field
10532	StartTime *int64 `locationName:"startTime" type:"long" required:"true"`
10533}
10534
10535// String returns the string representation.
10536//
10537// API parameter values that are decorated as "sensitive" in the API will not
10538// be included in the string output. The member name will be present, but the
10539// value will be replaced with "sensitive".
10540func (s StartQueryInput) String() string {
10541	return awsutil.Prettify(s)
10542}
10543
10544// GoString returns the string representation.
10545//
10546// API parameter values that are decorated as "sensitive" in the API will not
10547// be included in the string output. The member name will be present, but the
10548// value will be replaced with "sensitive".
10549func (s StartQueryInput) GoString() string {
10550	return s.String()
10551}
10552
10553// Validate inspects the fields of the type to determine if they are valid.
10554func (s *StartQueryInput) Validate() error {
10555	invalidParams := request.ErrInvalidParams{Context: "StartQueryInput"}
10556	if s.EndTime == nil {
10557		invalidParams.Add(request.NewErrParamRequired("EndTime"))
10558	}
10559	if s.Limit != nil && *s.Limit < 1 {
10560		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
10561	}
10562	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
10563		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
10564	}
10565	if s.QueryString == nil {
10566		invalidParams.Add(request.NewErrParamRequired("QueryString"))
10567	}
10568	if s.StartTime == nil {
10569		invalidParams.Add(request.NewErrParamRequired("StartTime"))
10570	}
10571
10572	if invalidParams.Len() > 0 {
10573		return invalidParams
10574	}
10575	return nil
10576}
10577
10578// SetEndTime sets the EndTime field's value.
10579func (s *StartQueryInput) SetEndTime(v int64) *StartQueryInput {
10580	s.EndTime = &v
10581	return s
10582}
10583
10584// SetLimit sets the Limit field's value.
10585func (s *StartQueryInput) SetLimit(v int64) *StartQueryInput {
10586	s.Limit = &v
10587	return s
10588}
10589
10590// SetLogGroupName sets the LogGroupName field's value.
10591func (s *StartQueryInput) SetLogGroupName(v string) *StartQueryInput {
10592	s.LogGroupName = &v
10593	return s
10594}
10595
10596// SetLogGroupNames sets the LogGroupNames field's value.
10597func (s *StartQueryInput) SetLogGroupNames(v []*string) *StartQueryInput {
10598	s.LogGroupNames = v
10599	return s
10600}
10601
10602// SetQueryString sets the QueryString field's value.
10603func (s *StartQueryInput) SetQueryString(v string) *StartQueryInput {
10604	s.QueryString = &v
10605	return s
10606}
10607
10608// SetStartTime sets the StartTime field's value.
10609func (s *StartQueryInput) SetStartTime(v int64) *StartQueryInput {
10610	s.StartTime = &v
10611	return s
10612}
10613
10614type StartQueryOutput struct {
10615	_ struct{} `type:"structure"`
10616
10617	// The unique ID of the query.
10618	QueryId *string `locationName:"queryId" type:"string"`
10619}
10620
10621// String returns the string representation.
10622//
10623// API parameter values that are decorated as "sensitive" in the API will not
10624// be included in the string output. The member name will be present, but the
10625// value will be replaced with "sensitive".
10626func (s StartQueryOutput) String() string {
10627	return awsutil.Prettify(s)
10628}
10629
10630// GoString returns the string representation.
10631//
10632// API parameter values that are decorated as "sensitive" in the API will not
10633// be included in the string output. The member name will be present, but the
10634// value will be replaced with "sensitive".
10635func (s StartQueryOutput) GoString() string {
10636	return s.String()
10637}
10638
10639// SetQueryId sets the QueryId field's value.
10640func (s *StartQueryOutput) SetQueryId(v string) *StartQueryOutput {
10641	s.QueryId = &v
10642	return s
10643}
10644
10645type StopQueryInput struct {
10646	_ struct{} `type:"structure"`
10647
10648	// The ID number of the query to stop. To find this ID number, use DescribeQueries.
10649	//
10650	// QueryId is a required field
10651	QueryId *string `locationName:"queryId" type:"string" required:"true"`
10652}
10653
10654// String returns the string representation.
10655//
10656// API parameter values that are decorated as "sensitive" in the API will not
10657// be included in the string output. The member name will be present, but the
10658// value will be replaced with "sensitive".
10659func (s StopQueryInput) String() string {
10660	return awsutil.Prettify(s)
10661}
10662
10663// GoString returns the string representation.
10664//
10665// API parameter values that are decorated as "sensitive" in the API will not
10666// be included in the string output. The member name will be present, but the
10667// value will be replaced with "sensitive".
10668func (s StopQueryInput) GoString() string {
10669	return s.String()
10670}
10671
10672// Validate inspects the fields of the type to determine if they are valid.
10673func (s *StopQueryInput) Validate() error {
10674	invalidParams := request.ErrInvalidParams{Context: "StopQueryInput"}
10675	if s.QueryId == nil {
10676		invalidParams.Add(request.NewErrParamRequired("QueryId"))
10677	}
10678
10679	if invalidParams.Len() > 0 {
10680		return invalidParams
10681	}
10682	return nil
10683}
10684
10685// SetQueryId sets the QueryId field's value.
10686func (s *StopQueryInput) SetQueryId(v string) *StopQueryInput {
10687	s.QueryId = &v
10688	return s
10689}
10690
10691type StopQueryOutput struct {
10692	_ struct{} `type:"structure"`
10693
10694	// This is true if the query was stopped by the StopQuery operation.
10695	Success *bool `locationName:"success" type:"boolean"`
10696}
10697
10698// String returns the string representation.
10699//
10700// API parameter values that are decorated as "sensitive" in the API will not
10701// be included in the string output. The member name will be present, but the
10702// value will be replaced with "sensitive".
10703func (s StopQueryOutput) String() string {
10704	return awsutil.Prettify(s)
10705}
10706
10707// GoString returns the string representation.
10708//
10709// API parameter values that are decorated as "sensitive" in the API will not
10710// be included in the string output. The member name will be present, but the
10711// value will be replaced with "sensitive".
10712func (s StopQueryOutput) GoString() string {
10713	return s.String()
10714}
10715
10716// SetSuccess sets the Success field's value.
10717func (s *StopQueryOutput) SetSuccess(v bool) *StopQueryOutput {
10718	s.Success = &v
10719	return s
10720}
10721
10722// Represents a subscription filter.
10723type SubscriptionFilter struct {
10724	_ struct{} `type:"structure"`
10725
10726	// The creation time of the subscription filter, expressed as the number of
10727	// milliseconds after Jan 1, 1970 00:00:00 UTC.
10728	CreationTime *int64 `locationName:"creationTime" type:"long"`
10729
10730	// The Amazon Resource Name (ARN) of the destination.
10731	DestinationArn *string `locationName:"destinationArn" min:"1" type:"string"`
10732
10733	// The method used to distribute log data to the destination, which can be either
10734	// random or grouped by log stream.
10735	Distribution *string `locationName:"distribution" type:"string" enum:"Distribution"`
10736
10737	// The name of the subscription filter.
10738	FilterName *string `locationName:"filterName" min:"1" type:"string"`
10739
10740	// A symbolic description of how CloudWatch Logs should interpret the data in
10741	// each log event. For example, a log event can contain timestamps, IP addresses,
10742	// strings, and so on. You use the filter pattern to specify what to look for
10743	// in the log event message.
10744	FilterPattern *string `locationName:"filterPattern" type:"string"`
10745
10746	// The name of the log group.
10747	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"`
10748
10749	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
10750}
10751
10752// String returns the string representation.
10753//
10754// API parameter values that are decorated as "sensitive" in the API will not
10755// be included in the string output. The member name will be present, but the
10756// value will be replaced with "sensitive".
10757func (s SubscriptionFilter) String() string {
10758	return awsutil.Prettify(s)
10759}
10760
10761// GoString returns the string representation.
10762//
10763// API parameter values that are decorated as "sensitive" in the API will not
10764// be included in the string output. The member name will be present, but the
10765// value will be replaced with "sensitive".
10766func (s SubscriptionFilter) GoString() string {
10767	return s.String()
10768}
10769
10770// SetCreationTime sets the CreationTime field's value.
10771func (s *SubscriptionFilter) SetCreationTime(v int64) *SubscriptionFilter {
10772	s.CreationTime = &v
10773	return s
10774}
10775
10776// SetDestinationArn sets the DestinationArn field's value.
10777func (s *SubscriptionFilter) SetDestinationArn(v string) *SubscriptionFilter {
10778	s.DestinationArn = &v
10779	return s
10780}
10781
10782// SetDistribution sets the Distribution field's value.
10783func (s *SubscriptionFilter) SetDistribution(v string) *SubscriptionFilter {
10784	s.Distribution = &v
10785	return s
10786}
10787
10788// SetFilterName sets the FilterName field's value.
10789func (s *SubscriptionFilter) SetFilterName(v string) *SubscriptionFilter {
10790	s.FilterName = &v
10791	return s
10792}
10793
10794// SetFilterPattern sets the FilterPattern field's value.
10795func (s *SubscriptionFilter) SetFilterPattern(v string) *SubscriptionFilter {
10796	s.FilterPattern = &v
10797	return s
10798}
10799
10800// SetLogGroupName sets the LogGroupName field's value.
10801func (s *SubscriptionFilter) SetLogGroupName(v string) *SubscriptionFilter {
10802	s.LogGroupName = &v
10803	return s
10804}
10805
10806// SetRoleArn sets the RoleArn field's value.
10807func (s *SubscriptionFilter) SetRoleArn(v string) *SubscriptionFilter {
10808	s.RoleArn = &v
10809	return s
10810}
10811
10812type TagLogGroupInput struct {
10813	_ struct{} `type:"structure"`
10814
10815	// The name of the log group.
10816	//
10817	// LogGroupName is a required field
10818	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
10819
10820	// The key-value pairs to use for the tags.
10821	//
10822	// Tags is a required field
10823	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
10824}
10825
10826// String returns the string representation.
10827//
10828// API parameter values that are decorated as "sensitive" in the API will not
10829// be included in the string output. The member name will be present, but the
10830// value will be replaced with "sensitive".
10831func (s TagLogGroupInput) String() string {
10832	return awsutil.Prettify(s)
10833}
10834
10835// GoString returns the string representation.
10836//
10837// API parameter values that are decorated as "sensitive" in the API will not
10838// be included in the string output. The member name will be present, but the
10839// value will be replaced with "sensitive".
10840func (s TagLogGroupInput) GoString() string {
10841	return s.String()
10842}
10843
10844// Validate inspects the fields of the type to determine if they are valid.
10845func (s *TagLogGroupInput) Validate() error {
10846	invalidParams := request.ErrInvalidParams{Context: "TagLogGroupInput"}
10847	if s.LogGroupName == nil {
10848		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
10849	}
10850	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
10851		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
10852	}
10853	if s.Tags == nil {
10854		invalidParams.Add(request.NewErrParamRequired("Tags"))
10855	}
10856	if s.Tags != nil && len(s.Tags) < 1 {
10857		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
10858	}
10859
10860	if invalidParams.Len() > 0 {
10861		return invalidParams
10862	}
10863	return nil
10864}
10865
10866// SetLogGroupName sets the LogGroupName field's value.
10867func (s *TagLogGroupInput) SetLogGroupName(v string) *TagLogGroupInput {
10868	s.LogGroupName = &v
10869	return s
10870}
10871
10872// SetTags sets the Tags field's value.
10873func (s *TagLogGroupInput) SetTags(v map[string]*string) *TagLogGroupInput {
10874	s.Tags = v
10875	return s
10876}
10877
10878type TagLogGroupOutput struct {
10879	_ struct{} `type:"structure"`
10880}
10881
10882// String returns the string representation.
10883//
10884// API parameter values that are decorated as "sensitive" in the API will not
10885// be included in the string output. The member name will be present, but the
10886// value will be replaced with "sensitive".
10887func (s TagLogGroupOutput) String() string {
10888	return awsutil.Prettify(s)
10889}
10890
10891// GoString returns the string representation.
10892//
10893// API parameter values that are decorated as "sensitive" in the API will not
10894// be included in the string output. The member name will be present, but the
10895// value will be replaced with "sensitive".
10896func (s TagLogGroupOutput) GoString() string {
10897	return s.String()
10898}
10899
10900type TestMetricFilterInput struct {
10901	_ struct{} `type:"structure"`
10902
10903	// A symbolic description of how CloudWatch Logs should interpret the data in
10904	// each log event. For example, a log event can contain timestamps, IP addresses,
10905	// strings, and so on. You use the filter pattern to specify what to look for
10906	// in the log event message.
10907	//
10908	// FilterPattern is a required field
10909	FilterPattern *string `locationName:"filterPattern" type:"string" required:"true"`
10910
10911	// The log event messages to test.
10912	//
10913	// LogEventMessages is a required field
10914	LogEventMessages []*string `locationName:"logEventMessages" min:"1" type:"list" required:"true"`
10915}
10916
10917// String returns the string representation.
10918//
10919// API parameter values that are decorated as "sensitive" in the API will not
10920// be included in the string output. The member name will be present, but the
10921// value will be replaced with "sensitive".
10922func (s TestMetricFilterInput) String() string {
10923	return awsutil.Prettify(s)
10924}
10925
10926// GoString returns the string representation.
10927//
10928// API parameter values that are decorated as "sensitive" in the API will not
10929// be included in the string output. The member name will be present, but the
10930// value will be replaced with "sensitive".
10931func (s TestMetricFilterInput) GoString() string {
10932	return s.String()
10933}
10934
10935// Validate inspects the fields of the type to determine if they are valid.
10936func (s *TestMetricFilterInput) Validate() error {
10937	invalidParams := request.ErrInvalidParams{Context: "TestMetricFilterInput"}
10938	if s.FilterPattern == nil {
10939		invalidParams.Add(request.NewErrParamRequired("FilterPattern"))
10940	}
10941	if s.LogEventMessages == nil {
10942		invalidParams.Add(request.NewErrParamRequired("LogEventMessages"))
10943	}
10944	if s.LogEventMessages != nil && len(s.LogEventMessages) < 1 {
10945		invalidParams.Add(request.NewErrParamMinLen("LogEventMessages", 1))
10946	}
10947
10948	if invalidParams.Len() > 0 {
10949		return invalidParams
10950	}
10951	return nil
10952}
10953
10954// SetFilterPattern sets the FilterPattern field's value.
10955func (s *TestMetricFilterInput) SetFilterPattern(v string) *TestMetricFilterInput {
10956	s.FilterPattern = &v
10957	return s
10958}
10959
10960// SetLogEventMessages sets the LogEventMessages field's value.
10961func (s *TestMetricFilterInput) SetLogEventMessages(v []*string) *TestMetricFilterInput {
10962	s.LogEventMessages = v
10963	return s
10964}
10965
10966type TestMetricFilterOutput struct {
10967	_ struct{} `type:"structure"`
10968
10969	// The matched events.
10970	Matches []*MetricFilterMatchRecord `locationName:"matches" type:"list"`
10971}
10972
10973// String returns the string representation.
10974//
10975// API parameter values that are decorated as "sensitive" in the API will not
10976// be included in the string output. The member name will be present, but the
10977// value will be replaced with "sensitive".
10978func (s TestMetricFilterOutput) String() string {
10979	return awsutil.Prettify(s)
10980}
10981
10982// GoString returns the string representation.
10983//
10984// API parameter values that are decorated as "sensitive" in the API will not
10985// be included in the string output. The member name will be present, but the
10986// value will be replaced with "sensitive".
10987func (s TestMetricFilterOutput) GoString() string {
10988	return s.String()
10989}
10990
10991// SetMatches sets the Matches field's value.
10992func (s *TestMetricFilterOutput) SetMatches(v []*MetricFilterMatchRecord) *TestMetricFilterOutput {
10993	s.Matches = v
10994	return s
10995}
10996
10997// The most likely cause is an invalid Amazon Web Services access key ID or
10998// secret key.
10999type UnrecognizedClientException struct {
11000	_            struct{}                  `type:"structure"`
11001	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11002
11003	Message_ *string `locationName:"message" type:"string"`
11004}
11005
11006// String returns the string representation.
11007//
11008// API parameter values that are decorated as "sensitive" in the API will not
11009// be included in the string output. The member name will be present, but the
11010// value will be replaced with "sensitive".
11011func (s UnrecognizedClientException) String() string {
11012	return awsutil.Prettify(s)
11013}
11014
11015// GoString returns the string representation.
11016//
11017// API parameter values that are decorated as "sensitive" in the API will not
11018// be included in the string output. The member name will be present, but the
11019// value will be replaced with "sensitive".
11020func (s UnrecognizedClientException) GoString() string {
11021	return s.String()
11022}
11023
11024func newErrorUnrecognizedClientException(v protocol.ResponseMetadata) error {
11025	return &UnrecognizedClientException{
11026		RespMetadata: v,
11027	}
11028}
11029
11030// Code returns the exception type name.
11031func (s *UnrecognizedClientException) Code() string {
11032	return "UnrecognizedClientException"
11033}
11034
11035// Message returns the exception's message.
11036func (s *UnrecognizedClientException) Message() string {
11037	if s.Message_ != nil {
11038		return *s.Message_
11039	}
11040	return ""
11041}
11042
11043// OrigErr always returns nil, satisfies awserr.Error interface.
11044func (s *UnrecognizedClientException) OrigErr() error {
11045	return nil
11046}
11047
11048func (s *UnrecognizedClientException) Error() string {
11049	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11050}
11051
11052// Status code returns the HTTP status code for the request's response error.
11053func (s *UnrecognizedClientException) StatusCode() int {
11054	return s.RespMetadata.StatusCode
11055}
11056
11057// RequestID returns the service's response RequestID for request.
11058func (s *UnrecognizedClientException) RequestID() string {
11059	return s.RespMetadata.RequestID
11060}
11061
11062type UntagLogGroupInput struct {
11063	_ struct{} `type:"structure"`
11064
11065	// The name of the log group.
11066	//
11067	// LogGroupName is a required field
11068	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
11069
11070	// The tag keys. The corresponding tags are removed from the log group.
11071	//
11072	// Tags is a required field
11073	Tags []*string `locationName:"tags" min:"1" type:"list" required:"true"`
11074}
11075
11076// String returns the string representation.
11077//
11078// API parameter values that are decorated as "sensitive" in the API will not
11079// be included in the string output. The member name will be present, but the
11080// value will be replaced with "sensitive".
11081func (s UntagLogGroupInput) String() string {
11082	return awsutil.Prettify(s)
11083}
11084
11085// GoString returns the string representation.
11086//
11087// API parameter values that are decorated as "sensitive" in the API will not
11088// be included in the string output. The member name will be present, but the
11089// value will be replaced with "sensitive".
11090func (s UntagLogGroupInput) GoString() string {
11091	return s.String()
11092}
11093
11094// Validate inspects the fields of the type to determine if they are valid.
11095func (s *UntagLogGroupInput) Validate() error {
11096	invalidParams := request.ErrInvalidParams{Context: "UntagLogGroupInput"}
11097	if s.LogGroupName == nil {
11098		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
11099	}
11100	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
11101		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
11102	}
11103	if s.Tags == nil {
11104		invalidParams.Add(request.NewErrParamRequired("Tags"))
11105	}
11106	if s.Tags != nil && len(s.Tags) < 1 {
11107		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
11108	}
11109
11110	if invalidParams.Len() > 0 {
11111		return invalidParams
11112	}
11113	return nil
11114}
11115
11116// SetLogGroupName sets the LogGroupName field's value.
11117func (s *UntagLogGroupInput) SetLogGroupName(v string) *UntagLogGroupInput {
11118	s.LogGroupName = &v
11119	return s
11120}
11121
11122// SetTags sets the Tags field's value.
11123func (s *UntagLogGroupInput) SetTags(v []*string) *UntagLogGroupInput {
11124	s.Tags = v
11125	return s
11126}
11127
11128type UntagLogGroupOutput struct {
11129	_ struct{} `type:"structure"`
11130}
11131
11132// String returns the string representation.
11133//
11134// API parameter values that are decorated as "sensitive" in the API will not
11135// be included in the string output. The member name will be present, but the
11136// value will be replaced with "sensitive".
11137func (s UntagLogGroupOutput) String() string {
11138	return awsutil.Prettify(s)
11139}
11140
11141// GoString returns the string representation.
11142//
11143// API parameter values that are decorated as "sensitive" in the API will not
11144// be included in the string output. The member name will be present, but the
11145// value will be replaced with "sensitive".
11146func (s UntagLogGroupOutput) GoString() string {
11147	return s.String()
11148}
11149
11150// The method used to distribute log data to the destination, which can be either
11151// random or grouped by log stream.
11152const (
11153	// DistributionRandom is a Distribution enum value
11154	DistributionRandom = "Random"
11155
11156	// DistributionByLogStream is a Distribution enum value
11157	DistributionByLogStream = "ByLogStream"
11158)
11159
11160// Distribution_Values returns all elements of the Distribution enum
11161func Distribution_Values() []string {
11162	return []string{
11163		DistributionRandom,
11164		DistributionByLogStream,
11165	}
11166}
11167
11168const (
11169	// ExportTaskStatusCodeCancelled is a ExportTaskStatusCode enum value
11170	ExportTaskStatusCodeCancelled = "CANCELLED"
11171
11172	// ExportTaskStatusCodeCompleted is a ExportTaskStatusCode enum value
11173	ExportTaskStatusCodeCompleted = "COMPLETED"
11174
11175	// ExportTaskStatusCodeFailed is a ExportTaskStatusCode enum value
11176	ExportTaskStatusCodeFailed = "FAILED"
11177
11178	// ExportTaskStatusCodePending is a ExportTaskStatusCode enum value
11179	ExportTaskStatusCodePending = "PENDING"
11180
11181	// ExportTaskStatusCodePendingCancel is a ExportTaskStatusCode enum value
11182	ExportTaskStatusCodePendingCancel = "PENDING_CANCEL"
11183
11184	// ExportTaskStatusCodeRunning is a ExportTaskStatusCode enum value
11185	ExportTaskStatusCodeRunning = "RUNNING"
11186)
11187
11188// ExportTaskStatusCode_Values returns all elements of the ExportTaskStatusCode enum
11189func ExportTaskStatusCode_Values() []string {
11190	return []string{
11191		ExportTaskStatusCodeCancelled,
11192		ExportTaskStatusCodeCompleted,
11193		ExportTaskStatusCodeFailed,
11194		ExportTaskStatusCodePending,
11195		ExportTaskStatusCodePendingCancel,
11196		ExportTaskStatusCodeRunning,
11197	}
11198}
11199
11200const (
11201	// OrderByLogStreamName is a OrderBy enum value
11202	OrderByLogStreamName = "LogStreamName"
11203
11204	// OrderByLastEventTime is a OrderBy enum value
11205	OrderByLastEventTime = "LastEventTime"
11206)
11207
11208// OrderBy_Values returns all elements of the OrderBy enum
11209func OrderBy_Values() []string {
11210	return []string{
11211		OrderByLogStreamName,
11212		OrderByLastEventTime,
11213	}
11214}
11215
11216const (
11217	// QueryStatusScheduled is a QueryStatus enum value
11218	QueryStatusScheduled = "Scheduled"
11219
11220	// QueryStatusRunning is a QueryStatus enum value
11221	QueryStatusRunning = "Running"
11222
11223	// QueryStatusComplete is a QueryStatus enum value
11224	QueryStatusComplete = "Complete"
11225
11226	// QueryStatusFailed is a QueryStatus enum value
11227	QueryStatusFailed = "Failed"
11228
11229	// QueryStatusCancelled is a QueryStatus enum value
11230	QueryStatusCancelled = "Cancelled"
11231
11232	// QueryStatusTimeout is a QueryStatus enum value
11233	QueryStatusTimeout = "Timeout"
11234
11235	// QueryStatusUnknown is a QueryStatus enum value
11236	QueryStatusUnknown = "Unknown"
11237)
11238
11239// QueryStatus_Values returns all elements of the QueryStatus enum
11240func QueryStatus_Values() []string {
11241	return []string{
11242		QueryStatusScheduled,
11243		QueryStatusRunning,
11244		QueryStatusComplete,
11245		QueryStatusFailed,
11246		QueryStatusCancelled,
11247		QueryStatusTimeout,
11248		QueryStatusUnknown,
11249	}
11250}
11251
11252const (
11253	// StandardUnitSeconds is a StandardUnit enum value
11254	StandardUnitSeconds = "Seconds"
11255
11256	// StandardUnitMicroseconds is a StandardUnit enum value
11257	StandardUnitMicroseconds = "Microseconds"
11258
11259	// StandardUnitMilliseconds is a StandardUnit enum value
11260	StandardUnitMilliseconds = "Milliseconds"
11261
11262	// StandardUnitBytes is a StandardUnit enum value
11263	StandardUnitBytes = "Bytes"
11264
11265	// StandardUnitKilobytes is a StandardUnit enum value
11266	StandardUnitKilobytes = "Kilobytes"
11267
11268	// StandardUnitMegabytes is a StandardUnit enum value
11269	StandardUnitMegabytes = "Megabytes"
11270
11271	// StandardUnitGigabytes is a StandardUnit enum value
11272	StandardUnitGigabytes = "Gigabytes"
11273
11274	// StandardUnitTerabytes is a StandardUnit enum value
11275	StandardUnitTerabytes = "Terabytes"
11276
11277	// StandardUnitBits is a StandardUnit enum value
11278	StandardUnitBits = "Bits"
11279
11280	// StandardUnitKilobits is a StandardUnit enum value
11281	StandardUnitKilobits = "Kilobits"
11282
11283	// StandardUnitMegabits is a StandardUnit enum value
11284	StandardUnitMegabits = "Megabits"
11285
11286	// StandardUnitGigabits is a StandardUnit enum value
11287	StandardUnitGigabits = "Gigabits"
11288
11289	// StandardUnitTerabits is a StandardUnit enum value
11290	StandardUnitTerabits = "Terabits"
11291
11292	// StandardUnitPercent is a StandardUnit enum value
11293	StandardUnitPercent = "Percent"
11294
11295	// StandardUnitCount is a StandardUnit enum value
11296	StandardUnitCount = "Count"
11297
11298	// StandardUnitBytesSecond is a StandardUnit enum value
11299	StandardUnitBytesSecond = "Bytes/Second"
11300
11301	// StandardUnitKilobytesSecond is a StandardUnit enum value
11302	StandardUnitKilobytesSecond = "Kilobytes/Second"
11303
11304	// StandardUnitMegabytesSecond is a StandardUnit enum value
11305	StandardUnitMegabytesSecond = "Megabytes/Second"
11306
11307	// StandardUnitGigabytesSecond is a StandardUnit enum value
11308	StandardUnitGigabytesSecond = "Gigabytes/Second"
11309
11310	// StandardUnitTerabytesSecond is a StandardUnit enum value
11311	StandardUnitTerabytesSecond = "Terabytes/Second"
11312
11313	// StandardUnitBitsSecond is a StandardUnit enum value
11314	StandardUnitBitsSecond = "Bits/Second"
11315
11316	// StandardUnitKilobitsSecond is a StandardUnit enum value
11317	StandardUnitKilobitsSecond = "Kilobits/Second"
11318
11319	// StandardUnitMegabitsSecond is a StandardUnit enum value
11320	StandardUnitMegabitsSecond = "Megabits/Second"
11321
11322	// StandardUnitGigabitsSecond is a StandardUnit enum value
11323	StandardUnitGigabitsSecond = "Gigabits/Second"
11324
11325	// StandardUnitTerabitsSecond is a StandardUnit enum value
11326	StandardUnitTerabitsSecond = "Terabits/Second"
11327
11328	// StandardUnitCountSecond is a StandardUnit enum value
11329	StandardUnitCountSecond = "Count/Second"
11330
11331	// StandardUnitNone is a StandardUnit enum value
11332	StandardUnitNone = "None"
11333)
11334
11335// StandardUnit_Values returns all elements of the StandardUnit enum
11336func StandardUnit_Values() []string {
11337	return []string{
11338		StandardUnitSeconds,
11339		StandardUnitMicroseconds,
11340		StandardUnitMilliseconds,
11341		StandardUnitBytes,
11342		StandardUnitKilobytes,
11343		StandardUnitMegabytes,
11344		StandardUnitGigabytes,
11345		StandardUnitTerabytes,
11346		StandardUnitBits,
11347		StandardUnitKilobits,
11348		StandardUnitMegabits,
11349		StandardUnitGigabits,
11350		StandardUnitTerabits,
11351		StandardUnitPercent,
11352		StandardUnitCount,
11353		StandardUnitBytesSecond,
11354		StandardUnitKilobytesSecond,
11355		StandardUnitMegabytesSecond,
11356		StandardUnitGigabytesSecond,
11357		StandardUnitTerabytesSecond,
11358		StandardUnitBitsSecond,
11359		StandardUnitKilobitsSecond,
11360		StandardUnitMegabitsSecond,
11361		StandardUnitGigabitsSecond,
11362		StandardUnitTerabitsSecond,
11363		StandardUnitCountSecond,
11364		StandardUnitNone,
11365	}
11366}
11367