github.com/aavshr/aws-sdk-go@v1.41.3/service/cloudwatchlogs/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package cloudwatchlogs
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    13  )
    14  
    15  const 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
    41  func (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
   100  func (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.
   114  func (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  
   121  const 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
   147  func (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
   191  func (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.
   205  func (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  
   212  const 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
   238  func (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
   302  func (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.
   316  func (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  
   323  const 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
   349  func (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
   422  func (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.
   436  func (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  
   443  const 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
   469  func (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
   525  func (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.
   539  func (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  
   546  const 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
   572  func (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
   616  func (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.
   630  func (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  
   637  const 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
   663  func (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
   706  func (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.
   720  func (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  
   727  const 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
   753  func (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
   796  func (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.
   810  func (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  
   817  const 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
   843  func (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
   885  func (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.
   899  func (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  
   906  const 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
   932  func (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
   976  func (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.
   990  func (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  
   997  const 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
  1023  func (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
  1063  func (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.
  1077  func (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  
  1084  const 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
  1110  func (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
  1155  func (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.
  1169  func (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  
  1176  const 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
  1202  func (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
  1244  func (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.
  1258  func (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  
  1265  const 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
  1291  func (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
  1333  func (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.
  1347  func (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  //
  1371  func (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.
  1382  func (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  
  1407  const 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
  1433  func (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
  1469  func (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.
  1483  func (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  
  1490  const 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
  1516  func (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
  1565  func (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.
  1579  func (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  //
  1603  func (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.
  1614  func (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  
  1639  const 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
  1665  func (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
  1714  func (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.
  1728  func (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  //
  1752  func (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.
  1763  func (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  
  1788  const 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
  1814  func (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
  1860  func (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.
  1874  func (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  //
  1898  func (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.
  1909  func (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  
  1934  const 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
  1960  func (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
  2001  func (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.
  2015  func (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  
  2022  const 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
  2048  func (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
  2087  func (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.
  2101  func (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  
  2108  const 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
  2134  func (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
  2169  func (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.
  2183  func (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  
  2190  const 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
  2216  func (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
  2262  func (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.
  2276  func (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  //
  2300  func (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.
  2311  func (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  
  2336  const 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
  2362  func (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
  2412  func (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.
  2426  func (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  
  2433  const 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
  2459  func (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
  2516  func (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.
  2530  func (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  //
  2554  func (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.
  2565  func (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  
  2590  const 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
  2616  func (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
  2667  func (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.
  2681  func (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  //
  2705  func (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.
  2716  func (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  
  2741  const 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
  2767  func (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
  2818  func (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.
  2832  func (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  
  2839  const 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
  2865  func (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
  2911  func (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.
  2925  func (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  
  2932  const 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
  2958  func (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
  3008  func (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.
  3022  func (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  
  3029  const 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
  3055  func (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
  3090  func (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.
  3104  func (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  
  3111  const 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
  3137  func (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
  3190  func (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.
  3204  func (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  
  3211  const 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
  3237  func (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
  3284  func (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.
  3298  func (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  
  3305  const 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
  3331  func (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
  3416  func (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.
  3430  func (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  
  3437  const 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
  3463  func (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
  3529  func (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.
  3543  func (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  
  3550  const 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
  3576  func (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
  3626  func (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.
  3640  func (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  
  3647  const 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
  3673  func (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
  3713  func (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.
  3727  func (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  
  3734  const 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
  3760  func (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
  3804  func (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.
  3818  func (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  
  3825  const 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
  3851  func (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
  3922  func (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.
  3936  func (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  
  3943  const 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
  3969  func (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
  4024  func (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.
  4038  func (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  
  4045  const 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
  4071  func (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
  4111  func (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.
  4125  func (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  
  4132  const 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
  4158  func (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
  4206  func (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.
  4220  func (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  
  4227  const 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
  4253  func (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
  4290  func (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.
  4304  func (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  
  4311  const 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
  4337  func (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
  4377  func (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.
  4391  func (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  
  4398  type 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".
  4420  func (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".
  4429  func (s AssociateKmsKeyInput) GoString() string {
  4430  	return s.String()
  4431  }
  4432  
  4433  // Validate inspects the fields of the type to determine if they are valid.
  4434  func (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.
  4453  func (s *AssociateKmsKeyInput) SetKmsKeyId(v string) *AssociateKmsKeyInput {
  4454  	s.KmsKeyId = &v
  4455  	return s
  4456  }
  4457  
  4458  // SetLogGroupName sets the LogGroupName field's value.
  4459  func (s *AssociateKmsKeyInput) SetLogGroupName(v string) *AssociateKmsKeyInput {
  4460  	s.LogGroupName = &v
  4461  	return s
  4462  }
  4463  
  4464  type 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".
  4473  func (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".
  4482  func (s AssociateKmsKeyOutput) GoString() string {
  4483  	return s.String()
  4484  }
  4485  
  4486  type 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".
  4500  func (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".
  4509  func (s CancelExportTaskInput) GoString() string {
  4510  	return s.String()
  4511  }
  4512  
  4513  // Validate inspects the fields of the type to determine if they are valid.
  4514  func (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.
  4530  func (s *CancelExportTaskInput) SetTaskId(v string) *CancelExportTaskInput {
  4531  	s.TaskId = &v
  4532  	return s
  4533  }
  4534  
  4535  type 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".
  4544  func (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".
  4553  func (s CancelExportTaskOutput) GoString() string {
  4554  	return s.String()
  4555  }
  4556  
  4557  type 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".
  4602  func (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".
  4611  func (s CreateExportTaskInput) GoString() string {
  4612  	return s.String()
  4613  }
  4614  
  4615  // Validate inspects the fields of the type to determine if they are valid.
  4616  func (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.
  4650  func (s *CreateExportTaskInput) SetDestination(v string) *CreateExportTaskInput {
  4651  	s.Destination = &v
  4652  	return s
  4653  }
  4654  
  4655  // SetDestinationPrefix sets the DestinationPrefix field's value.
  4656  func (s *CreateExportTaskInput) SetDestinationPrefix(v string) *CreateExportTaskInput {
  4657  	s.DestinationPrefix = &v
  4658  	return s
  4659  }
  4660  
  4661  // SetFrom sets the From field's value.
  4662  func (s *CreateExportTaskInput) SetFrom(v int64) *CreateExportTaskInput {
  4663  	s.From = &v
  4664  	return s
  4665  }
  4666  
  4667  // SetLogGroupName sets the LogGroupName field's value.
  4668  func (s *CreateExportTaskInput) SetLogGroupName(v string) *CreateExportTaskInput {
  4669  	s.LogGroupName = &v
  4670  	return s
  4671  }
  4672  
  4673  // SetLogStreamNamePrefix sets the LogStreamNamePrefix field's value.
  4674  func (s *CreateExportTaskInput) SetLogStreamNamePrefix(v string) *CreateExportTaskInput {
  4675  	s.LogStreamNamePrefix = &v
  4676  	return s
  4677  }
  4678  
  4679  // SetTaskName sets the TaskName field's value.
  4680  func (s *CreateExportTaskInput) SetTaskName(v string) *CreateExportTaskInput {
  4681  	s.TaskName = &v
  4682  	return s
  4683  }
  4684  
  4685  // SetTo sets the To field's value.
  4686  func (s *CreateExportTaskInput) SetTo(v int64) *CreateExportTaskInput {
  4687  	s.To = &v
  4688  	return s
  4689  }
  4690  
  4691  type 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".
  4703  func (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".
  4712  func (s CreateExportTaskOutput) GoString() string {
  4713  	return s.String()
  4714  }
  4715  
  4716  // SetTaskId sets the TaskId field's value.
  4717  func (s *CreateExportTaskOutput) SetTaskId(v string) *CreateExportTaskOutput {
  4718  	s.TaskId = &v
  4719  	return s
  4720  }
  4721  
  4722  type 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".
  4749  func (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".
  4758  func (s CreateLogGroupInput) GoString() string {
  4759  	return s.String()
  4760  }
  4761  
  4762  // Validate inspects the fields of the type to determine if they are valid.
  4763  func (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.
  4782  func (s *CreateLogGroupInput) SetKmsKeyId(v string) *CreateLogGroupInput {
  4783  	s.KmsKeyId = &v
  4784  	return s
  4785  }
  4786  
  4787  // SetLogGroupName sets the LogGroupName field's value.
  4788  func (s *CreateLogGroupInput) SetLogGroupName(v string) *CreateLogGroupInput {
  4789  	s.LogGroupName = &v
  4790  	return s
  4791  }
  4792  
  4793  // SetTags sets the Tags field's value.
  4794  func (s *CreateLogGroupInput) SetTags(v map[string]*string) *CreateLogGroupInput {
  4795  	s.Tags = v
  4796  	return s
  4797  }
  4798  
  4799  type 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".
  4808  func (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".
  4817  func (s CreateLogGroupOutput) GoString() string {
  4818  	return s.String()
  4819  }
  4820  
  4821  type 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".
  4840  func (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".
  4849  func (s CreateLogStreamInput) GoString() string {
  4850  	return s.String()
  4851  }
  4852  
  4853  // Validate inspects the fields of the type to determine if they are valid.
  4854  func (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.
  4876  func (s *CreateLogStreamInput) SetLogGroupName(v string) *CreateLogStreamInput {
  4877  	s.LogGroupName = &v
  4878  	return s
  4879  }
  4880  
  4881  // SetLogStreamName sets the LogStreamName field's value.
  4882  func (s *CreateLogStreamInput) SetLogStreamName(v string) *CreateLogStreamInput {
  4883  	s.LogStreamName = &v
  4884  	return s
  4885  }
  4886  
  4887  type 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".
  4896  func (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".
  4905  func (s CreateLogStreamOutput) GoString() string {
  4906  	return s.String()
  4907  }
  4908  
  4909  // The event was already logged.
  4910  type 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".
  4924  func (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".
  4933  func (s DataAlreadyAcceptedException) GoString() string {
  4934  	return s.String()
  4935  }
  4936  
  4937  func newErrorDataAlreadyAcceptedException(v protocol.ResponseMetadata) error {
  4938  	return &DataAlreadyAcceptedException{
  4939  		RespMetadata: v,
  4940  	}
  4941  }
  4942  
  4943  // Code returns the exception type name.
  4944  func (s *DataAlreadyAcceptedException) Code() string {
  4945  	return "DataAlreadyAcceptedException"
  4946  }
  4947  
  4948  // Message returns the exception's message.
  4949  func (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.
  4957  func (s *DataAlreadyAcceptedException) OrigErr() error {
  4958  	return nil
  4959  }
  4960  
  4961  func (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.
  4966  func (s *DataAlreadyAcceptedException) StatusCode() int {
  4967  	return s.RespMetadata.StatusCode
  4968  }
  4969  
  4970  // RequestID returns the service's response RequestID for request.
  4971  func (s *DataAlreadyAcceptedException) RequestID() string {
  4972  	return s.RespMetadata.RequestID
  4973  }
  4974  
  4975  type 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".
  4989  func (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".
  4998  func (s DeleteDestinationInput) GoString() string {
  4999  	return s.String()
  5000  }
  5001  
  5002  // Validate inspects the fields of the type to determine if they are valid.
  5003  func (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.
  5019  func (s *DeleteDestinationInput) SetDestinationName(v string) *DeleteDestinationInput {
  5020  	s.DestinationName = &v
  5021  	return s
  5022  }
  5023  
  5024  type 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".
  5033  func (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".
  5042  func (s DeleteDestinationOutput) GoString() string {
  5043  	return s.String()
  5044  }
  5045  
  5046  type 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".
  5060  func (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".
  5069  func (s DeleteLogGroupInput) GoString() string {
  5070  	return s.String()
  5071  }
  5072  
  5073  // Validate inspects the fields of the type to determine if they are valid.
  5074  func (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.
  5090  func (s *DeleteLogGroupInput) SetLogGroupName(v string) *DeleteLogGroupInput {
  5091  	s.LogGroupName = &v
  5092  	return s
  5093  }
  5094  
  5095  type 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".
  5104  func (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".
  5113  func (s DeleteLogGroupOutput) GoString() string {
  5114  	return s.String()
  5115  }
  5116  
  5117  type 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".
  5136  func (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".
  5145  func (s DeleteLogStreamInput) GoString() string {
  5146  	return s.String()
  5147  }
  5148  
  5149  // Validate inspects the fields of the type to determine if they are valid.
  5150  func (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.
  5172  func (s *DeleteLogStreamInput) SetLogGroupName(v string) *DeleteLogStreamInput {
  5173  	s.LogGroupName = &v
  5174  	return s
  5175  }
  5176  
  5177  // SetLogStreamName sets the LogStreamName field's value.
  5178  func (s *DeleteLogStreamInput) SetLogStreamName(v string) *DeleteLogStreamInput {
  5179  	s.LogStreamName = &v
  5180  	return s
  5181  }
  5182  
  5183  type 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".
  5192  func (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".
  5201  func (s DeleteLogStreamOutput) GoString() string {
  5202  	return s.String()
  5203  }
  5204  
  5205  type 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".
  5224  func (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".
  5233  func (s DeleteMetricFilterInput) GoString() string {
  5234  	return s.String()
  5235  }
  5236  
  5237  // Validate inspects the fields of the type to determine if they are valid.
  5238  func (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.
  5260  func (s *DeleteMetricFilterInput) SetFilterName(v string) *DeleteMetricFilterInput {
  5261  	s.FilterName = &v
  5262  	return s
  5263  }
  5264  
  5265  // SetLogGroupName sets the LogGroupName field's value.
  5266  func (s *DeleteMetricFilterInput) SetLogGroupName(v string) *DeleteMetricFilterInput {
  5267  	s.LogGroupName = &v
  5268  	return s
  5269  }
  5270  
  5271  type 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".
  5280  func (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".
  5289  func (s DeleteMetricFilterOutput) GoString() string {
  5290  	return s.String()
  5291  }
  5292  
  5293  type 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".
  5309  func (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".
  5318  func (s DeleteQueryDefinitionInput) GoString() string {
  5319  	return s.String()
  5320  }
  5321  
  5322  // Validate inspects the fields of the type to determine if they are valid.
  5323  func (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.
  5336  func (s *DeleteQueryDefinitionInput) SetQueryDefinitionId(v string) *DeleteQueryDefinitionInput {
  5337  	s.QueryDefinitionId = &v
  5338  	return s
  5339  }
  5340  
  5341  type 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".
  5354  func (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".
  5363  func (s DeleteQueryDefinitionOutput) GoString() string {
  5364  	return s.String()
  5365  }
  5366  
  5367  // SetSuccess sets the Success field's value.
  5368  func (s *DeleteQueryDefinitionOutput) SetSuccess(v bool) *DeleteQueryDefinitionOutput {
  5369  	s.Success = &v
  5370  	return s
  5371  }
  5372  
  5373  type 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".
  5385  func (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".
  5394  func (s DeleteResourcePolicyInput) GoString() string {
  5395  	return s.String()
  5396  }
  5397  
  5398  // SetPolicyName sets the PolicyName field's value.
  5399  func (s *DeleteResourcePolicyInput) SetPolicyName(v string) *DeleteResourcePolicyInput {
  5400  	s.PolicyName = &v
  5401  	return s
  5402  }
  5403  
  5404  type 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".
  5413  func (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".
  5422  func (s DeleteResourcePolicyOutput) GoString() string {
  5423  	return s.String()
  5424  }
  5425  
  5426  type 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".
  5440  func (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".
  5449  func (s DeleteRetentionPolicyInput) GoString() string {
  5450  	return s.String()
  5451  }
  5452  
  5453  // Validate inspects the fields of the type to determine if they are valid.
  5454  func (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.
  5470  func (s *DeleteRetentionPolicyInput) SetLogGroupName(v string) *DeleteRetentionPolicyInput {
  5471  	s.LogGroupName = &v
  5472  	return s
  5473  }
  5474  
  5475  type 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".
  5484  func (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".
  5493  func (s DeleteRetentionPolicyOutput) GoString() string {
  5494  	return s.String()
  5495  }
  5496  
  5497  type 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".
  5516  func (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".
  5525  func (s DeleteSubscriptionFilterInput) GoString() string {
  5526  	return s.String()
  5527  }
  5528  
  5529  // Validate inspects the fields of the type to determine if they are valid.
  5530  func (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.
  5552  func (s *DeleteSubscriptionFilterInput) SetFilterName(v string) *DeleteSubscriptionFilterInput {
  5553  	s.FilterName = &v
  5554  	return s
  5555  }
  5556  
  5557  // SetLogGroupName sets the LogGroupName field's value.
  5558  func (s *DeleteSubscriptionFilterInput) SetLogGroupName(v string) *DeleteSubscriptionFilterInput {
  5559  	s.LogGroupName = &v
  5560  	return s
  5561  }
  5562  
  5563  type 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".
  5572  func (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".
  5581  func (s DeleteSubscriptionFilterOutput) GoString() string {
  5582  	return s.String()
  5583  }
  5584  
  5585  type 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".
  5605  func (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".
  5614  func (s DescribeDestinationsInput) GoString() string {
  5615  	return s.String()
  5616  }
  5617  
  5618  // Validate inspects the fields of the type to determine if they are valid.
  5619  func (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.
  5638  func (s *DescribeDestinationsInput) SetDestinationNamePrefix(v string) *DescribeDestinationsInput {
  5639  	s.DestinationNamePrefix = &v
  5640  	return s
  5641  }
  5642  
  5643  // SetLimit sets the Limit field's value.
  5644  func (s *DescribeDestinationsInput) SetLimit(v int64) *DescribeDestinationsInput {
  5645  	s.Limit = &v
  5646  	return s
  5647  }
  5648  
  5649  // SetNextToken sets the NextToken field's value.
  5650  func (s *DescribeDestinationsInput) SetNextToken(v string) *DescribeDestinationsInput {
  5651  	s.NextToken = &v
  5652  	return s
  5653  }
  5654  
  5655  type 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".
  5671  func (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".
  5680  func (s DescribeDestinationsOutput) GoString() string {
  5681  	return s.String()
  5682  }
  5683  
  5684  // SetDestinations sets the Destinations field's value.
  5685  func (s *DescribeDestinationsOutput) SetDestinations(v []*Destination) *DescribeDestinationsOutput {
  5686  	s.Destinations = v
  5687  	return s
  5688  }
  5689  
  5690  // SetNextToken sets the NextToken field's value.
  5691  func (s *DescribeDestinationsOutput) SetNextToken(v string) *DescribeDestinationsOutput {
  5692  	s.NextToken = &v
  5693  	return s
  5694  }
  5695  
  5696  type 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".
  5721  func (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".
  5730  func (s DescribeExportTasksInput) GoString() string {
  5731  	return s.String()
  5732  }
  5733  
  5734  // Validate inspects the fields of the type to determine if they are valid.
  5735  func (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.
  5754  func (s *DescribeExportTasksInput) SetLimit(v int64) *DescribeExportTasksInput {
  5755  	s.Limit = &v
  5756  	return s
  5757  }
  5758  
  5759  // SetNextToken sets the NextToken field's value.
  5760  func (s *DescribeExportTasksInput) SetNextToken(v string) *DescribeExportTasksInput {
  5761  	s.NextToken = &v
  5762  	return s
  5763  }
  5764  
  5765  // SetStatusCode sets the StatusCode field's value.
  5766  func (s *DescribeExportTasksInput) SetStatusCode(v string) *DescribeExportTasksInput {
  5767  	s.StatusCode = &v
  5768  	return s
  5769  }
  5770  
  5771  // SetTaskId sets the TaskId field's value.
  5772  func (s *DescribeExportTasksInput) SetTaskId(v string) *DescribeExportTasksInput {
  5773  	s.TaskId = &v
  5774  	return s
  5775  }
  5776  
  5777  type 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".
  5793  func (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".
  5802  func (s DescribeExportTasksOutput) GoString() string {
  5803  	return s.String()
  5804  }
  5805  
  5806  // SetExportTasks sets the ExportTasks field's value.
  5807  func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
  5808  	s.ExportTasks = v
  5809  	return s
  5810  }
  5811  
  5812  // SetNextToken sets the NextToken field's value.
  5813  func (s *DescribeExportTasksOutput) SetNextToken(v string) *DescribeExportTasksOutput {
  5814  	s.NextToken = &v
  5815  	return s
  5816  }
  5817  
  5818  type 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".
  5838  func (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".
  5847  func (s DescribeLogGroupsInput) GoString() string {
  5848  	return s.String()
  5849  }
  5850  
  5851  // Validate inspects the fields of the type to determine if they are valid.
  5852  func (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.
  5871  func (s *DescribeLogGroupsInput) SetLimit(v int64) *DescribeLogGroupsInput {
  5872  	s.Limit = &v
  5873  	return s
  5874  }
  5875  
  5876  // SetLogGroupNamePrefix sets the LogGroupNamePrefix field's value.
  5877  func (s *DescribeLogGroupsInput) SetLogGroupNamePrefix(v string) *DescribeLogGroupsInput {
  5878  	s.LogGroupNamePrefix = &v
  5879  	return s
  5880  }
  5881  
  5882  // SetNextToken sets the NextToken field's value.
  5883  func (s *DescribeLogGroupsInput) SetNextToken(v string) *DescribeLogGroupsInput {
  5884  	s.NextToken = &v
  5885  	return s
  5886  }
  5887  
  5888  type 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".
  5907  func (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".
  5916  func (s DescribeLogGroupsOutput) GoString() string {
  5917  	return s.String()
  5918  }
  5919  
  5920  // SetLogGroups sets the LogGroups field's value.
  5921  func (s *DescribeLogGroupsOutput) SetLogGroups(v []*LogGroup) *DescribeLogGroupsOutput {
  5922  	s.LogGroups = v
  5923  	return s
  5924  }
  5925  
  5926  // SetNextToken sets the NextToken field's value.
  5927  func (s *DescribeLogGroupsOutput) SetNextToken(v string) *DescribeLogGroupsOutput {
  5928  	s.NextToken = &v
  5929  	return s
  5930  }
  5931  
  5932  type 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".
  5978  func (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".
  5987  func (s DescribeLogStreamsInput) GoString() string {
  5988  	return s.String()
  5989  }
  5990  
  5991  // Validate inspects the fields of the type to determine if they are valid.
  5992  func (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.
  6017  func (s *DescribeLogStreamsInput) SetDescending(v bool) *DescribeLogStreamsInput {
  6018  	s.Descending = &v
  6019  	return s
  6020  }
  6021  
  6022  // SetLimit sets the Limit field's value.
  6023  func (s *DescribeLogStreamsInput) SetLimit(v int64) *DescribeLogStreamsInput {
  6024  	s.Limit = &v
  6025  	return s
  6026  }
  6027  
  6028  // SetLogGroupName sets the LogGroupName field's value.
  6029  func (s *DescribeLogStreamsInput) SetLogGroupName(v string) *DescribeLogStreamsInput {
  6030  	s.LogGroupName = &v
  6031  	return s
  6032  }
  6033  
  6034  // SetLogStreamNamePrefix sets the LogStreamNamePrefix field's value.
  6035  func (s *DescribeLogStreamsInput) SetLogStreamNamePrefix(v string) *DescribeLogStreamsInput {
  6036  	s.LogStreamNamePrefix = &v
  6037  	return s
  6038  }
  6039  
  6040  // SetNextToken sets the NextToken field's value.
  6041  func (s *DescribeLogStreamsInput) SetNextToken(v string) *DescribeLogStreamsInput {
  6042  	s.NextToken = &v
  6043  	return s
  6044  }
  6045  
  6046  // SetOrderBy sets the OrderBy field's value.
  6047  func (s *DescribeLogStreamsInput) SetOrderBy(v string) *DescribeLogStreamsInput {
  6048  	s.OrderBy = &v
  6049  	return s
  6050  }
  6051  
  6052  type 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".
  6068  func (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".
  6077  func (s DescribeLogStreamsOutput) GoString() string {
  6078  	return s.String()
  6079  }
  6080  
  6081  // SetLogStreams sets the LogStreams field's value.
  6082  func (s *DescribeLogStreamsOutput) SetLogStreams(v []*LogStream) *DescribeLogStreamsOutput {
  6083  	s.LogStreams = v
  6084  	return s
  6085  }
  6086  
  6087  // SetNextToken sets the NextToken field's value.
  6088  func (s *DescribeLogStreamsOutput) SetNextToken(v string) *DescribeLogStreamsOutput {
  6089  	s.NextToken = &v
  6090  	return s
  6091  }
  6092  
  6093  type 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".
  6127  func (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".
  6136  func (s DescribeMetricFiltersInput) GoString() string {
  6137  	return s.String()
  6138  }
  6139  
  6140  // Validate inspects the fields of the type to determine if they are valid.
  6141  func (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.
  6163  func (s *DescribeMetricFiltersInput) SetFilterNamePrefix(v string) *DescribeMetricFiltersInput {
  6164  	s.FilterNamePrefix = &v
  6165  	return s
  6166  }
  6167  
  6168  // SetLimit sets the Limit field's value.
  6169  func (s *DescribeMetricFiltersInput) SetLimit(v int64) *DescribeMetricFiltersInput {
  6170  	s.Limit = &v
  6171  	return s
  6172  }
  6173  
  6174  // SetLogGroupName sets the LogGroupName field's value.
  6175  func (s *DescribeMetricFiltersInput) SetLogGroupName(v string) *DescribeMetricFiltersInput {
  6176  	s.LogGroupName = &v
  6177  	return s
  6178  }
  6179  
  6180  // SetMetricName sets the MetricName field's value.
  6181  func (s *DescribeMetricFiltersInput) SetMetricName(v string) *DescribeMetricFiltersInput {
  6182  	s.MetricName = &v
  6183  	return s
  6184  }
  6185  
  6186  // SetMetricNamespace sets the MetricNamespace field's value.
  6187  func (s *DescribeMetricFiltersInput) SetMetricNamespace(v string) *DescribeMetricFiltersInput {
  6188  	s.MetricNamespace = &v
  6189  	return s
  6190  }
  6191  
  6192  // SetNextToken sets the NextToken field's value.
  6193  func (s *DescribeMetricFiltersInput) SetNextToken(v string) *DescribeMetricFiltersInput {
  6194  	s.NextToken = &v
  6195  	return s
  6196  }
  6197  
  6198  type 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".
  6214  func (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".
  6223  func (s DescribeMetricFiltersOutput) GoString() string {
  6224  	return s.String()
  6225  }
  6226  
  6227  // SetMetricFilters sets the MetricFilters field's value.
  6228  func (s *DescribeMetricFiltersOutput) SetMetricFilters(v []*MetricFilter) *DescribeMetricFiltersOutput {
  6229  	s.MetricFilters = v
  6230  	return s
  6231  }
  6232  
  6233  // SetNextToken sets the NextToken field's value.
  6234  func (s *DescribeMetricFiltersOutput) SetNextToken(v string) *DescribeMetricFiltersOutput {
  6235  	s.NextToken = &v
  6236  	return s
  6237  }
  6238  
  6239  type 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".
  6262  func (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".
  6271  func (s DescribeQueriesInput) GoString() string {
  6272  	return s.String()
  6273  }
  6274  
  6275  // Validate inspects the fields of the type to determine if they are valid.
  6276  func (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.
  6295  func (s *DescribeQueriesInput) SetLogGroupName(v string) *DescribeQueriesInput {
  6296  	s.LogGroupName = &v
  6297  	return s
  6298  }
  6299  
  6300  // SetMaxResults sets the MaxResults field's value.
  6301  func (s *DescribeQueriesInput) SetMaxResults(v int64) *DescribeQueriesInput {
  6302  	s.MaxResults = &v
  6303  	return s
  6304  }
  6305  
  6306  // SetNextToken sets the NextToken field's value.
  6307  func (s *DescribeQueriesInput) SetNextToken(v string) *DescribeQueriesInput {
  6308  	s.NextToken = &v
  6309  	return s
  6310  }
  6311  
  6312  // SetStatus sets the Status field's value.
  6313  func (s *DescribeQueriesInput) SetStatus(v string) *DescribeQueriesInput {
  6314  	s.Status = &v
  6315  	return s
  6316  }
  6317  
  6318  type 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".
  6334  func (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".
  6343  func (s DescribeQueriesOutput) GoString() string {
  6344  	return s.String()
  6345  }
  6346  
  6347  // SetNextToken sets the NextToken field's value.
  6348  func (s *DescribeQueriesOutput) SetNextToken(v string) *DescribeQueriesOutput {
  6349  	s.NextToken = &v
  6350  	return s
  6351  }
  6352  
  6353  // SetQueries sets the Queries field's value.
  6354  func (s *DescribeQueriesOutput) SetQueries(v []*QueryInfo) *DescribeQueriesOutput {
  6355  	s.Queries = v
  6356  	return s
  6357  }
  6358  
  6359  type 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".
  6379  func (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".
  6388  func (s DescribeQueryDefinitionsInput) GoString() string {
  6389  	return s.String()
  6390  }
  6391  
  6392  // Validate inspects the fields of the type to determine if they are valid.
  6393  func (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.
  6412  func (s *DescribeQueryDefinitionsInput) SetMaxResults(v int64) *DescribeQueryDefinitionsInput {
  6413  	s.MaxResults = &v
  6414  	return s
  6415  }
  6416  
  6417  // SetNextToken sets the NextToken field's value.
  6418  func (s *DescribeQueryDefinitionsInput) SetNextToken(v string) *DescribeQueryDefinitionsInput {
  6419  	s.NextToken = &v
  6420  	return s
  6421  }
  6422  
  6423  // SetQueryDefinitionNamePrefix sets the QueryDefinitionNamePrefix field's value.
  6424  func (s *DescribeQueryDefinitionsInput) SetQueryDefinitionNamePrefix(v string) *DescribeQueryDefinitionsInput {
  6425  	s.QueryDefinitionNamePrefix = &v
  6426  	return s
  6427  }
  6428  
  6429  type 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".
  6445  func (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".
  6454  func (s DescribeQueryDefinitionsOutput) GoString() string {
  6455  	return s.String()
  6456  }
  6457  
  6458  // SetNextToken sets the NextToken field's value.
  6459  func (s *DescribeQueryDefinitionsOutput) SetNextToken(v string) *DescribeQueryDefinitionsOutput {
  6460  	s.NextToken = &v
  6461  	return s
  6462  }
  6463  
  6464  // SetQueryDefinitions sets the QueryDefinitions field's value.
  6465  func (s *DescribeQueryDefinitionsOutput) SetQueryDefinitions(v []*QueryDefinition) *DescribeQueryDefinitionsOutput {
  6466  	s.QueryDefinitions = v
  6467  	return s
  6468  }
  6469  
  6470  type 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".
  6487  func (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".
  6496  func (s DescribeResourcePoliciesInput) GoString() string {
  6497  	return s.String()
  6498  }
  6499  
  6500  // Validate inspects the fields of the type to determine if they are valid.
  6501  func (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.
  6517  func (s *DescribeResourcePoliciesInput) SetLimit(v int64) *DescribeResourcePoliciesInput {
  6518  	s.Limit = &v
  6519  	return s
  6520  }
  6521  
  6522  // SetNextToken sets the NextToken field's value.
  6523  func (s *DescribeResourcePoliciesInput) SetNextToken(v string) *DescribeResourcePoliciesInput {
  6524  	s.NextToken = &v
  6525  	return s
  6526  }
  6527  
  6528  type 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".
  6544  func (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".
  6553  func (s DescribeResourcePoliciesOutput) GoString() string {
  6554  	return s.String()
  6555  }
  6556  
  6557  // SetNextToken sets the NextToken field's value.
  6558  func (s *DescribeResourcePoliciesOutput) SetNextToken(v string) *DescribeResourcePoliciesOutput {
  6559  	s.NextToken = &v
  6560  	return s
  6561  }
  6562  
  6563  // SetResourcePolicies sets the ResourcePolicies field's value.
  6564  func (s *DescribeResourcePoliciesOutput) SetResourcePolicies(v []*ResourcePolicy) *DescribeResourcePoliciesOutput {
  6565  	s.ResourcePolicies = v
  6566  	return s
  6567  }
  6568  
  6569  type 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".
  6594  func (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".
  6603  func (s DescribeSubscriptionFiltersInput) GoString() string {
  6604  	return s.String()
  6605  }
  6606  
  6607  // Validate inspects the fields of the type to determine if they are valid.
  6608  func (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.
  6633  func (s *DescribeSubscriptionFiltersInput) SetFilterNamePrefix(v string) *DescribeSubscriptionFiltersInput {
  6634  	s.FilterNamePrefix = &v
  6635  	return s
  6636  }
  6637  
  6638  // SetLimit sets the Limit field's value.
  6639  func (s *DescribeSubscriptionFiltersInput) SetLimit(v int64) *DescribeSubscriptionFiltersInput {
  6640  	s.Limit = &v
  6641  	return s
  6642  }
  6643  
  6644  // SetLogGroupName sets the LogGroupName field's value.
  6645  func (s *DescribeSubscriptionFiltersInput) SetLogGroupName(v string) *DescribeSubscriptionFiltersInput {
  6646  	s.LogGroupName = &v
  6647  	return s
  6648  }
  6649  
  6650  // SetNextToken sets the NextToken field's value.
  6651  func (s *DescribeSubscriptionFiltersInput) SetNextToken(v string) *DescribeSubscriptionFiltersInput {
  6652  	s.NextToken = &v
  6653  	return s
  6654  }
  6655  
  6656  type 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".
  6672  func (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".
  6681  func (s DescribeSubscriptionFiltersOutput) GoString() string {
  6682  	return s.String()
  6683  }
  6684  
  6685  // SetNextToken sets the NextToken field's value.
  6686  func (s *DescribeSubscriptionFiltersOutput) SetNextToken(v string) *DescribeSubscriptionFiltersOutput {
  6687  	s.NextToken = &v
  6688  	return s
  6689  }
  6690  
  6691  // SetSubscriptionFilters sets the SubscriptionFilters field's value.
  6692  func (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.
  6698  type 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".
  6728  func (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".
  6737  func (s Destination) GoString() string {
  6738  	return s.String()
  6739  }
  6740  
  6741  // SetAccessPolicy sets the AccessPolicy field's value.
  6742  func (s *Destination) SetAccessPolicy(v string) *Destination {
  6743  	s.AccessPolicy = &v
  6744  	return s
  6745  }
  6746  
  6747  // SetArn sets the Arn field's value.
  6748  func (s *Destination) SetArn(v string) *Destination {
  6749  	s.Arn = &v
  6750  	return s
  6751  }
  6752  
  6753  // SetCreationTime sets the CreationTime field's value.
  6754  func (s *Destination) SetCreationTime(v int64) *Destination {
  6755  	s.CreationTime = &v
  6756  	return s
  6757  }
  6758  
  6759  // SetDestinationName sets the DestinationName field's value.
  6760  func (s *Destination) SetDestinationName(v string) *Destination {
  6761  	s.DestinationName = &v
  6762  	return s
  6763  }
  6764  
  6765  // SetRoleArn sets the RoleArn field's value.
  6766  func (s *Destination) SetRoleArn(v string) *Destination {
  6767  	s.RoleArn = &v
  6768  	return s
  6769  }
  6770  
  6771  // SetTargetArn sets the TargetArn field's value.
  6772  func (s *Destination) SetTargetArn(v string) *Destination {
  6773  	s.TargetArn = &v
  6774  	return s
  6775  }
  6776  
  6777  type 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".
  6791  func (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".
  6800  func (s DisassociateKmsKeyInput) GoString() string {
  6801  	return s.String()
  6802  }
  6803  
  6804  // Validate inspects the fields of the type to determine if they are valid.
  6805  func (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.
  6821  func (s *DisassociateKmsKeyInput) SetLogGroupName(v string) *DisassociateKmsKeyInput {
  6822  	s.LogGroupName = &v
  6823  	return s
  6824  }
  6825  
  6826  type 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".
  6835  func (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".
  6844  func (s DisassociateKmsKeyOutput) GoString() string {
  6845  	return s.String()
  6846  }
  6847  
  6848  // Represents an export task.
  6849  type 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".
  6887  func (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".
  6896  func (s ExportTask) GoString() string {
  6897  	return s.String()
  6898  }
  6899  
  6900  // SetDestination sets the Destination field's value.
  6901  func (s *ExportTask) SetDestination(v string) *ExportTask {
  6902  	s.Destination = &v
  6903  	return s
  6904  }
  6905  
  6906  // SetDestinationPrefix sets the DestinationPrefix field's value.
  6907  func (s *ExportTask) SetDestinationPrefix(v string) *ExportTask {
  6908  	s.DestinationPrefix = &v
  6909  	return s
  6910  }
  6911  
  6912  // SetExecutionInfo sets the ExecutionInfo field's value.
  6913  func (s *ExportTask) SetExecutionInfo(v *ExportTaskExecutionInfo) *ExportTask {
  6914  	s.ExecutionInfo = v
  6915  	return s
  6916  }
  6917  
  6918  // SetFrom sets the From field's value.
  6919  func (s *ExportTask) SetFrom(v int64) *ExportTask {
  6920  	s.From = &v
  6921  	return s
  6922  }
  6923  
  6924  // SetLogGroupName sets the LogGroupName field's value.
  6925  func (s *ExportTask) SetLogGroupName(v string) *ExportTask {
  6926  	s.LogGroupName = &v
  6927  	return s
  6928  }
  6929  
  6930  // SetStatus sets the Status field's value.
  6931  func (s *ExportTask) SetStatus(v *ExportTaskStatus) *ExportTask {
  6932  	s.Status = v
  6933  	return s
  6934  }
  6935  
  6936  // SetTaskId sets the TaskId field's value.
  6937  func (s *ExportTask) SetTaskId(v string) *ExportTask {
  6938  	s.TaskId = &v
  6939  	return s
  6940  }
  6941  
  6942  // SetTaskName sets the TaskName field's value.
  6943  func (s *ExportTask) SetTaskName(v string) *ExportTask {
  6944  	s.TaskName = &v
  6945  	return s
  6946  }
  6947  
  6948  // SetTo sets the To field's value.
  6949  func (s *ExportTask) SetTo(v int64) *ExportTask {
  6950  	s.To = &v
  6951  	return s
  6952  }
  6953  
  6954  // Represents the status of an export task.
  6955  type 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".
  6972  func (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".
  6981  func (s ExportTaskExecutionInfo) GoString() string {
  6982  	return s.String()
  6983  }
  6984  
  6985  // SetCompletionTime sets the CompletionTime field's value.
  6986  func (s *ExportTaskExecutionInfo) SetCompletionTime(v int64) *ExportTaskExecutionInfo {
  6987  	s.CompletionTime = &v
  6988  	return s
  6989  }
  6990  
  6991  // SetCreationTime sets the CreationTime field's value.
  6992  func (s *ExportTaskExecutionInfo) SetCreationTime(v int64) *ExportTaskExecutionInfo {
  6993  	s.CreationTime = &v
  6994  	return s
  6995  }
  6996  
  6997  // Represents the status of an export task.
  6998  type 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".
  7013  func (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".
  7022  func (s ExportTaskStatus) GoString() string {
  7023  	return s.String()
  7024  }
  7025  
  7026  // SetCode sets the Code field's value.
  7027  func (s *ExportTaskStatus) SetCode(v string) *ExportTaskStatus {
  7028  	s.Code = &v
  7029  	return s
  7030  }
  7031  
  7032  // SetMessage sets the Message field's value.
  7033  func (s *ExportTaskStatus) SetMessage(v string) *ExportTaskStatus {
  7034  	s.Message = &v
  7035  	return s
  7036  }
  7037  
  7038  type 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".
  7102  func (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".
  7111  func (s FilterLogEventsInput) GoString() string {
  7112  	return s.String()
  7113  }
  7114  
  7115  // Validate inspects the fields of the type to determine if they are valid.
  7116  func (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.
  7144  func (s *FilterLogEventsInput) SetEndTime(v int64) *FilterLogEventsInput {
  7145  	s.EndTime = &v
  7146  	return s
  7147  }
  7148  
  7149  // SetFilterPattern sets the FilterPattern field's value.
  7150  func (s *FilterLogEventsInput) SetFilterPattern(v string) *FilterLogEventsInput {
  7151  	s.FilterPattern = &v
  7152  	return s
  7153  }
  7154  
  7155  // SetInterleaved sets the Interleaved field's value.
  7156  func (s *FilterLogEventsInput) SetInterleaved(v bool) *FilterLogEventsInput {
  7157  	s.Interleaved = &v
  7158  	return s
  7159  }
  7160  
  7161  // SetLimit sets the Limit field's value.
  7162  func (s *FilterLogEventsInput) SetLimit(v int64) *FilterLogEventsInput {
  7163  	s.Limit = &v
  7164  	return s
  7165  }
  7166  
  7167  // SetLogGroupName sets the LogGroupName field's value.
  7168  func (s *FilterLogEventsInput) SetLogGroupName(v string) *FilterLogEventsInput {
  7169  	s.LogGroupName = &v
  7170  	return s
  7171  }
  7172  
  7173  // SetLogStreamNamePrefix sets the LogStreamNamePrefix field's value.
  7174  func (s *FilterLogEventsInput) SetLogStreamNamePrefix(v string) *FilterLogEventsInput {
  7175  	s.LogStreamNamePrefix = &v
  7176  	return s
  7177  }
  7178  
  7179  // SetLogStreamNames sets the LogStreamNames field's value.
  7180  func (s *FilterLogEventsInput) SetLogStreamNames(v []*string) *FilterLogEventsInput {
  7181  	s.LogStreamNames = v
  7182  	return s
  7183  }
  7184  
  7185  // SetNextToken sets the NextToken field's value.
  7186  func (s *FilterLogEventsInput) SetNextToken(v string) *FilterLogEventsInput {
  7187  	s.NextToken = &v
  7188  	return s
  7189  }
  7190  
  7191  // SetStartTime sets the StartTime field's value.
  7192  func (s *FilterLogEventsInput) SetStartTime(v int64) *FilterLogEventsInput {
  7193  	s.StartTime = &v
  7194  	return s
  7195  }
  7196  
  7197  type 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".
  7220  func (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".
  7229  func (s FilterLogEventsOutput) GoString() string {
  7230  	return s.String()
  7231  }
  7232  
  7233  // SetEvents sets the Events field's value.
  7234  func (s *FilterLogEventsOutput) SetEvents(v []*FilteredLogEvent) *FilterLogEventsOutput {
  7235  	s.Events = v
  7236  	return s
  7237  }
  7238  
  7239  // SetNextToken sets the NextToken field's value.
  7240  func (s *FilterLogEventsOutput) SetNextToken(v string) *FilterLogEventsOutput {
  7241  	s.NextToken = &v
  7242  	return s
  7243  }
  7244  
  7245  // SetSearchedLogStreams sets the SearchedLogStreams field's value.
  7246  func (s *FilterLogEventsOutput) SetSearchedLogStreams(v []*SearchedLogStream) *FilterLogEventsOutput {
  7247  	s.SearchedLogStreams = v
  7248  	return s
  7249  }
  7250  
  7251  // Represents a matched event.
  7252  type 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".
  7278  func (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".
  7287  func (s FilteredLogEvent) GoString() string {
  7288  	return s.String()
  7289  }
  7290  
  7291  // SetEventId sets the EventId field's value.
  7292  func (s *FilteredLogEvent) SetEventId(v string) *FilteredLogEvent {
  7293  	s.EventId = &v
  7294  	return s
  7295  }
  7296  
  7297  // SetIngestionTime sets the IngestionTime field's value.
  7298  func (s *FilteredLogEvent) SetIngestionTime(v int64) *FilteredLogEvent {
  7299  	s.IngestionTime = &v
  7300  	return s
  7301  }
  7302  
  7303  // SetLogStreamName sets the LogStreamName field's value.
  7304  func (s *FilteredLogEvent) SetLogStreamName(v string) *FilteredLogEvent {
  7305  	s.LogStreamName = &v
  7306  	return s
  7307  }
  7308  
  7309  // SetMessage sets the Message field's value.
  7310  func (s *FilteredLogEvent) SetMessage(v string) *FilteredLogEvent {
  7311  	s.Message = &v
  7312  	return s
  7313  }
  7314  
  7315  // SetTimestamp sets the Timestamp field's value.
  7316  func (s *FilteredLogEvent) SetTimestamp(v int64) *FilteredLogEvent {
  7317  	s.Timestamp = &v
  7318  	return s
  7319  }
  7320  
  7321  type 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".
  7368  func (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".
  7377  func (s GetLogEventsInput) GoString() string {
  7378  	return s.String()
  7379  }
  7380  
  7381  // Validate inspects the fields of the type to determine if they are valid.
  7382  func (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.
  7410  func (s *GetLogEventsInput) SetEndTime(v int64) *GetLogEventsInput {
  7411  	s.EndTime = &v
  7412  	return s
  7413  }
  7414  
  7415  // SetLimit sets the Limit field's value.
  7416  func (s *GetLogEventsInput) SetLimit(v int64) *GetLogEventsInput {
  7417  	s.Limit = &v
  7418  	return s
  7419  }
  7420  
  7421  // SetLogGroupName sets the LogGroupName field's value.
  7422  func (s *GetLogEventsInput) SetLogGroupName(v string) *GetLogEventsInput {
  7423  	s.LogGroupName = &v
  7424  	return s
  7425  }
  7426  
  7427  // SetLogStreamName sets the LogStreamName field's value.
  7428  func (s *GetLogEventsInput) SetLogStreamName(v string) *GetLogEventsInput {
  7429  	s.LogStreamName = &v
  7430  	return s
  7431  }
  7432  
  7433  // SetNextToken sets the NextToken field's value.
  7434  func (s *GetLogEventsInput) SetNextToken(v string) *GetLogEventsInput {
  7435  	s.NextToken = &v
  7436  	return s
  7437  }
  7438  
  7439  // SetStartFromHead sets the StartFromHead field's value.
  7440  func (s *GetLogEventsInput) SetStartFromHead(v bool) *GetLogEventsInput {
  7441  	s.StartFromHead = &v
  7442  	return s
  7443  }
  7444  
  7445  // SetStartTime sets the StartTime field's value.
  7446  func (s *GetLogEventsInput) SetStartTime(v int64) *GetLogEventsInput {
  7447  	s.StartTime = &v
  7448  	return s
  7449  }
  7450  
  7451  type 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".
  7473  func (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".
  7482  func (s GetLogEventsOutput) GoString() string {
  7483  	return s.String()
  7484  }
  7485  
  7486  // SetEvents sets the Events field's value.
  7487  func (s *GetLogEventsOutput) SetEvents(v []*OutputLogEvent) *GetLogEventsOutput {
  7488  	s.Events = v
  7489  	return s
  7490  }
  7491  
  7492  // SetNextBackwardToken sets the NextBackwardToken field's value.
  7493  func (s *GetLogEventsOutput) SetNextBackwardToken(v string) *GetLogEventsOutput {
  7494  	s.NextBackwardToken = &v
  7495  	return s
  7496  }
  7497  
  7498  // SetNextForwardToken sets the NextForwardToken field's value.
  7499  func (s *GetLogEventsOutput) SetNextForwardToken(v string) *GetLogEventsOutput {
  7500  	s.NextForwardToken = &v
  7501  	return s
  7502  }
  7503  
  7504  type 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".
  7526  func (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".
  7535  func (s GetLogGroupFieldsInput) GoString() string {
  7536  	return s.String()
  7537  }
  7538  
  7539  // Validate inspects the fields of the type to determine if they are valid.
  7540  func (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.
  7556  func (s *GetLogGroupFieldsInput) SetLogGroupName(v string) *GetLogGroupFieldsInput {
  7557  	s.LogGroupName = &v
  7558  	return s
  7559  }
  7560  
  7561  // SetTime sets the Time field's value.
  7562  func (s *GetLogGroupFieldsInput) SetTime(v int64) *GetLogGroupFieldsInput {
  7563  	s.Time = &v
  7564  	return s
  7565  }
  7566  
  7567  type 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".
  7581  func (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".
  7590  func (s GetLogGroupFieldsOutput) GoString() string {
  7591  	return s.String()
  7592  }
  7593  
  7594  // SetLogGroupFields sets the LogGroupFields field's value.
  7595  func (s *GetLogGroupFieldsOutput) SetLogGroupFields(v []*LogGroupField) *GetLogGroupFieldsOutput {
  7596  	s.LogGroupFields = v
  7597  	return s
  7598  }
  7599  
  7600  type 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".
  7617  func (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".
  7626  func (s GetLogRecordInput) GoString() string {
  7627  	return s.String()
  7628  }
  7629  
  7630  // Validate inspects the fields of the type to determine if they are valid.
  7631  func (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.
  7644  func (s *GetLogRecordInput) SetLogRecordPointer(v string) *GetLogRecordInput {
  7645  	s.LogRecordPointer = &v
  7646  	return s
  7647  }
  7648  
  7649  type 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".
  7661  func (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".
  7670  func (s GetLogRecordOutput) GoString() string {
  7671  	return s.String()
  7672  }
  7673  
  7674  // SetLogRecord sets the LogRecord field's value.
  7675  func (s *GetLogRecordOutput) SetLogRecord(v map[string]*string) *GetLogRecordOutput {
  7676  	s.LogRecord = v
  7677  	return s
  7678  }
  7679  
  7680  type 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".
  7694  func (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".
  7703  func (s GetQueryResultsInput) GoString() string {
  7704  	return s.String()
  7705  }
  7706  
  7707  // Validate inspects the fields of the type to determine if they are valid.
  7708  func (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.
  7721  func (s *GetQueryResultsInput) SetQueryId(v string) *GetQueryResultsInput {
  7722  	s.QueryId = &v
  7723  	return s
  7724  }
  7725  
  7726  type 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".
  7757  func (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".
  7766  func (s GetQueryResultsOutput) GoString() string {
  7767  	return s.String()
  7768  }
  7769  
  7770  // SetResults sets the Results field's value.
  7771  func (s *GetQueryResultsOutput) SetResults(v [][]*ResultField) *GetQueryResultsOutput {
  7772  	s.Results = v
  7773  	return s
  7774  }
  7775  
  7776  // SetStatistics sets the Statistics field's value.
  7777  func (s *GetQueryResultsOutput) SetStatistics(v *QueryStatistics) *GetQueryResultsOutput {
  7778  	s.Statistics = v
  7779  	return s
  7780  }
  7781  
  7782  // SetStatus sets the Status field's value.
  7783  func (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.
  7790  type 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".
  7810  func (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".
  7819  func (s InputLogEvent) GoString() string {
  7820  	return s.String()
  7821  }
  7822  
  7823  // Validate inspects the fields of the type to determine if they are valid.
  7824  func (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.
  7843  func (s *InputLogEvent) SetMessage(v string) *InputLogEvent {
  7844  	s.Message = &v
  7845  	return s
  7846  }
  7847  
  7848  // SetTimestamp sets the Timestamp field's value.
  7849  func (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.
  7855  type 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".
  7867  func (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".
  7876  func (s InvalidOperationException) GoString() string {
  7877  	return s.String()
  7878  }
  7879  
  7880  func newErrorInvalidOperationException(v protocol.ResponseMetadata) error {
  7881  	return &InvalidOperationException{
  7882  		RespMetadata: v,
  7883  	}
  7884  }
  7885  
  7886  // Code returns the exception type name.
  7887  func (s *InvalidOperationException) Code() string {
  7888  	return "InvalidOperationException"
  7889  }
  7890  
  7891  // Message returns the exception's message.
  7892  func (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.
  7900  func (s *InvalidOperationException) OrigErr() error {
  7901  	return nil
  7902  }
  7903  
  7904  func (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.
  7909  func (s *InvalidOperationException) StatusCode() int {
  7910  	return s.RespMetadata.StatusCode
  7911  }
  7912  
  7913  // RequestID returns the service's response RequestID for request.
  7914  func (s *InvalidOperationException) RequestID() string {
  7915  	return s.RespMetadata.RequestID
  7916  }
  7917  
  7918  // A parameter is specified incorrectly.
  7919  type 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".
  7931  func (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".
  7940  func (s InvalidParameterException) GoString() string {
  7941  	return s.String()
  7942  }
  7943  
  7944  func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
  7945  	return &InvalidParameterException{
  7946  		RespMetadata: v,
  7947  	}
  7948  }
  7949  
  7950  // Code returns the exception type name.
  7951  func (s *InvalidParameterException) Code() string {
  7952  	return "InvalidParameterException"
  7953  }
  7954  
  7955  // Message returns the exception's message.
  7956  func (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.
  7964  func (s *InvalidParameterException) OrigErr() error {
  7965  	return nil
  7966  }
  7967  
  7968  func (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.
  7973  func (s *InvalidParameterException) StatusCode() int {
  7974  	return s.RespMetadata.StatusCode
  7975  }
  7976  
  7977  // RequestID returns the service's response RequestID for request.
  7978  func (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.
  7984  type 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".
  7998  func (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".
  8007  func (s InvalidSequenceTokenException) GoString() string {
  8008  	return s.String()
  8009  }
  8010  
  8011  func newErrorInvalidSequenceTokenException(v protocol.ResponseMetadata) error {
  8012  	return &InvalidSequenceTokenException{
  8013  		RespMetadata: v,
  8014  	}
  8015  }
  8016  
  8017  // Code returns the exception type name.
  8018  func (s *InvalidSequenceTokenException) Code() string {
  8019  	return "InvalidSequenceTokenException"
  8020  }
  8021  
  8022  // Message returns the exception's message.
  8023  func (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.
  8031  func (s *InvalidSequenceTokenException) OrigErr() error {
  8032  	return nil
  8033  }
  8034  
  8035  func (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.
  8040  func (s *InvalidSequenceTokenException) StatusCode() int {
  8041  	return s.RespMetadata.StatusCode
  8042  }
  8043  
  8044  // RequestID returns the service's response RequestID for request.
  8045  func (s *InvalidSequenceTokenException) RequestID() string {
  8046  	return s.RespMetadata.RequestID
  8047  }
  8048  
  8049  // You have reached the maximum number of resources that can be created.
  8050  type 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".
  8062  func (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".
  8071  func (s LimitExceededException) GoString() string {
  8072  	return s.String()
  8073  }
  8074  
  8075  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
  8076  	return &LimitExceededException{
  8077  		RespMetadata: v,
  8078  	}
  8079  }
  8080  
  8081  // Code returns the exception type name.
  8082  func (s *LimitExceededException) Code() string {
  8083  	return "LimitExceededException"
  8084  }
  8085  
  8086  // Message returns the exception's message.
  8087  func (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.
  8095  func (s *LimitExceededException) OrigErr() error {
  8096  	return nil
  8097  }
  8098  
  8099  func (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.
  8104  func (s *LimitExceededException) StatusCode() int {
  8105  	return s.RespMetadata.StatusCode
  8106  }
  8107  
  8108  // RequestID returns the service's response RequestID for request.
  8109  func (s *LimitExceededException) RequestID() string {
  8110  	return s.RespMetadata.RequestID
  8111  }
  8112  
  8113  type 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".
  8127  func (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".
  8136  func (s ListTagsLogGroupInput) GoString() string {
  8137  	return s.String()
  8138  }
  8139  
  8140  // Validate inspects the fields of the type to determine if they are valid.
  8141  func (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.
  8157  func (s *ListTagsLogGroupInput) SetLogGroupName(v string) *ListTagsLogGroupInput {
  8158  	s.LogGroupName = &v
  8159  	return s
  8160  }
  8161  
  8162  type 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".
  8174  func (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".
  8183  func (s ListTagsLogGroupOutput) GoString() string {
  8184  	return s.String()
  8185  }
  8186  
  8187  // SetTags sets the Tags field's value.
  8188  func (s *ListTagsLogGroupOutput) SetTags(v map[string]*string) *ListTagsLogGroupOutput {
  8189  	s.Tags = v
  8190  	return s
  8191  }
  8192  
  8193  // Represents a log group.
  8194  type 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".
  8230  func (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".
  8239  func (s LogGroup) GoString() string {
  8240  	return s.String()
  8241  }
  8242  
  8243  // SetArn sets the Arn field's value.
  8244  func (s *LogGroup) SetArn(v string) *LogGroup {
  8245  	s.Arn = &v
  8246  	return s
  8247  }
  8248  
  8249  // SetCreationTime sets the CreationTime field's value.
  8250  func (s *LogGroup) SetCreationTime(v int64) *LogGroup {
  8251  	s.CreationTime = &v
  8252  	return s
  8253  }
  8254  
  8255  // SetKmsKeyId sets the KmsKeyId field's value.
  8256  func (s *LogGroup) SetKmsKeyId(v string) *LogGroup {
  8257  	s.KmsKeyId = &v
  8258  	return s
  8259  }
  8260  
  8261  // SetLogGroupName sets the LogGroupName field's value.
  8262  func (s *LogGroup) SetLogGroupName(v string) *LogGroup {
  8263  	s.LogGroupName = &v
  8264  	return s
  8265  }
  8266  
  8267  // SetMetricFilterCount sets the MetricFilterCount field's value.
  8268  func (s *LogGroup) SetMetricFilterCount(v int64) *LogGroup {
  8269  	s.MetricFilterCount = &v
  8270  	return s
  8271  }
  8272  
  8273  // SetRetentionInDays sets the RetentionInDays field's value.
  8274  func (s *LogGroup) SetRetentionInDays(v int64) *LogGroup {
  8275  	s.RetentionInDays = &v
  8276  	return s
  8277  }
  8278  
  8279  // SetStoredBytes sets the StoredBytes field's value.
  8280  func (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.
  8287  type 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".
  8302  func (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".
  8311  func (s LogGroupField) GoString() string {
  8312  	return s.String()
  8313  }
  8314  
  8315  // SetName sets the Name field's value.
  8316  func (s *LogGroupField) SetName(v string) *LogGroupField {
  8317  	s.Name = &v
  8318  	return s
  8319  }
  8320  
  8321  // SetPercent sets the Percent field's value.
  8322  func (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.
  8329  type 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".
  8375  func (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".
  8384  func (s LogStream) GoString() string {
  8385  	return s.String()
  8386  }
  8387  
  8388  // SetArn sets the Arn field's value.
  8389  func (s *LogStream) SetArn(v string) *LogStream {
  8390  	s.Arn = &v
  8391  	return s
  8392  }
  8393  
  8394  // SetCreationTime sets the CreationTime field's value.
  8395  func (s *LogStream) SetCreationTime(v int64) *LogStream {
  8396  	s.CreationTime = &v
  8397  	return s
  8398  }
  8399  
  8400  // SetFirstEventTimestamp sets the FirstEventTimestamp field's value.
  8401  func (s *LogStream) SetFirstEventTimestamp(v int64) *LogStream {
  8402  	s.FirstEventTimestamp = &v
  8403  	return s
  8404  }
  8405  
  8406  // SetLastEventTimestamp sets the LastEventTimestamp field's value.
  8407  func (s *LogStream) SetLastEventTimestamp(v int64) *LogStream {
  8408  	s.LastEventTimestamp = &v
  8409  	return s
  8410  }
  8411  
  8412  // SetLastIngestionTime sets the LastIngestionTime field's value.
  8413  func (s *LogStream) SetLastIngestionTime(v int64) *LogStream {
  8414  	s.LastIngestionTime = &v
  8415  	return s
  8416  }
  8417  
  8418  // SetLogStreamName sets the LogStreamName field's value.
  8419  func (s *LogStream) SetLogStreamName(v string) *LogStream {
  8420  	s.LogStreamName = &v
  8421  	return s
  8422  }
  8423  
  8424  // SetStoredBytes sets the StoredBytes field's value.
  8425  func (s *LogStream) SetStoredBytes(v int64) *LogStream {
  8426  	s.StoredBytes = &v
  8427  	return s
  8428  }
  8429  
  8430  // SetUploadSequenceToken sets the UploadSequenceToken field's value.
  8431  func (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).
  8441  type 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".
  8456  func (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".
  8465  func (s MalformedQueryException) GoString() string {
  8466  	return s.String()
  8467  }
  8468  
  8469  func newErrorMalformedQueryException(v protocol.ResponseMetadata) error {
  8470  	return &MalformedQueryException{
  8471  		RespMetadata: v,
  8472  	}
  8473  }
  8474  
  8475  // Code returns the exception type name.
  8476  func (s *MalformedQueryException) Code() string {
  8477  	return "MalformedQueryException"
  8478  }
  8479  
  8480  // Message returns the exception's message.
  8481  func (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.
  8489  func (s *MalformedQueryException) OrigErr() error {
  8490  	return nil
  8491  }
  8492  
  8493  func (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.
  8498  func (s *MalformedQueryException) StatusCode() int {
  8499  	return s.RespMetadata.StatusCode
  8500  }
  8501  
  8502  // RequestID returns the service's response RequestID for request.
  8503  func (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.
  8510  type 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".
  8538  func (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".
  8547  func (s MetricFilter) GoString() string {
  8548  	return s.String()
  8549  }
  8550  
  8551  // SetCreationTime sets the CreationTime field's value.
  8552  func (s *MetricFilter) SetCreationTime(v int64) *MetricFilter {
  8553  	s.CreationTime = &v
  8554  	return s
  8555  }
  8556  
  8557  // SetFilterName sets the FilterName field's value.
  8558  func (s *MetricFilter) SetFilterName(v string) *MetricFilter {
  8559  	s.FilterName = &v
  8560  	return s
  8561  }
  8562  
  8563  // SetFilterPattern sets the FilterPattern field's value.
  8564  func (s *MetricFilter) SetFilterPattern(v string) *MetricFilter {
  8565  	s.FilterPattern = &v
  8566  	return s
  8567  }
  8568  
  8569  // SetLogGroupName sets the LogGroupName field's value.
  8570  func (s *MetricFilter) SetLogGroupName(v string) *MetricFilter {
  8571  	s.LogGroupName = &v
  8572  	return s
  8573  }
  8574  
  8575  // SetMetricTransformations sets the MetricTransformations field's value.
  8576  func (s *MetricFilter) SetMetricTransformations(v []*MetricTransformation) *MetricFilter {
  8577  	s.MetricTransformations = v
  8578  	return s
  8579  }
  8580  
  8581  // Represents a matched event.
  8582  type 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".
  8600  func (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".
  8609  func (s MetricFilterMatchRecord) GoString() string {
  8610  	return s.String()
  8611  }
  8612  
  8613  // SetEventMessage sets the EventMessage field's value.
  8614  func (s *MetricFilterMatchRecord) SetEventMessage(v string) *MetricFilterMatchRecord {
  8615  	s.EventMessage = &v
  8616  	return s
  8617  }
  8618  
  8619  // SetEventNumber sets the EventNumber field's value.
  8620  func (s *MetricFilterMatchRecord) SetEventNumber(v int64) *MetricFilterMatchRecord {
  8621  	s.EventNumber = &v
  8622  	return s
  8623  }
  8624  
  8625  // SetExtractedValues sets the ExtractedValues field's value.
  8626  func (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.
  8633  type 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".
  8684  func (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".
  8693  func (s MetricTransformation) GoString() string {
  8694  	return s.String()
  8695  }
  8696  
  8697  // Validate inspects the fields of the type to determine if they are valid.
  8698  func (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.
  8717  func (s *MetricTransformation) SetDefaultValue(v float64) *MetricTransformation {
  8718  	s.DefaultValue = &v
  8719  	return s
  8720  }
  8721  
  8722  // SetDimensions sets the Dimensions field's value.
  8723  func (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.
  8729  func (s *MetricTransformation) SetMetricName(v string) *MetricTransformation {
  8730  	s.MetricName = &v
  8731  	return s
  8732  }
  8733  
  8734  // SetMetricNamespace sets the MetricNamespace field's value.
  8735  func (s *MetricTransformation) SetMetricNamespace(v string) *MetricTransformation {
  8736  	s.MetricNamespace = &v
  8737  	return s
  8738  }
  8739  
  8740  // SetMetricValue sets the MetricValue field's value.
  8741  func (s *MetricTransformation) SetMetricValue(v string) *MetricTransformation {
  8742  	s.MetricValue = &v
  8743  	return s
  8744  }
  8745  
  8746  // SetUnit sets the Unit field's value.
  8747  func (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.
  8753  type 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".
  8765  func (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".
  8774  func (s OperationAbortedException) GoString() string {
  8775  	return s.String()
  8776  }
  8777  
  8778  func newErrorOperationAbortedException(v protocol.ResponseMetadata) error {
  8779  	return &OperationAbortedException{
  8780  		RespMetadata: v,
  8781  	}
  8782  }
  8783  
  8784  // Code returns the exception type name.
  8785  func (s *OperationAbortedException) Code() string {
  8786  	return "OperationAbortedException"
  8787  }
  8788  
  8789  // Message returns the exception's message.
  8790  func (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.
  8798  func (s *OperationAbortedException) OrigErr() error {
  8799  	return nil
  8800  }
  8801  
  8802  func (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.
  8807  func (s *OperationAbortedException) StatusCode() int {
  8808  	return s.RespMetadata.StatusCode
  8809  }
  8810  
  8811  // RequestID returns the service's response RequestID for request.
  8812  func (s *OperationAbortedException) RequestID() string {
  8813  	return s.RespMetadata.RequestID
  8814  }
  8815  
  8816  // Represents a log event.
  8817  type 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".
  8837  func (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".
  8846  func (s OutputLogEvent) GoString() string {
  8847  	return s.String()
  8848  }
  8849  
  8850  // SetIngestionTime sets the IngestionTime field's value.
  8851  func (s *OutputLogEvent) SetIngestionTime(v int64) *OutputLogEvent {
  8852  	s.IngestionTime = &v
  8853  	return s
  8854  }
  8855  
  8856  // SetMessage sets the Message field's value.
  8857  func (s *OutputLogEvent) SetMessage(v string) *OutputLogEvent {
  8858  	s.Message = &v
  8859  	return s
  8860  }
  8861  
  8862  // SetTimestamp sets the Timestamp field's value.
  8863  func (s *OutputLogEvent) SetTimestamp(v int64) *OutputLogEvent {
  8864  	s.Timestamp = &v
  8865  	return s
  8866  }
  8867  
  8868  type 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".
  8893  func (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".
  8902  func (s PutDestinationInput) GoString() string {
  8903  	return s.String()
  8904  }
  8905  
  8906  // Validate inspects the fields of the type to determine if they are valid.
  8907  func (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.
  8935  func (s *PutDestinationInput) SetDestinationName(v string) *PutDestinationInput {
  8936  	s.DestinationName = &v
  8937  	return s
  8938  }
  8939  
  8940  // SetRoleArn sets the RoleArn field's value.
  8941  func (s *PutDestinationInput) SetRoleArn(v string) *PutDestinationInput {
  8942  	s.RoleArn = &v
  8943  	return s
  8944  }
  8945  
  8946  // SetTargetArn sets the TargetArn field's value.
  8947  func (s *PutDestinationInput) SetTargetArn(v string) *PutDestinationInput {
  8948  	s.TargetArn = &v
  8949  	return s
  8950  }
  8951  
  8952  type 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".
  8964  func (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".
  8973  func (s PutDestinationOutput) GoString() string {
  8974  	return s.String()
  8975  }
  8976  
  8977  // SetDestination sets the Destination field's value.
  8978  func (s *PutDestinationOutput) SetDestination(v *Destination) *PutDestinationOutput {
  8979  	s.Destination = v
  8980  	return s
  8981  }
  8982  
  8983  type 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".
  9003  func (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".
  9012  func (s PutDestinationPolicyInput) GoString() string {
  9013  	return s.String()
  9014  }
  9015  
  9016  // Validate inspects the fields of the type to determine if they are valid.
  9017  func (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.
  9039  func (s *PutDestinationPolicyInput) SetAccessPolicy(v string) *PutDestinationPolicyInput {
  9040  	s.AccessPolicy = &v
  9041  	return s
  9042  }
  9043  
  9044  // SetDestinationName sets the DestinationName field's value.
  9045  func (s *PutDestinationPolicyInput) SetDestinationName(v string) *PutDestinationPolicyInput {
  9046  	s.DestinationName = &v
  9047  	return s
  9048  }
  9049  
  9050  type 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".
  9059  func (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".
  9068  func (s PutDestinationPolicyOutput) GoString() string {
  9069  	return s.String()
  9070  }
  9071  
  9072  type 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".
  9103  func (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".
  9112  func (s PutLogEventsInput) GoString() string {
  9113  	return s.String()
  9114  }
  9115  
  9116  // Validate inspects the fields of the type to determine if they are valid.
  9117  func (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.
  9158  func (s *PutLogEventsInput) SetLogEvents(v []*InputLogEvent) *PutLogEventsInput {
  9159  	s.LogEvents = v
  9160  	return s
  9161  }
  9162  
  9163  // SetLogGroupName sets the LogGroupName field's value.
  9164  func (s *PutLogEventsInput) SetLogGroupName(v string) *PutLogEventsInput {
  9165  	s.LogGroupName = &v
  9166  	return s
  9167  }
  9168  
  9169  // SetLogStreamName sets the LogStreamName field's value.
  9170  func (s *PutLogEventsInput) SetLogStreamName(v string) *PutLogEventsInput {
  9171  	s.LogStreamName = &v
  9172  	return s
  9173  }
  9174  
  9175  // SetSequenceToken sets the SequenceToken field's value.
  9176  func (s *PutLogEventsInput) SetSequenceToken(v string) *PutLogEventsInput {
  9177  	s.SequenceToken = &v
  9178  	return s
  9179  }
  9180  
  9181  type 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".
  9196  func (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".
  9205  func (s PutLogEventsOutput) GoString() string {
  9206  	return s.String()
  9207  }
  9208  
  9209  // SetNextSequenceToken sets the NextSequenceToken field's value.
  9210  func (s *PutLogEventsOutput) SetNextSequenceToken(v string) *PutLogEventsOutput {
  9211  	s.NextSequenceToken = &v
  9212  	return s
  9213  }
  9214  
  9215  // SetRejectedLogEventsInfo sets the RejectedLogEventsInfo field's value.
  9216  func (s *PutLogEventsOutput) SetRejectedLogEventsInfo(v *RejectedLogEventsInfo) *PutLogEventsOutput {
  9217  	s.RejectedLogEventsInfo = v
  9218  	return s
  9219  }
  9220  
  9221  type 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".
  9250  func (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".
  9259  func (s PutMetricFilterInput) GoString() string {
  9260  	return s.String()
  9261  }
  9262  
  9263  // Validate inspects the fields of the type to determine if they are valid.
  9264  func (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.
  9305  func (s *PutMetricFilterInput) SetFilterName(v string) *PutMetricFilterInput {
  9306  	s.FilterName = &v
  9307  	return s
  9308  }
  9309  
  9310  // SetFilterPattern sets the FilterPattern field's value.
  9311  func (s *PutMetricFilterInput) SetFilterPattern(v string) *PutMetricFilterInput {
  9312  	s.FilterPattern = &v
  9313  	return s
  9314  }
  9315  
  9316  // SetLogGroupName sets the LogGroupName field's value.
  9317  func (s *PutMetricFilterInput) SetLogGroupName(v string) *PutMetricFilterInput {
  9318  	s.LogGroupName = &v
  9319  	return s
  9320  }
  9321  
  9322  // SetMetricTransformations sets the MetricTransformations field's value.
  9323  func (s *PutMetricFilterInput) SetMetricTransformations(v []*MetricTransformation) *PutMetricFilterInput {
  9324  	s.MetricTransformations = v
  9325  	return s
  9326  }
  9327  
  9328  type 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".
  9337  func (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".
  9346  func (s PutMetricFilterOutput) GoString() string {
  9347  	return s.String()
  9348  }
  9349  
  9350  type 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".
  9389  func (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".
  9398  func (s PutQueryDefinitionInput) GoString() string {
  9399  	return s.String()
  9400  }
  9401  
  9402  // Validate inspects the fields of the type to determine if they are valid.
  9403  func (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.
  9425  func (s *PutQueryDefinitionInput) SetLogGroupNames(v []*string) *PutQueryDefinitionInput {
  9426  	s.LogGroupNames = v
  9427  	return s
  9428  }
  9429  
  9430  // SetName sets the Name field's value.
  9431  func (s *PutQueryDefinitionInput) SetName(v string) *PutQueryDefinitionInput {
  9432  	s.Name = &v
  9433  	return s
  9434  }
  9435  
  9436  // SetQueryDefinitionId sets the QueryDefinitionId field's value.
  9437  func (s *PutQueryDefinitionInput) SetQueryDefinitionId(v string) *PutQueryDefinitionInput {
  9438  	s.QueryDefinitionId = &v
  9439  	return s
  9440  }
  9441  
  9442  // SetQueryString sets the QueryString field's value.
  9443  func (s *PutQueryDefinitionInput) SetQueryString(v string) *PutQueryDefinitionInput {
  9444  	s.QueryString = &v
  9445  	return s
  9446  }
  9447  
  9448  type 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".
  9460  func (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".
  9469  func (s PutQueryDefinitionOutput) GoString() string {
  9470  	return s.String()
  9471  }
  9472  
  9473  // SetQueryDefinitionId sets the QueryDefinitionId field's value.
  9474  func (s *PutQueryDefinitionOutput) SetQueryDefinitionId(v string) *PutQueryDefinitionOutput {
  9475  	s.QueryDefinitionId = &v
  9476  	return s
  9477  }
  9478  
  9479  type 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".
  9515  func (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".
  9524  func (s PutResourcePolicyInput) GoString() string {
  9525  	return s.String()
  9526  }
  9527  
  9528  // Validate inspects the fields of the type to determine if they are valid.
  9529  func (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.
  9542  func (s *PutResourcePolicyInput) SetPolicyDocument(v string) *PutResourcePolicyInput {
  9543  	s.PolicyDocument = &v
  9544  	return s
  9545  }
  9546  
  9547  // SetPolicyName sets the PolicyName field's value.
  9548  func (s *PutResourcePolicyInput) SetPolicyName(v string) *PutResourcePolicyInput {
  9549  	s.PolicyName = &v
  9550  	return s
  9551  }
  9552  
  9553  type 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".
  9565  func (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".
  9574  func (s PutResourcePolicyOutput) GoString() string {
  9575  	return s.String()
  9576  }
  9577  
  9578  // SetResourcePolicy sets the ResourcePolicy field's value.
  9579  func (s *PutResourcePolicyOutput) SetResourcePolicy(v *ResourcePolicy) *PutResourcePolicyOutput {
  9580  	s.ResourcePolicy = v
  9581  	return s
  9582  }
  9583  
  9584  type 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".
  9608  func (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".
  9617  func (s PutRetentionPolicyInput) GoString() string {
  9618  	return s.String()
  9619  }
  9620  
  9621  // Validate inspects the fields of the type to determine if they are valid.
  9622  func (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.
  9641  func (s *PutRetentionPolicyInput) SetLogGroupName(v string) *PutRetentionPolicyInput {
  9642  	s.LogGroupName = &v
  9643  	return s
  9644  }
  9645  
  9646  // SetRetentionInDays sets the RetentionInDays field's value.
  9647  func (s *PutRetentionPolicyInput) SetRetentionInDays(v int64) *PutRetentionPolicyInput {
  9648  	s.RetentionInDays = &v
  9649  	return s
  9650  }
  9651  
  9652  type 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".
  9661  func (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".
  9670  func (s PutRetentionPolicyOutput) GoString() string {
  9671  	return s.String()
  9672  }
  9673  
  9674  type 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".
  9734  func (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".
  9743  func (s PutSubscriptionFilterInput) GoString() string {
  9744  	return s.String()
  9745  }
  9746  
  9747  // Validate inspects the fields of the type to determine if they are valid.
  9748  func (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.
  9782  func (s *PutSubscriptionFilterInput) SetDestinationArn(v string) *PutSubscriptionFilterInput {
  9783  	s.DestinationArn = &v
  9784  	return s
  9785  }
  9786  
  9787  // SetDistribution sets the Distribution field's value.
  9788  func (s *PutSubscriptionFilterInput) SetDistribution(v string) *PutSubscriptionFilterInput {
  9789  	s.Distribution = &v
  9790  	return s
  9791  }
  9792  
  9793  // SetFilterName sets the FilterName field's value.
  9794  func (s *PutSubscriptionFilterInput) SetFilterName(v string) *PutSubscriptionFilterInput {
  9795  	s.FilterName = &v
  9796  	return s
  9797  }
  9798  
  9799  // SetFilterPattern sets the FilterPattern field's value.
  9800  func (s *PutSubscriptionFilterInput) SetFilterPattern(v string) *PutSubscriptionFilterInput {
  9801  	s.FilterPattern = &v
  9802  	return s
  9803  }
  9804  
  9805  // SetLogGroupName sets the LogGroupName field's value.
  9806  func (s *PutSubscriptionFilterInput) SetLogGroupName(v string) *PutSubscriptionFilterInput {
  9807  	s.LogGroupName = &v
  9808  	return s
  9809  }
  9810  
  9811  // SetRoleArn sets the RoleArn field's value.
  9812  func (s *PutSubscriptionFilterInput) SetRoleArn(v string) *PutSubscriptionFilterInput {
  9813  	s.RoleArn = &v
  9814  	return s
  9815  }
  9816  
  9817  type 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".
  9826  func (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".
  9835  func (s PutSubscriptionFilterOutput) GoString() string {
  9836  	return s.String()
  9837  }
  9838  
  9839  // Reserved.
  9840  type 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".
  9855  func (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".
  9864  func (s QueryCompileError) GoString() string {
  9865  	return s.String()
  9866  }
  9867  
  9868  // SetLocation sets the Location field's value.
  9869  func (s *QueryCompileError) SetLocation(v *QueryCompileErrorLocation) *QueryCompileError {
  9870  	s.Location = v
  9871  	return s
  9872  }
  9873  
  9874  // SetMessage sets the Message field's value.
  9875  func (s *QueryCompileError) SetMessage(v string) *QueryCompileError {
  9876  	s.Message = &v
  9877  	return s
  9878  }
  9879  
  9880  // Reserved.
  9881  type 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".
  9896  func (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".
  9905  func (s QueryCompileErrorLocation) GoString() string {
  9906  	return s.String()
  9907  }
  9908  
  9909  // SetEndCharOffset sets the EndCharOffset field's value.
  9910  func (s *QueryCompileErrorLocation) SetEndCharOffset(v int64) *QueryCompileErrorLocation {
  9911  	s.EndCharOffset = &v
  9912  	return s
  9913  }
  9914  
  9915  // SetStartCharOffset sets the StartCharOffset field's value.
  9916  func (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.
  9923  type 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".
  9949  func (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".
  9958  func (s QueryDefinition) GoString() string {
  9959  	return s.String()
  9960  }
  9961  
  9962  // SetLastModified sets the LastModified field's value.
  9963  func (s *QueryDefinition) SetLastModified(v int64) *QueryDefinition {
  9964  	s.LastModified = &v
  9965  	return s
  9966  }
  9967  
  9968  // SetLogGroupNames sets the LogGroupNames field's value.
  9969  func (s *QueryDefinition) SetLogGroupNames(v []*string) *QueryDefinition {
  9970  	s.LogGroupNames = v
  9971  	return s
  9972  }
  9973  
  9974  // SetName sets the Name field's value.
  9975  func (s *QueryDefinition) SetName(v string) *QueryDefinition {
  9976  	s.Name = &v
  9977  	return s
  9978  }
  9979  
  9980  // SetQueryDefinitionId sets the QueryDefinitionId field's value.
  9981  func (s *QueryDefinition) SetQueryDefinitionId(v string) *QueryDefinition {
  9982  	s.QueryDefinitionId = &v
  9983  	return s
  9984  }
  9985  
  9986  // SetQueryString sets the QueryString field's value.
  9987  func (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.
  9994  type 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".
 10019  func (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".
 10028  func (s QueryInfo) GoString() string {
 10029  	return s.String()
 10030  }
 10031  
 10032  // SetCreateTime sets the CreateTime field's value.
 10033  func (s *QueryInfo) SetCreateTime(v int64) *QueryInfo {
 10034  	s.CreateTime = &v
 10035  	return s
 10036  }
 10037  
 10038  // SetLogGroupName sets the LogGroupName field's value.
 10039  func (s *QueryInfo) SetLogGroupName(v string) *QueryInfo {
 10040  	s.LogGroupName = &v
 10041  	return s
 10042  }
 10043  
 10044  // SetQueryId sets the QueryId field's value.
 10045  func (s *QueryInfo) SetQueryId(v string) *QueryInfo {
 10046  	s.QueryId = &v
 10047  	return s
 10048  }
 10049  
 10050  // SetQueryString sets the QueryString field's value.
 10051  func (s *QueryInfo) SetQueryString(v string) *QueryInfo {
 10052  	s.QueryString = &v
 10053  	return s
 10054  }
 10055  
 10056  // SetStatus sets the Status field's value.
 10057  func (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.
 10065  type 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".
 10083  func (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".
 10092  func (s QueryStatistics) GoString() string {
 10093  	return s.String()
 10094  }
 10095  
 10096  // SetBytesScanned sets the BytesScanned field's value.
 10097  func (s *QueryStatistics) SetBytesScanned(v float64) *QueryStatistics {
 10098  	s.BytesScanned = &v
 10099  	return s
 10100  }
 10101  
 10102  // SetRecordsMatched sets the RecordsMatched field's value.
 10103  func (s *QueryStatistics) SetRecordsMatched(v float64) *QueryStatistics {
 10104  	s.RecordsMatched = &v
 10105  	return s
 10106  }
 10107  
 10108  // SetRecordsScanned sets the RecordsScanned field's value.
 10109  func (s *QueryStatistics) SetRecordsScanned(v float64) *QueryStatistics {
 10110  	s.RecordsScanned = &v
 10111  	return s
 10112  }
 10113  
 10114  // Represents the rejected events.
 10115  type 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".
 10133  func (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".
 10142  func (s RejectedLogEventsInfo) GoString() string {
 10143  	return s.String()
 10144  }
 10145  
 10146  // SetExpiredLogEventEndIndex sets the ExpiredLogEventEndIndex field's value.
 10147  func (s *RejectedLogEventsInfo) SetExpiredLogEventEndIndex(v int64) *RejectedLogEventsInfo {
 10148  	s.ExpiredLogEventEndIndex = &v
 10149  	return s
 10150  }
 10151  
 10152  // SetTooNewLogEventStartIndex sets the TooNewLogEventStartIndex field's value.
 10153  func (s *RejectedLogEventsInfo) SetTooNewLogEventStartIndex(v int64) *RejectedLogEventsInfo {
 10154  	s.TooNewLogEventStartIndex = &v
 10155  	return s
 10156  }
 10157  
 10158  // SetTooOldLogEventEndIndex sets the TooOldLogEventEndIndex field's value.
 10159  func (s *RejectedLogEventsInfo) SetTooOldLogEventEndIndex(v int64) *RejectedLogEventsInfo {
 10160  	s.TooOldLogEventEndIndex = &v
 10161  	return s
 10162  }
 10163  
 10164  // The specified resource already exists.
 10165  type 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".
 10177  func (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".
 10186  func (s ResourceAlreadyExistsException) GoString() string {
 10187  	return s.String()
 10188  }
 10189  
 10190  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 10191  	return &ResourceAlreadyExistsException{
 10192  		RespMetadata: v,
 10193  	}
 10194  }
 10195  
 10196  // Code returns the exception type name.
 10197  func (s *ResourceAlreadyExistsException) Code() string {
 10198  	return "ResourceAlreadyExistsException"
 10199  }
 10200  
 10201  // Message returns the exception's message.
 10202  func (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.
 10210  func (s *ResourceAlreadyExistsException) OrigErr() error {
 10211  	return nil
 10212  }
 10213  
 10214  func (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.
 10219  func (s *ResourceAlreadyExistsException) StatusCode() int {
 10220  	return s.RespMetadata.StatusCode
 10221  }
 10222  
 10223  // RequestID returns the service's response RequestID for request.
 10224  func (s *ResourceAlreadyExistsException) RequestID() string {
 10225  	return s.RespMetadata.RequestID
 10226  }
 10227  
 10228  // The specified resource does not exist.
 10229  type 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".
 10241  func (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".
 10250  func (s ResourceNotFoundException) GoString() string {
 10251  	return s.String()
 10252  }
 10253  
 10254  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 10255  	return &ResourceNotFoundException{
 10256  		RespMetadata: v,
 10257  	}
 10258  }
 10259  
 10260  // Code returns the exception type name.
 10261  func (s *ResourceNotFoundException) Code() string {
 10262  	return "ResourceNotFoundException"
 10263  }
 10264  
 10265  // Message returns the exception's message.
 10266  func (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.
 10274  func (s *ResourceNotFoundException) OrigErr() error {
 10275  	return nil
 10276  }
 10277  
 10278  func (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.
 10283  func (s *ResourceNotFoundException) StatusCode() int {
 10284  	return s.RespMetadata.StatusCode
 10285  }
 10286  
 10287  // RequestID returns the service's response RequestID for request.
 10288  func (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.
 10294  type 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".
 10313  func (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".
 10322  func (s ResourcePolicy) GoString() string {
 10323  	return s.String()
 10324  }
 10325  
 10326  // SetLastUpdatedTime sets the LastUpdatedTime field's value.
 10327  func (s *ResourcePolicy) SetLastUpdatedTime(v int64) *ResourcePolicy {
 10328  	s.LastUpdatedTime = &v
 10329  	return s
 10330  }
 10331  
 10332  // SetPolicyDocument sets the PolicyDocument field's value.
 10333  func (s *ResourcePolicy) SetPolicyDocument(v string) *ResourcePolicy {
 10334  	s.PolicyDocument = &v
 10335  	return s
 10336  }
 10337  
 10338  // SetPolicyName sets the PolicyName field's value.
 10339  func (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).
 10349  type 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".
 10364  func (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".
 10373  func (s ResultField) GoString() string {
 10374  	return s.String()
 10375  }
 10376  
 10377  // SetField sets the Field field's value.
 10378  func (s *ResultField) SetField(v string) *ResultField {
 10379  	s.Field = &v
 10380  	return s
 10381  }
 10382  
 10383  // SetValue sets the Value field's value.
 10384  func (s *ResultField) SetValue(v string) *ResultField {
 10385  	s.Value = &v
 10386  	return s
 10387  }
 10388  
 10389  // Represents the search status of a log stream.
 10390  type 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".
 10405  func (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".
 10414  func (s SearchedLogStream) GoString() string {
 10415  	return s.String()
 10416  }
 10417  
 10418  // SetLogStreamName sets the LogStreamName field's value.
 10419  func (s *SearchedLogStream) SetLogStreamName(v string) *SearchedLogStream {
 10420  	s.LogStreamName = &v
 10421  	return s
 10422  }
 10423  
 10424  // SetSearchedCompletely sets the SearchedCompletely field's value.
 10425  func (s *SearchedLogStream) SetSearchedCompletely(v bool) *SearchedLogStream {
 10426  	s.SearchedCompletely = &v
 10427  	return s
 10428  }
 10429  
 10430  // The service cannot complete the request.
 10431  type 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".
 10443  func (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".
 10452  func (s ServiceUnavailableException) GoString() string {
 10453  	return s.String()
 10454  }
 10455  
 10456  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
 10457  	return &ServiceUnavailableException{
 10458  		RespMetadata: v,
 10459  	}
 10460  }
 10461  
 10462  // Code returns the exception type name.
 10463  func (s *ServiceUnavailableException) Code() string {
 10464  	return "ServiceUnavailableException"
 10465  }
 10466  
 10467  // Message returns the exception's message.
 10468  func (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.
 10476  func (s *ServiceUnavailableException) OrigErr() error {
 10477  	return nil
 10478  }
 10479  
 10480  func (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.
 10485  func (s *ServiceUnavailableException) StatusCode() int {
 10486  	return s.RespMetadata.StatusCode
 10487  }
 10488  
 10489  // RequestID returns the service's response RequestID for request.
 10490  func (s *ServiceUnavailableException) RequestID() string {
 10491  	return s.RespMetadata.RequestID
 10492  }
 10493  
 10494  type 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".
 10540  func (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".
 10549  func (s StartQueryInput) GoString() string {
 10550  	return s.String()
 10551  }
 10552  
 10553  // Validate inspects the fields of the type to determine if they are valid.
 10554  func (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.
 10579  func (s *StartQueryInput) SetEndTime(v int64) *StartQueryInput {
 10580  	s.EndTime = &v
 10581  	return s
 10582  }
 10583  
 10584  // SetLimit sets the Limit field's value.
 10585  func (s *StartQueryInput) SetLimit(v int64) *StartQueryInput {
 10586  	s.Limit = &v
 10587  	return s
 10588  }
 10589  
 10590  // SetLogGroupName sets the LogGroupName field's value.
 10591  func (s *StartQueryInput) SetLogGroupName(v string) *StartQueryInput {
 10592  	s.LogGroupName = &v
 10593  	return s
 10594  }
 10595  
 10596  // SetLogGroupNames sets the LogGroupNames field's value.
 10597  func (s *StartQueryInput) SetLogGroupNames(v []*string) *StartQueryInput {
 10598  	s.LogGroupNames = v
 10599  	return s
 10600  }
 10601  
 10602  // SetQueryString sets the QueryString field's value.
 10603  func (s *StartQueryInput) SetQueryString(v string) *StartQueryInput {
 10604  	s.QueryString = &v
 10605  	return s
 10606  }
 10607  
 10608  // SetStartTime sets the StartTime field's value.
 10609  func (s *StartQueryInput) SetStartTime(v int64) *StartQueryInput {
 10610  	s.StartTime = &v
 10611  	return s
 10612  }
 10613  
 10614  type 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".
 10626  func (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".
 10635  func (s StartQueryOutput) GoString() string {
 10636  	return s.String()
 10637  }
 10638  
 10639  // SetQueryId sets the QueryId field's value.
 10640  func (s *StartQueryOutput) SetQueryId(v string) *StartQueryOutput {
 10641  	s.QueryId = &v
 10642  	return s
 10643  }
 10644  
 10645  type 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".
 10659  func (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".
 10668  func (s StopQueryInput) GoString() string {
 10669  	return s.String()
 10670  }
 10671  
 10672  // Validate inspects the fields of the type to determine if they are valid.
 10673  func (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.
 10686  func (s *StopQueryInput) SetQueryId(v string) *StopQueryInput {
 10687  	s.QueryId = &v
 10688  	return s
 10689  }
 10690  
 10691  type 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".
 10703  func (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".
 10712  func (s StopQueryOutput) GoString() string {
 10713  	return s.String()
 10714  }
 10715  
 10716  // SetSuccess sets the Success field's value.
 10717  func (s *StopQueryOutput) SetSuccess(v bool) *StopQueryOutput {
 10718  	s.Success = &v
 10719  	return s
 10720  }
 10721  
 10722  // Represents a subscription filter.
 10723  type 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".
 10757  func (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".
 10766  func (s SubscriptionFilter) GoString() string {
 10767  	return s.String()
 10768  }
 10769  
 10770  // SetCreationTime sets the CreationTime field's value.
 10771  func (s *SubscriptionFilter) SetCreationTime(v int64) *SubscriptionFilter {
 10772  	s.CreationTime = &v
 10773  	return s
 10774  }
 10775  
 10776  // SetDestinationArn sets the DestinationArn field's value.
 10777  func (s *SubscriptionFilter) SetDestinationArn(v string) *SubscriptionFilter {
 10778  	s.DestinationArn = &v
 10779  	return s
 10780  }
 10781  
 10782  // SetDistribution sets the Distribution field's value.
 10783  func (s *SubscriptionFilter) SetDistribution(v string) *SubscriptionFilter {
 10784  	s.Distribution = &v
 10785  	return s
 10786  }
 10787  
 10788  // SetFilterName sets the FilterName field's value.
 10789  func (s *SubscriptionFilter) SetFilterName(v string) *SubscriptionFilter {
 10790  	s.FilterName = &v
 10791  	return s
 10792  }
 10793  
 10794  // SetFilterPattern sets the FilterPattern field's value.
 10795  func (s *SubscriptionFilter) SetFilterPattern(v string) *SubscriptionFilter {
 10796  	s.FilterPattern = &v
 10797  	return s
 10798  }
 10799  
 10800  // SetLogGroupName sets the LogGroupName field's value.
 10801  func (s *SubscriptionFilter) SetLogGroupName(v string) *SubscriptionFilter {
 10802  	s.LogGroupName = &v
 10803  	return s
 10804  }
 10805  
 10806  // SetRoleArn sets the RoleArn field's value.
 10807  func (s *SubscriptionFilter) SetRoleArn(v string) *SubscriptionFilter {
 10808  	s.RoleArn = &v
 10809  	return s
 10810  }
 10811  
 10812  type 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".
 10831  func (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".
 10840  func (s TagLogGroupInput) GoString() string {
 10841  	return s.String()
 10842  }
 10843  
 10844  // Validate inspects the fields of the type to determine if they are valid.
 10845  func (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.
 10867  func (s *TagLogGroupInput) SetLogGroupName(v string) *TagLogGroupInput {
 10868  	s.LogGroupName = &v
 10869  	return s
 10870  }
 10871  
 10872  // SetTags sets the Tags field's value.
 10873  func (s *TagLogGroupInput) SetTags(v map[string]*string) *TagLogGroupInput {
 10874  	s.Tags = v
 10875  	return s
 10876  }
 10877  
 10878  type 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".
 10887  func (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".
 10896  func (s TagLogGroupOutput) GoString() string {
 10897  	return s.String()
 10898  }
 10899  
 10900  type 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".
 10922  func (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".
 10931  func (s TestMetricFilterInput) GoString() string {
 10932  	return s.String()
 10933  }
 10934  
 10935  // Validate inspects the fields of the type to determine if they are valid.
 10936  func (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.
 10955  func (s *TestMetricFilterInput) SetFilterPattern(v string) *TestMetricFilterInput {
 10956  	s.FilterPattern = &v
 10957  	return s
 10958  }
 10959  
 10960  // SetLogEventMessages sets the LogEventMessages field's value.
 10961  func (s *TestMetricFilterInput) SetLogEventMessages(v []*string) *TestMetricFilterInput {
 10962  	s.LogEventMessages = v
 10963  	return s
 10964  }
 10965  
 10966  type 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".
 10978  func (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".
 10987  func (s TestMetricFilterOutput) GoString() string {
 10988  	return s.String()
 10989  }
 10990  
 10991  // SetMatches sets the Matches field's value.
 10992  func (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.
 10999  type 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".
 11011  func (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".
 11020  func (s UnrecognizedClientException) GoString() string {
 11021  	return s.String()
 11022  }
 11023  
 11024  func newErrorUnrecognizedClientException(v protocol.ResponseMetadata) error {
 11025  	return &UnrecognizedClientException{
 11026  		RespMetadata: v,
 11027  	}
 11028  }
 11029  
 11030  // Code returns the exception type name.
 11031  func (s *UnrecognizedClientException) Code() string {
 11032  	return "UnrecognizedClientException"
 11033  }
 11034  
 11035  // Message returns the exception's message.
 11036  func (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.
 11044  func (s *UnrecognizedClientException) OrigErr() error {
 11045  	return nil
 11046  }
 11047  
 11048  func (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.
 11053  func (s *UnrecognizedClientException) StatusCode() int {
 11054  	return s.RespMetadata.StatusCode
 11055  }
 11056  
 11057  // RequestID returns the service's response RequestID for request.
 11058  func (s *UnrecognizedClientException) RequestID() string {
 11059  	return s.RespMetadata.RequestID
 11060  }
 11061  
 11062  type 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".
 11081  func (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".
 11090  func (s UntagLogGroupInput) GoString() string {
 11091  	return s.String()
 11092  }
 11093  
 11094  // Validate inspects the fields of the type to determine if they are valid.
 11095  func (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.
 11117  func (s *UntagLogGroupInput) SetLogGroupName(v string) *UntagLogGroupInput {
 11118  	s.LogGroupName = &v
 11119  	return s
 11120  }
 11121  
 11122  // SetTags sets the Tags field's value.
 11123  func (s *UntagLogGroupInput) SetTags(v []*string) *UntagLogGroupInput {
 11124  	s.Tags = v
 11125  	return s
 11126  }
 11127  
 11128  type 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".
 11137  func (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".
 11146  func (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.
 11152  const (
 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
 11161  func Distribution_Values() []string {
 11162  	return []string{
 11163  		DistributionRandom,
 11164  		DistributionByLogStream,
 11165  	}
 11166  }
 11167  
 11168  const (
 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
 11189  func ExportTaskStatusCode_Values() []string {
 11190  	return []string{
 11191  		ExportTaskStatusCodeCancelled,
 11192  		ExportTaskStatusCodeCompleted,
 11193  		ExportTaskStatusCodeFailed,
 11194  		ExportTaskStatusCodePending,
 11195  		ExportTaskStatusCodePendingCancel,
 11196  		ExportTaskStatusCodeRunning,
 11197  	}
 11198  }
 11199  
 11200  const (
 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
 11209  func OrderBy_Values() []string {
 11210  	return []string{
 11211  		OrderByLogStreamName,
 11212  		OrderByLastEventTime,
 11213  	}
 11214  }
 11215  
 11216  const (
 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
 11240  func QueryStatus_Values() []string {
 11241  	return []string{
 11242  		QueryStatusScheduled,
 11243  		QueryStatusRunning,
 11244  		QueryStatusComplete,
 11245  		QueryStatusFailed,
 11246  		QueryStatusCancelled,
 11247  		QueryStatusTimeout,
 11248  		QueryStatusUnknown,
 11249  	}
 11250  }
 11251  
 11252  const (
 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
 11336  func 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  }