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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package iotanalytics
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opBatchPutMessage = "BatchPutMessage"
    17  
    18  // BatchPutMessageRequest generates a "aws/request.Request" representing the
    19  // client's request for the BatchPutMessage operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See BatchPutMessage for more information on using the BatchPutMessage
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the BatchPutMessageRequest method.
    34  //    req, resp := client.BatchPutMessageRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/BatchPutMessage
    42  func (c *IoTAnalytics) BatchPutMessageRequest(input *BatchPutMessageInput) (req *request.Request, output *BatchPutMessageOutput) {
    43  	op := &request.Operation{
    44  		Name:       opBatchPutMessage,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/messages/batch",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &BatchPutMessageInput{}
    51  	}
    52  
    53  	output = &BatchPutMessageOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // BatchPutMessage API operation for AWS IoT Analytics.
    59  //
    60  // Sends messages to a channel.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for AWS IoT Analytics's
    67  // API operation BatchPutMessage for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * ResourceNotFoundException
    71  //   A resource with the specified name could not be found.
    72  //
    73  //   * InvalidRequestException
    74  //   The request was not valid.
    75  //
    76  //   * InternalFailureException
    77  //   There was an internal failure.
    78  //
    79  //   * ServiceUnavailableException
    80  //   The service is temporarily unavailable.
    81  //
    82  //   * ThrottlingException
    83  //   The request was denied due to request throttling.
    84  //
    85  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/BatchPutMessage
    86  func (c *IoTAnalytics) BatchPutMessage(input *BatchPutMessageInput) (*BatchPutMessageOutput, error) {
    87  	req, out := c.BatchPutMessageRequest(input)
    88  	return out, req.Send()
    89  }
    90  
    91  // BatchPutMessageWithContext is the same as BatchPutMessage with the addition of
    92  // the ability to pass a context and additional request options.
    93  //
    94  // See BatchPutMessage for details on how to use this API operation.
    95  //
    96  // The context must be non-nil and will be used for request cancellation. If
    97  // the context is nil a panic will occur. In the future the SDK may create
    98  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    99  // for more information on using Contexts.
   100  func (c *IoTAnalytics) BatchPutMessageWithContext(ctx aws.Context, input *BatchPutMessageInput, opts ...request.Option) (*BatchPutMessageOutput, error) {
   101  	req, out := c.BatchPutMessageRequest(input)
   102  	req.SetContext(ctx)
   103  	req.ApplyOptions(opts...)
   104  	return out, req.Send()
   105  }
   106  
   107  const opCancelPipelineReprocessing = "CancelPipelineReprocessing"
   108  
   109  // CancelPipelineReprocessingRequest generates a "aws/request.Request" representing the
   110  // client's request for the CancelPipelineReprocessing operation. The "output" return
   111  // value will be populated with the request's response once the request completes
   112  // successfully.
   113  //
   114  // Use "Send" method on the returned Request to send the API call to the service.
   115  // the "output" return value is not valid until after Send returns without error.
   116  //
   117  // See CancelPipelineReprocessing for more information on using the CancelPipelineReprocessing
   118  // API call, and error handling.
   119  //
   120  // This method is useful when you want to inject custom logic or configuration
   121  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   122  //
   123  //
   124  //    // Example sending a request using the CancelPipelineReprocessingRequest method.
   125  //    req, resp := client.CancelPipelineReprocessingRequest(params)
   126  //
   127  //    err := req.Send()
   128  //    if err == nil { // resp is now filled
   129  //        fmt.Println(resp)
   130  //    }
   131  //
   132  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CancelPipelineReprocessing
   133  func (c *IoTAnalytics) CancelPipelineReprocessingRequest(input *CancelPipelineReprocessingInput) (req *request.Request, output *CancelPipelineReprocessingOutput) {
   134  	op := &request.Operation{
   135  		Name:       opCancelPipelineReprocessing,
   136  		HTTPMethod: "DELETE",
   137  		HTTPPath:   "/pipelines/{pipelineName}/reprocessing/{reprocessingId}",
   138  	}
   139  
   140  	if input == nil {
   141  		input = &CancelPipelineReprocessingInput{}
   142  	}
   143  
   144  	output = &CancelPipelineReprocessingOutput{}
   145  	req = c.newRequest(op, input, output)
   146  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   147  	return
   148  }
   149  
   150  // CancelPipelineReprocessing API operation for AWS IoT Analytics.
   151  //
   152  // Cancels the reprocessing of data through the pipeline.
   153  //
   154  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   155  // with awserr.Error's Code and Message methods to get detailed information about
   156  // the error.
   157  //
   158  // See the AWS API reference guide for AWS IoT Analytics's
   159  // API operation CancelPipelineReprocessing for usage and error information.
   160  //
   161  // Returned Error Types:
   162  //   * ResourceNotFoundException
   163  //   A resource with the specified name could not be found.
   164  //
   165  //   * InvalidRequestException
   166  //   The request was not valid.
   167  //
   168  //   * InternalFailureException
   169  //   There was an internal failure.
   170  //
   171  //   * ServiceUnavailableException
   172  //   The service is temporarily unavailable.
   173  //
   174  //   * ThrottlingException
   175  //   The request was denied due to request throttling.
   176  //
   177  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CancelPipelineReprocessing
   178  func (c *IoTAnalytics) CancelPipelineReprocessing(input *CancelPipelineReprocessingInput) (*CancelPipelineReprocessingOutput, error) {
   179  	req, out := c.CancelPipelineReprocessingRequest(input)
   180  	return out, req.Send()
   181  }
   182  
   183  // CancelPipelineReprocessingWithContext is the same as CancelPipelineReprocessing with the addition of
   184  // the ability to pass a context and additional request options.
   185  //
   186  // See CancelPipelineReprocessing for details on how to use this API operation.
   187  //
   188  // The context must be non-nil and will be used for request cancellation. If
   189  // the context is nil a panic will occur. In the future the SDK may create
   190  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   191  // for more information on using Contexts.
   192  func (c *IoTAnalytics) CancelPipelineReprocessingWithContext(ctx aws.Context, input *CancelPipelineReprocessingInput, opts ...request.Option) (*CancelPipelineReprocessingOutput, error) {
   193  	req, out := c.CancelPipelineReprocessingRequest(input)
   194  	req.SetContext(ctx)
   195  	req.ApplyOptions(opts...)
   196  	return out, req.Send()
   197  }
   198  
   199  const opCreateChannel = "CreateChannel"
   200  
   201  // CreateChannelRequest generates a "aws/request.Request" representing the
   202  // client's request for the CreateChannel operation. The "output" return
   203  // value will be populated with the request's response once the request completes
   204  // successfully.
   205  //
   206  // Use "Send" method on the returned Request to send the API call to the service.
   207  // the "output" return value is not valid until after Send returns without error.
   208  //
   209  // See CreateChannel for more information on using the CreateChannel
   210  // API call, and error handling.
   211  //
   212  // This method is useful when you want to inject custom logic or configuration
   213  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   214  //
   215  //
   216  //    // Example sending a request using the CreateChannelRequest method.
   217  //    req, resp := client.CreateChannelRequest(params)
   218  //
   219  //    err := req.Send()
   220  //    if err == nil { // resp is now filled
   221  //        fmt.Println(resp)
   222  //    }
   223  //
   224  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CreateChannel
   225  func (c *IoTAnalytics) CreateChannelRequest(input *CreateChannelInput) (req *request.Request, output *CreateChannelOutput) {
   226  	op := &request.Operation{
   227  		Name:       opCreateChannel,
   228  		HTTPMethod: "POST",
   229  		HTTPPath:   "/channels",
   230  	}
   231  
   232  	if input == nil {
   233  		input = &CreateChannelInput{}
   234  	}
   235  
   236  	output = &CreateChannelOutput{}
   237  	req = c.newRequest(op, input, output)
   238  	return
   239  }
   240  
   241  // CreateChannel API operation for AWS IoT Analytics.
   242  //
   243  // Used to create a channel. A channel collects data from an MQTT topic and
   244  // archives the raw, unprocessed messages before publishing the data to a pipeline.
   245  //
   246  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   247  // with awserr.Error's Code and Message methods to get detailed information about
   248  // the error.
   249  //
   250  // See the AWS API reference guide for AWS IoT Analytics's
   251  // API operation CreateChannel for usage and error information.
   252  //
   253  // Returned Error Types:
   254  //   * InvalidRequestException
   255  //   The request was not valid.
   256  //
   257  //   * ResourceAlreadyExistsException
   258  //   A resource with the same name already exists.
   259  //
   260  //   * InternalFailureException
   261  //   There was an internal failure.
   262  //
   263  //   * ServiceUnavailableException
   264  //   The service is temporarily unavailable.
   265  //
   266  //   * ThrottlingException
   267  //   The request was denied due to request throttling.
   268  //
   269  //   * LimitExceededException
   270  //   The command caused an internal limit to be exceeded.
   271  //
   272  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CreateChannel
   273  func (c *IoTAnalytics) CreateChannel(input *CreateChannelInput) (*CreateChannelOutput, error) {
   274  	req, out := c.CreateChannelRequest(input)
   275  	return out, req.Send()
   276  }
   277  
   278  // CreateChannelWithContext is the same as CreateChannel with the addition of
   279  // the ability to pass a context and additional request options.
   280  //
   281  // See CreateChannel for details on how to use this API operation.
   282  //
   283  // The context must be non-nil and will be used for request cancellation. If
   284  // the context is nil a panic will occur. In the future the SDK may create
   285  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   286  // for more information on using Contexts.
   287  func (c *IoTAnalytics) CreateChannelWithContext(ctx aws.Context, input *CreateChannelInput, opts ...request.Option) (*CreateChannelOutput, error) {
   288  	req, out := c.CreateChannelRequest(input)
   289  	req.SetContext(ctx)
   290  	req.ApplyOptions(opts...)
   291  	return out, req.Send()
   292  }
   293  
   294  const opCreateDataset = "CreateDataset"
   295  
   296  // CreateDatasetRequest generates a "aws/request.Request" representing the
   297  // client's request for the CreateDataset operation. The "output" return
   298  // value will be populated with the request's response once the request completes
   299  // successfully.
   300  //
   301  // Use "Send" method on the returned Request to send the API call to the service.
   302  // the "output" return value is not valid until after Send returns without error.
   303  //
   304  // See CreateDataset for more information on using the CreateDataset
   305  // API call, and error handling.
   306  //
   307  // This method is useful when you want to inject custom logic or configuration
   308  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   309  //
   310  //
   311  //    // Example sending a request using the CreateDatasetRequest method.
   312  //    req, resp := client.CreateDatasetRequest(params)
   313  //
   314  //    err := req.Send()
   315  //    if err == nil { // resp is now filled
   316  //        fmt.Println(resp)
   317  //    }
   318  //
   319  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CreateDataset
   320  func (c *IoTAnalytics) CreateDatasetRequest(input *CreateDatasetInput) (req *request.Request, output *CreateDatasetOutput) {
   321  	op := &request.Operation{
   322  		Name:       opCreateDataset,
   323  		HTTPMethod: "POST",
   324  		HTTPPath:   "/datasets",
   325  	}
   326  
   327  	if input == nil {
   328  		input = &CreateDatasetInput{}
   329  	}
   330  
   331  	output = &CreateDatasetOutput{}
   332  	req = c.newRequest(op, input, output)
   333  	return
   334  }
   335  
   336  // CreateDataset API operation for AWS IoT Analytics.
   337  //
   338  // Used to create a dataset. A dataset stores data retrieved from a data store
   339  // by applying a queryAction (a SQL query) or a containerAction (executing a
   340  // containerized application). This operation creates the skeleton of a dataset.
   341  // The dataset can be populated manually by calling CreateDatasetContent or
   342  // automatically according to a trigger you specify.
   343  //
   344  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   345  // with awserr.Error's Code and Message methods to get detailed information about
   346  // the error.
   347  //
   348  // See the AWS API reference guide for AWS IoT Analytics's
   349  // API operation CreateDataset for usage and error information.
   350  //
   351  // Returned Error Types:
   352  //   * InvalidRequestException
   353  //   The request was not valid.
   354  //
   355  //   * ResourceAlreadyExistsException
   356  //   A resource with the same name already exists.
   357  //
   358  //   * InternalFailureException
   359  //   There was an internal failure.
   360  //
   361  //   * ServiceUnavailableException
   362  //   The service is temporarily unavailable.
   363  //
   364  //   * ThrottlingException
   365  //   The request was denied due to request throttling.
   366  //
   367  //   * LimitExceededException
   368  //   The command caused an internal limit to be exceeded.
   369  //
   370  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CreateDataset
   371  func (c *IoTAnalytics) CreateDataset(input *CreateDatasetInput) (*CreateDatasetOutput, error) {
   372  	req, out := c.CreateDatasetRequest(input)
   373  	return out, req.Send()
   374  }
   375  
   376  // CreateDatasetWithContext is the same as CreateDataset with the addition of
   377  // the ability to pass a context and additional request options.
   378  //
   379  // See CreateDataset for details on how to use this API operation.
   380  //
   381  // The context must be non-nil and will be used for request cancellation. If
   382  // the context is nil a panic will occur. In the future the SDK may create
   383  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   384  // for more information on using Contexts.
   385  func (c *IoTAnalytics) CreateDatasetWithContext(ctx aws.Context, input *CreateDatasetInput, opts ...request.Option) (*CreateDatasetOutput, error) {
   386  	req, out := c.CreateDatasetRequest(input)
   387  	req.SetContext(ctx)
   388  	req.ApplyOptions(opts...)
   389  	return out, req.Send()
   390  }
   391  
   392  const opCreateDatasetContent = "CreateDatasetContent"
   393  
   394  // CreateDatasetContentRequest generates a "aws/request.Request" representing the
   395  // client's request for the CreateDatasetContent operation. The "output" return
   396  // value will be populated with the request's response once the request completes
   397  // successfully.
   398  //
   399  // Use "Send" method on the returned Request to send the API call to the service.
   400  // the "output" return value is not valid until after Send returns without error.
   401  //
   402  // See CreateDatasetContent for more information on using the CreateDatasetContent
   403  // API call, and error handling.
   404  //
   405  // This method is useful when you want to inject custom logic or configuration
   406  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   407  //
   408  //
   409  //    // Example sending a request using the CreateDatasetContentRequest method.
   410  //    req, resp := client.CreateDatasetContentRequest(params)
   411  //
   412  //    err := req.Send()
   413  //    if err == nil { // resp is now filled
   414  //        fmt.Println(resp)
   415  //    }
   416  //
   417  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CreateDatasetContent
   418  func (c *IoTAnalytics) CreateDatasetContentRequest(input *CreateDatasetContentInput) (req *request.Request, output *CreateDatasetContentOutput) {
   419  	op := &request.Operation{
   420  		Name:       opCreateDatasetContent,
   421  		HTTPMethod: "POST",
   422  		HTTPPath:   "/datasets/{datasetName}/content",
   423  	}
   424  
   425  	if input == nil {
   426  		input = &CreateDatasetContentInput{}
   427  	}
   428  
   429  	output = &CreateDatasetContentOutput{}
   430  	req = c.newRequest(op, input, output)
   431  	return
   432  }
   433  
   434  // CreateDatasetContent API operation for AWS IoT Analytics.
   435  //
   436  // Creates the content of a dataset by applying a queryAction (a SQL query)
   437  // or a containerAction (executing a containerized application).
   438  //
   439  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   440  // with awserr.Error's Code and Message methods to get detailed information about
   441  // the error.
   442  //
   443  // See the AWS API reference guide for AWS IoT Analytics's
   444  // API operation CreateDatasetContent for usage and error information.
   445  //
   446  // Returned Error Types:
   447  //   * InvalidRequestException
   448  //   The request was not valid.
   449  //
   450  //   * ResourceNotFoundException
   451  //   A resource with the specified name could not be found.
   452  //
   453  //   * InternalFailureException
   454  //   There was an internal failure.
   455  //
   456  //   * ServiceUnavailableException
   457  //   The service is temporarily unavailable.
   458  //
   459  //   * ThrottlingException
   460  //   The request was denied due to request throttling.
   461  //
   462  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CreateDatasetContent
   463  func (c *IoTAnalytics) CreateDatasetContent(input *CreateDatasetContentInput) (*CreateDatasetContentOutput, error) {
   464  	req, out := c.CreateDatasetContentRequest(input)
   465  	return out, req.Send()
   466  }
   467  
   468  // CreateDatasetContentWithContext is the same as CreateDatasetContent with the addition of
   469  // the ability to pass a context and additional request options.
   470  //
   471  // See CreateDatasetContent for details on how to use this API operation.
   472  //
   473  // The context must be non-nil and will be used for request cancellation. If
   474  // the context is nil a panic will occur. In the future the SDK may create
   475  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   476  // for more information on using Contexts.
   477  func (c *IoTAnalytics) CreateDatasetContentWithContext(ctx aws.Context, input *CreateDatasetContentInput, opts ...request.Option) (*CreateDatasetContentOutput, error) {
   478  	req, out := c.CreateDatasetContentRequest(input)
   479  	req.SetContext(ctx)
   480  	req.ApplyOptions(opts...)
   481  	return out, req.Send()
   482  }
   483  
   484  const opCreateDatastore = "CreateDatastore"
   485  
   486  // CreateDatastoreRequest generates a "aws/request.Request" representing the
   487  // client's request for the CreateDatastore operation. The "output" return
   488  // value will be populated with the request's response once the request completes
   489  // successfully.
   490  //
   491  // Use "Send" method on the returned Request to send the API call to the service.
   492  // the "output" return value is not valid until after Send returns without error.
   493  //
   494  // See CreateDatastore for more information on using the CreateDatastore
   495  // API call, and error handling.
   496  //
   497  // This method is useful when you want to inject custom logic or configuration
   498  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   499  //
   500  //
   501  //    // Example sending a request using the CreateDatastoreRequest method.
   502  //    req, resp := client.CreateDatastoreRequest(params)
   503  //
   504  //    err := req.Send()
   505  //    if err == nil { // resp is now filled
   506  //        fmt.Println(resp)
   507  //    }
   508  //
   509  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CreateDatastore
   510  func (c *IoTAnalytics) CreateDatastoreRequest(input *CreateDatastoreInput) (req *request.Request, output *CreateDatastoreOutput) {
   511  	op := &request.Operation{
   512  		Name:       opCreateDatastore,
   513  		HTTPMethod: "POST",
   514  		HTTPPath:   "/datastores",
   515  	}
   516  
   517  	if input == nil {
   518  		input = &CreateDatastoreInput{}
   519  	}
   520  
   521  	output = &CreateDatastoreOutput{}
   522  	req = c.newRequest(op, input, output)
   523  	return
   524  }
   525  
   526  // CreateDatastore API operation for AWS IoT Analytics.
   527  //
   528  // Creates a data store, which is a repository for messages.
   529  //
   530  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   531  // with awserr.Error's Code and Message methods to get detailed information about
   532  // the error.
   533  //
   534  // See the AWS API reference guide for AWS IoT Analytics's
   535  // API operation CreateDatastore for usage and error information.
   536  //
   537  // Returned Error Types:
   538  //   * InvalidRequestException
   539  //   The request was not valid.
   540  //
   541  //   * ResourceAlreadyExistsException
   542  //   A resource with the same name already exists.
   543  //
   544  //   * InternalFailureException
   545  //   There was an internal failure.
   546  //
   547  //   * ServiceUnavailableException
   548  //   The service is temporarily unavailable.
   549  //
   550  //   * ThrottlingException
   551  //   The request was denied due to request throttling.
   552  //
   553  //   * LimitExceededException
   554  //   The command caused an internal limit to be exceeded.
   555  //
   556  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CreateDatastore
   557  func (c *IoTAnalytics) CreateDatastore(input *CreateDatastoreInput) (*CreateDatastoreOutput, error) {
   558  	req, out := c.CreateDatastoreRequest(input)
   559  	return out, req.Send()
   560  }
   561  
   562  // CreateDatastoreWithContext is the same as CreateDatastore with the addition of
   563  // the ability to pass a context and additional request options.
   564  //
   565  // See CreateDatastore for details on how to use this API operation.
   566  //
   567  // The context must be non-nil and will be used for request cancellation. If
   568  // the context is nil a panic will occur. In the future the SDK may create
   569  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   570  // for more information on using Contexts.
   571  func (c *IoTAnalytics) CreateDatastoreWithContext(ctx aws.Context, input *CreateDatastoreInput, opts ...request.Option) (*CreateDatastoreOutput, error) {
   572  	req, out := c.CreateDatastoreRequest(input)
   573  	req.SetContext(ctx)
   574  	req.ApplyOptions(opts...)
   575  	return out, req.Send()
   576  }
   577  
   578  const opCreatePipeline = "CreatePipeline"
   579  
   580  // CreatePipelineRequest generates a "aws/request.Request" representing the
   581  // client's request for the CreatePipeline operation. The "output" return
   582  // value will be populated with the request's response once the request completes
   583  // successfully.
   584  //
   585  // Use "Send" method on the returned Request to send the API call to the service.
   586  // the "output" return value is not valid until after Send returns without error.
   587  //
   588  // See CreatePipeline for more information on using the CreatePipeline
   589  // API call, and error handling.
   590  //
   591  // This method is useful when you want to inject custom logic or configuration
   592  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   593  //
   594  //
   595  //    // Example sending a request using the CreatePipelineRequest method.
   596  //    req, resp := client.CreatePipelineRequest(params)
   597  //
   598  //    err := req.Send()
   599  //    if err == nil { // resp is now filled
   600  //        fmt.Println(resp)
   601  //    }
   602  //
   603  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CreatePipeline
   604  func (c *IoTAnalytics) CreatePipelineRequest(input *CreatePipelineInput) (req *request.Request, output *CreatePipelineOutput) {
   605  	op := &request.Operation{
   606  		Name:       opCreatePipeline,
   607  		HTTPMethod: "POST",
   608  		HTTPPath:   "/pipelines",
   609  	}
   610  
   611  	if input == nil {
   612  		input = &CreatePipelineInput{}
   613  	}
   614  
   615  	output = &CreatePipelineOutput{}
   616  	req = c.newRequest(op, input, output)
   617  	return
   618  }
   619  
   620  // CreatePipeline API operation for AWS IoT Analytics.
   621  //
   622  // Creates a pipeline. A pipeline consumes messages from a channel and allows
   623  // you to process the messages before storing them in a data store. You must
   624  // specify both a channel and a datastore activity and, optionally, as many
   625  // as 23 additional activities in the pipelineActivities array.
   626  //
   627  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   628  // with awserr.Error's Code and Message methods to get detailed information about
   629  // the error.
   630  //
   631  // See the AWS API reference guide for AWS IoT Analytics's
   632  // API operation CreatePipeline for usage and error information.
   633  //
   634  // Returned Error Types:
   635  //   * InvalidRequestException
   636  //   The request was not valid.
   637  //
   638  //   * ResourceAlreadyExistsException
   639  //   A resource with the same name already exists.
   640  //
   641  //   * InternalFailureException
   642  //   There was an internal failure.
   643  //
   644  //   * ServiceUnavailableException
   645  //   The service is temporarily unavailable.
   646  //
   647  //   * ThrottlingException
   648  //   The request was denied due to request throttling.
   649  //
   650  //   * LimitExceededException
   651  //   The command caused an internal limit to be exceeded.
   652  //
   653  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/CreatePipeline
   654  func (c *IoTAnalytics) CreatePipeline(input *CreatePipelineInput) (*CreatePipelineOutput, error) {
   655  	req, out := c.CreatePipelineRequest(input)
   656  	return out, req.Send()
   657  }
   658  
   659  // CreatePipelineWithContext is the same as CreatePipeline with the addition of
   660  // the ability to pass a context and additional request options.
   661  //
   662  // See CreatePipeline for details on how to use this API operation.
   663  //
   664  // The context must be non-nil and will be used for request cancellation. If
   665  // the context is nil a panic will occur. In the future the SDK may create
   666  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   667  // for more information on using Contexts.
   668  func (c *IoTAnalytics) CreatePipelineWithContext(ctx aws.Context, input *CreatePipelineInput, opts ...request.Option) (*CreatePipelineOutput, error) {
   669  	req, out := c.CreatePipelineRequest(input)
   670  	req.SetContext(ctx)
   671  	req.ApplyOptions(opts...)
   672  	return out, req.Send()
   673  }
   674  
   675  const opDeleteChannel = "DeleteChannel"
   676  
   677  // DeleteChannelRequest generates a "aws/request.Request" representing the
   678  // client's request for the DeleteChannel operation. The "output" return
   679  // value will be populated with the request's response once the request completes
   680  // successfully.
   681  //
   682  // Use "Send" method on the returned Request to send the API call to the service.
   683  // the "output" return value is not valid until after Send returns without error.
   684  //
   685  // See DeleteChannel for more information on using the DeleteChannel
   686  // API call, and error handling.
   687  //
   688  // This method is useful when you want to inject custom logic or configuration
   689  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   690  //
   691  //
   692  //    // Example sending a request using the DeleteChannelRequest method.
   693  //    req, resp := client.DeleteChannelRequest(params)
   694  //
   695  //    err := req.Send()
   696  //    if err == nil { // resp is now filled
   697  //        fmt.Println(resp)
   698  //    }
   699  //
   700  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DeleteChannel
   701  func (c *IoTAnalytics) DeleteChannelRequest(input *DeleteChannelInput) (req *request.Request, output *DeleteChannelOutput) {
   702  	op := &request.Operation{
   703  		Name:       opDeleteChannel,
   704  		HTTPMethod: "DELETE",
   705  		HTTPPath:   "/channels/{channelName}",
   706  	}
   707  
   708  	if input == nil {
   709  		input = &DeleteChannelInput{}
   710  	}
   711  
   712  	output = &DeleteChannelOutput{}
   713  	req = c.newRequest(op, input, output)
   714  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   715  	return
   716  }
   717  
   718  // DeleteChannel API operation for AWS IoT Analytics.
   719  //
   720  // Deletes the specified channel.
   721  //
   722  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   723  // with awserr.Error's Code and Message methods to get detailed information about
   724  // the error.
   725  //
   726  // See the AWS API reference guide for AWS IoT Analytics's
   727  // API operation DeleteChannel for usage and error information.
   728  //
   729  // Returned Error Types:
   730  //   * InvalidRequestException
   731  //   The request was not valid.
   732  //
   733  //   * ResourceNotFoundException
   734  //   A resource with the specified name could not be found.
   735  //
   736  //   * InternalFailureException
   737  //   There was an internal failure.
   738  //
   739  //   * ServiceUnavailableException
   740  //   The service is temporarily unavailable.
   741  //
   742  //   * ThrottlingException
   743  //   The request was denied due to request throttling.
   744  //
   745  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DeleteChannel
   746  func (c *IoTAnalytics) DeleteChannel(input *DeleteChannelInput) (*DeleteChannelOutput, error) {
   747  	req, out := c.DeleteChannelRequest(input)
   748  	return out, req.Send()
   749  }
   750  
   751  // DeleteChannelWithContext is the same as DeleteChannel with the addition of
   752  // the ability to pass a context and additional request options.
   753  //
   754  // See DeleteChannel for details on how to use this API operation.
   755  //
   756  // The context must be non-nil and will be used for request cancellation. If
   757  // the context is nil a panic will occur. In the future the SDK may create
   758  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   759  // for more information on using Contexts.
   760  func (c *IoTAnalytics) DeleteChannelWithContext(ctx aws.Context, input *DeleteChannelInput, opts ...request.Option) (*DeleteChannelOutput, error) {
   761  	req, out := c.DeleteChannelRequest(input)
   762  	req.SetContext(ctx)
   763  	req.ApplyOptions(opts...)
   764  	return out, req.Send()
   765  }
   766  
   767  const opDeleteDataset = "DeleteDataset"
   768  
   769  // DeleteDatasetRequest generates a "aws/request.Request" representing the
   770  // client's request for the DeleteDataset operation. The "output" return
   771  // value will be populated with the request's response once the request completes
   772  // successfully.
   773  //
   774  // Use "Send" method on the returned Request to send the API call to the service.
   775  // the "output" return value is not valid until after Send returns without error.
   776  //
   777  // See DeleteDataset for more information on using the DeleteDataset
   778  // API call, and error handling.
   779  //
   780  // This method is useful when you want to inject custom logic or configuration
   781  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   782  //
   783  //
   784  //    // Example sending a request using the DeleteDatasetRequest method.
   785  //    req, resp := client.DeleteDatasetRequest(params)
   786  //
   787  //    err := req.Send()
   788  //    if err == nil { // resp is now filled
   789  //        fmt.Println(resp)
   790  //    }
   791  //
   792  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DeleteDataset
   793  func (c *IoTAnalytics) DeleteDatasetRequest(input *DeleteDatasetInput) (req *request.Request, output *DeleteDatasetOutput) {
   794  	op := &request.Operation{
   795  		Name:       opDeleteDataset,
   796  		HTTPMethod: "DELETE",
   797  		HTTPPath:   "/datasets/{datasetName}",
   798  	}
   799  
   800  	if input == nil {
   801  		input = &DeleteDatasetInput{}
   802  	}
   803  
   804  	output = &DeleteDatasetOutput{}
   805  	req = c.newRequest(op, input, output)
   806  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   807  	return
   808  }
   809  
   810  // DeleteDataset API operation for AWS IoT Analytics.
   811  //
   812  // Deletes the specified dataset.
   813  //
   814  // You do not have to delete the content of the dataset before you perform this
   815  // operation.
   816  //
   817  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   818  // with awserr.Error's Code and Message methods to get detailed information about
   819  // the error.
   820  //
   821  // See the AWS API reference guide for AWS IoT Analytics's
   822  // API operation DeleteDataset for usage and error information.
   823  //
   824  // Returned Error Types:
   825  //   * InvalidRequestException
   826  //   The request was not valid.
   827  //
   828  //   * ResourceNotFoundException
   829  //   A resource with the specified name could not be found.
   830  //
   831  //   * InternalFailureException
   832  //   There was an internal failure.
   833  //
   834  //   * ServiceUnavailableException
   835  //   The service is temporarily unavailable.
   836  //
   837  //   * ThrottlingException
   838  //   The request was denied due to request throttling.
   839  //
   840  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DeleteDataset
   841  func (c *IoTAnalytics) DeleteDataset(input *DeleteDatasetInput) (*DeleteDatasetOutput, error) {
   842  	req, out := c.DeleteDatasetRequest(input)
   843  	return out, req.Send()
   844  }
   845  
   846  // DeleteDatasetWithContext is the same as DeleteDataset with the addition of
   847  // the ability to pass a context and additional request options.
   848  //
   849  // See DeleteDataset for details on how to use this API operation.
   850  //
   851  // The context must be non-nil and will be used for request cancellation. If
   852  // the context is nil a panic will occur. In the future the SDK may create
   853  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   854  // for more information on using Contexts.
   855  func (c *IoTAnalytics) DeleteDatasetWithContext(ctx aws.Context, input *DeleteDatasetInput, opts ...request.Option) (*DeleteDatasetOutput, error) {
   856  	req, out := c.DeleteDatasetRequest(input)
   857  	req.SetContext(ctx)
   858  	req.ApplyOptions(opts...)
   859  	return out, req.Send()
   860  }
   861  
   862  const opDeleteDatasetContent = "DeleteDatasetContent"
   863  
   864  // DeleteDatasetContentRequest generates a "aws/request.Request" representing the
   865  // client's request for the DeleteDatasetContent operation. The "output" return
   866  // value will be populated with the request's response once the request completes
   867  // successfully.
   868  //
   869  // Use "Send" method on the returned Request to send the API call to the service.
   870  // the "output" return value is not valid until after Send returns without error.
   871  //
   872  // See DeleteDatasetContent for more information on using the DeleteDatasetContent
   873  // API call, and error handling.
   874  //
   875  // This method is useful when you want to inject custom logic or configuration
   876  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   877  //
   878  //
   879  //    // Example sending a request using the DeleteDatasetContentRequest method.
   880  //    req, resp := client.DeleteDatasetContentRequest(params)
   881  //
   882  //    err := req.Send()
   883  //    if err == nil { // resp is now filled
   884  //        fmt.Println(resp)
   885  //    }
   886  //
   887  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DeleteDatasetContent
   888  func (c *IoTAnalytics) DeleteDatasetContentRequest(input *DeleteDatasetContentInput) (req *request.Request, output *DeleteDatasetContentOutput) {
   889  	op := &request.Operation{
   890  		Name:       opDeleteDatasetContent,
   891  		HTTPMethod: "DELETE",
   892  		HTTPPath:   "/datasets/{datasetName}/content",
   893  	}
   894  
   895  	if input == nil {
   896  		input = &DeleteDatasetContentInput{}
   897  	}
   898  
   899  	output = &DeleteDatasetContentOutput{}
   900  	req = c.newRequest(op, input, output)
   901  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   902  	return
   903  }
   904  
   905  // DeleteDatasetContent API operation for AWS IoT Analytics.
   906  //
   907  // Deletes the content of the specified dataset.
   908  //
   909  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   910  // with awserr.Error's Code and Message methods to get detailed information about
   911  // the error.
   912  //
   913  // See the AWS API reference guide for AWS IoT Analytics's
   914  // API operation DeleteDatasetContent for usage and error information.
   915  //
   916  // Returned Error Types:
   917  //   * InvalidRequestException
   918  //   The request was not valid.
   919  //
   920  //   * ResourceNotFoundException
   921  //   A resource with the specified name could not be found.
   922  //
   923  //   * InternalFailureException
   924  //   There was an internal failure.
   925  //
   926  //   * ServiceUnavailableException
   927  //   The service is temporarily unavailable.
   928  //
   929  //   * ThrottlingException
   930  //   The request was denied due to request throttling.
   931  //
   932  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DeleteDatasetContent
   933  func (c *IoTAnalytics) DeleteDatasetContent(input *DeleteDatasetContentInput) (*DeleteDatasetContentOutput, error) {
   934  	req, out := c.DeleteDatasetContentRequest(input)
   935  	return out, req.Send()
   936  }
   937  
   938  // DeleteDatasetContentWithContext is the same as DeleteDatasetContent with the addition of
   939  // the ability to pass a context and additional request options.
   940  //
   941  // See DeleteDatasetContent for details on how to use this API operation.
   942  //
   943  // The context must be non-nil and will be used for request cancellation. If
   944  // the context is nil a panic will occur. In the future the SDK may create
   945  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   946  // for more information on using Contexts.
   947  func (c *IoTAnalytics) DeleteDatasetContentWithContext(ctx aws.Context, input *DeleteDatasetContentInput, opts ...request.Option) (*DeleteDatasetContentOutput, error) {
   948  	req, out := c.DeleteDatasetContentRequest(input)
   949  	req.SetContext(ctx)
   950  	req.ApplyOptions(opts...)
   951  	return out, req.Send()
   952  }
   953  
   954  const opDeleteDatastore = "DeleteDatastore"
   955  
   956  // DeleteDatastoreRequest generates a "aws/request.Request" representing the
   957  // client's request for the DeleteDatastore operation. The "output" return
   958  // value will be populated with the request's response once the request completes
   959  // successfully.
   960  //
   961  // Use "Send" method on the returned Request to send the API call to the service.
   962  // the "output" return value is not valid until after Send returns without error.
   963  //
   964  // See DeleteDatastore for more information on using the DeleteDatastore
   965  // API call, and error handling.
   966  //
   967  // This method is useful when you want to inject custom logic or configuration
   968  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   969  //
   970  //
   971  //    // Example sending a request using the DeleteDatastoreRequest method.
   972  //    req, resp := client.DeleteDatastoreRequest(params)
   973  //
   974  //    err := req.Send()
   975  //    if err == nil { // resp is now filled
   976  //        fmt.Println(resp)
   977  //    }
   978  //
   979  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DeleteDatastore
   980  func (c *IoTAnalytics) DeleteDatastoreRequest(input *DeleteDatastoreInput) (req *request.Request, output *DeleteDatastoreOutput) {
   981  	op := &request.Operation{
   982  		Name:       opDeleteDatastore,
   983  		HTTPMethod: "DELETE",
   984  		HTTPPath:   "/datastores/{datastoreName}",
   985  	}
   986  
   987  	if input == nil {
   988  		input = &DeleteDatastoreInput{}
   989  	}
   990  
   991  	output = &DeleteDatastoreOutput{}
   992  	req = c.newRequest(op, input, output)
   993  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   994  	return
   995  }
   996  
   997  // DeleteDatastore API operation for AWS IoT Analytics.
   998  //
   999  // Deletes the specified data store.
  1000  //
  1001  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1002  // with awserr.Error's Code and Message methods to get detailed information about
  1003  // the error.
  1004  //
  1005  // See the AWS API reference guide for AWS IoT Analytics's
  1006  // API operation DeleteDatastore for usage and error information.
  1007  //
  1008  // Returned Error Types:
  1009  //   * InvalidRequestException
  1010  //   The request was not valid.
  1011  //
  1012  //   * ResourceNotFoundException
  1013  //   A resource with the specified name could not be found.
  1014  //
  1015  //   * InternalFailureException
  1016  //   There was an internal failure.
  1017  //
  1018  //   * ServiceUnavailableException
  1019  //   The service is temporarily unavailable.
  1020  //
  1021  //   * ThrottlingException
  1022  //   The request was denied due to request throttling.
  1023  //
  1024  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DeleteDatastore
  1025  func (c *IoTAnalytics) DeleteDatastore(input *DeleteDatastoreInput) (*DeleteDatastoreOutput, error) {
  1026  	req, out := c.DeleteDatastoreRequest(input)
  1027  	return out, req.Send()
  1028  }
  1029  
  1030  // DeleteDatastoreWithContext is the same as DeleteDatastore with the addition of
  1031  // the ability to pass a context and additional request options.
  1032  //
  1033  // See DeleteDatastore for details on how to use this API operation.
  1034  //
  1035  // The context must be non-nil and will be used for request cancellation. If
  1036  // the context is nil a panic will occur. In the future the SDK may create
  1037  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1038  // for more information on using Contexts.
  1039  func (c *IoTAnalytics) DeleteDatastoreWithContext(ctx aws.Context, input *DeleteDatastoreInput, opts ...request.Option) (*DeleteDatastoreOutput, error) {
  1040  	req, out := c.DeleteDatastoreRequest(input)
  1041  	req.SetContext(ctx)
  1042  	req.ApplyOptions(opts...)
  1043  	return out, req.Send()
  1044  }
  1045  
  1046  const opDeletePipeline = "DeletePipeline"
  1047  
  1048  // DeletePipelineRequest generates a "aws/request.Request" representing the
  1049  // client's request for the DeletePipeline operation. The "output" return
  1050  // value will be populated with the request's response once the request completes
  1051  // successfully.
  1052  //
  1053  // Use "Send" method on the returned Request to send the API call to the service.
  1054  // the "output" return value is not valid until after Send returns without error.
  1055  //
  1056  // See DeletePipeline for more information on using the DeletePipeline
  1057  // API call, and error handling.
  1058  //
  1059  // This method is useful when you want to inject custom logic or configuration
  1060  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1061  //
  1062  //
  1063  //    // Example sending a request using the DeletePipelineRequest method.
  1064  //    req, resp := client.DeletePipelineRequest(params)
  1065  //
  1066  //    err := req.Send()
  1067  //    if err == nil { // resp is now filled
  1068  //        fmt.Println(resp)
  1069  //    }
  1070  //
  1071  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DeletePipeline
  1072  func (c *IoTAnalytics) DeletePipelineRequest(input *DeletePipelineInput) (req *request.Request, output *DeletePipelineOutput) {
  1073  	op := &request.Operation{
  1074  		Name:       opDeletePipeline,
  1075  		HTTPMethod: "DELETE",
  1076  		HTTPPath:   "/pipelines/{pipelineName}",
  1077  	}
  1078  
  1079  	if input == nil {
  1080  		input = &DeletePipelineInput{}
  1081  	}
  1082  
  1083  	output = &DeletePipelineOutput{}
  1084  	req = c.newRequest(op, input, output)
  1085  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1086  	return
  1087  }
  1088  
  1089  // DeletePipeline API operation for AWS IoT Analytics.
  1090  //
  1091  // Deletes the specified pipeline.
  1092  //
  1093  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1094  // with awserr.Error's Code and Message methods to get detailed information about
  1095  // the error.
  1096  //
  1097  // See the AWS API reference guide for AWS IoT Analytics's
  1098  // API operation DeletePipeline for usage and error information.
  1099  //
  1100  // Returned Error Types:
  1101  //   * InvalidRequestException
  1102  //   The request was not valid.
  1103  //
  1104  //   * ResourceNotFoundException
  1105  //   A resource with the specified name could not be found.
  1106  //
  1107  //   * InternalFailureException
  1108  //   There was an internal failure.
  1109  //
  1110  //   * ServiceUnavailableException
  1111  //   The service is temporarily unavailable.
  1112  //
  1113  //   * ThrottlingException
  1114  //   The request was denied due to request throttling.
  1115  //
  1116  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DeletePipeline
  1117  func (c *IoTAnalytics) DeletePipeline(input *DeletePipelineInput) (*DeletePipelineOutput, error) {
  1118  	req, out := c.DeletePipelineRequest(input)
  1119  	return out, req.Send()
  1120  }
  1121  
  1122  // DeletePipelineWithContext is the same as DeletePipeline with the addition of
  1123  // the ability to pass a context and additional request options.
  1124  //
  1125  // See DeletePipeline for details on how to use this API operation.
  1126  //
  1127  // The context must be non-nil and will be used for request cancellation. If
  1128  // the context is nil a panic will occur. In the future the SDK may create
  1129  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1130  // for more information on using Contexts.
  1131  func (c *IoTAnalytics) DeletePipelineWithContext(ctx aws.Context, input *DeletePipelineInput, opts ...request.Option) (*DeletePipelineOutput, error) {
  1132  	req, out := c.DeletePipelineRequest(input)
  1133  	req.SetContext(ctx)
  1134  	req.ApplyOptions(opts...)
  1135  	return out, req.Send()
  1136  }
  1137  
  1138  const opDescribeChannel = "DescribeChannel"
  1139  
  1140  // DescribeChannelRequest generates a "aws/request.Request" representing the
  1141  // client's request for the DescribeChannel operation. The "output" return
  1142  // value will be populated with the request's response once the request completes
  1143  // successfully.
  1144  //
  1145  // Use "Send" method on the returned Request to send the API call to the service.
  1146  // the "output" return value is not valid until after Send returns without error.
  1147  //
  1148  // See DescribeChannel for more information on using the DescribeChannel
  1149  // API call, and error handling.
  1150  //
  1151  // This method is useful when you want to inject custom logic or configuration
  1152  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1153  //
  1154  //
  1155  //    // Example sending a request using the DescribeChannelRequest method.
  1156  //    req, resp := client.DescribeChannelRequest(params)
  1157  //
  1158  //    err := req.Send()
  1159  //    if err == nil { // resp is now filled
  1160  //        fmt.Println(resp)
  1161  //    }
  1162  //
  1163  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DescribeChannel
  1164  func (c *IoTAnalytics) DescribeChannelRequest(input *DescribeChannelInput) (req *request.Request, output *DescribeChannelOutput) {
  1165  	op := &request.Operation{
  1166  		Name:       opDescribeChannel,
  1167  		HTTPMethod: "GET",
  1168  		HTTPPath:   "/channels/{channelName}",
  1169  	}
  1170  
  1171  	if input == nil {
  1172  		input = &DescribeChannelInput{}
  1173  	}
  1174  
  1175  	output = &DescribeChannelOutput{}
  1176  	req = c.newRequest(op, input, output)
  1177  	return
  1178  }
  1179  
  1180  // DescribeChannel API operation for AWS IoT Analytics.
  1181  //
  1182  // Retrieves information about a channel.
  1183  //
  1184  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1185  // with awserr.Error's Code and Message methods to get detailed information about
  1186  // the error.
  1187  //
  1188  // See the AWS API reference guide for AWS IoT Analytics's
  1189  // API operation DescribeChannel for usage and error information.
  1190  //
  1191  // Returned Error Types:
  1192  //   * InvalidRequestException
  1193  //   The request was not valid.
  1194  //
  1195  //   * ResourceNotFoundException
  1196  //   A resource with the specified name could not be found.
  1197  //
  1198  //   * InternalFailureException
  1199  //   There was an internal failure.
  1200  //
  1201  //   * ServiceUnavailableException
  1202  //   The service is temporarily unavailable.
  1203  //
  1204  //   * ThrottlingException
  1205  //   The request was denied due to request throttling.
  1206  //
  1207  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DescribeChannel
  1208  func (c *IoTAnalytics) DescribeChannel(input *DescribeChannelInput) (*DescribeChannelOutput, error) {
  1209  	req, out := c.DescribeChannelRequest(input)
  1210  	return out, req.Send()
  1211  }
  1212  
  1213  // DescribeChannelWithContext is the same as DescribeChannel with the addition of
  1214  // the ability to pass a context and additional request options.
  1215  //
  1216  // See DescribeChannel for details on how to use this API operation.
  1217  //
  1218  // The context must be non-nil and will be used for request cancellation. If
  1219  // the context is nil a panic will occur. In the future the SDK may create
  1220  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1221  // for more information on using Contexts.
  1222  func (c *IoTAnalytics) DescribeChannelWithContext(ctx aws.Context, input *DescribeChannelInput, opts ...request.Option) (*DescribeChannelOutput, error) {
  1223  	req, out := c.DescribeChannelRequest(input)
  1224  	req.SetContext(ctx)
  1225  	req.ApplyOptions(opts...)
  1226  	return out, req.Send()
  1227  }
  1228  
  1229  const opDescribeDataset = "DescribeDataset"
  1230  
  1231  // DescribeDatasetRequest generates a "aws/request.Request" representing the
  1232  // client's request for the DescribeDataset operation. The "output" return
  1233  // value will be populated with the request's response once the request completes
  1234  // successfully.
  1235  //
  1236  // Use "Send" method on the returned Request to send the API call to the service.
  1237  // the "output" return value is not valid until after Send returns without error.
  1238  //
  1239  // See DescribeDataset for more information on using the DescribeDataset
  1240  // API call, and error handling.
  1241  //
  1242  // This method is useful when you want to inject custom logic or configuration
  1243  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1244  //
  1245  //
  1246  //    // Example sending a request using the DescribeDatasetRequest method.
  1247  //    req, resp := client.DescribeDatasetRequest(params)
  1248  //
  1249  //    err := req.Send()
  1250  //    if err == nil { // resp is now filled
  1251  //        fmt.Println(resp)
  1252  //    }
  1253  //
  1254  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DescribeDataset
  1255  func (c *IoTAnalytics) DescribeDatasetRequest(input *DescribeDatasetInput) (req *request.Request, output *DescribeDatasetOutput) {
  1256  	op := &request.Operation{
  1257  		Name:       opDescribeDataset,
  1258  		HTTPMethod: "GET",
  1259  		HTTPPath:   "/datasets/{datasetName}",
  1260  	}
  1261  
  1262  	if input == nil {
  1263  		input = &DescribeDatasetInput{}
  1264  	}
  1265  
  1266  	output = &DescribeDatasetOutput{}
  1267  	req = c.newRequest(op, input, output)
  1268  	return
  1269  }
  1270  
  1271  // DescribeDataset API operation for AWS IoT Analytics.
  1272  //
  1273  // Retrieves information about a dataset.
  1274  //
  1275  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1276  // with awserr.Error's Code and Message methods to get detailed information about
  1277  // the error.
  1278  //
  1279  // See the AWS API reference guide for AWS IoT Analytics's
  1280  // API operation DescribeDataset for usage and error information.
  1281  //
  1282  // Returned Error Types:
  1283  //   * InvalidRequestException
  1284  //   The request was not valid.
  1285  //
  1286  //   * ResourceNotFoundException
  1287  //   A resource with the specified name could not be found.
  1288  //
  1289  //   * InternalFailureException
  1290  //   There was an internal failure.
  1291  //
  1292  //   * ServiceUnavailableException
  1293  //   The service is temporarily unavailable.
  1294  //
  1295  //   * ThrottlingException
  1296  //   The request was denied due to request throttling.
  1297  //
  1298  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DescribeDataset
  1299  func (c *IoTAnalytics) DescribeDataset(input *DescribeDatasetInput) (*DescribeDatasetOutput, error) {
  1300  	req, out := c.DescribeDatasetRequest(input)
  1301  	return out, req.Send()
  1302  }
  1303  
  1304  // DescribeDatasetWithContext is the same as DescribeDataset with the addition of
  1305  // the ability to pass a context and additional request options.
  1306  //
  1307  // See DescribeDataset for details on how to use this API operation.
  1308  //
  1309  // The context must be non-nil and will be used for request cancellation. If
  1310  // the context is nil a panic will occur. In the future the SDK may create
  1311  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1312  // for more information on using Contexts.
  1313  func (c *IoTAnalytics) DescribeDatasetWithContext(ctx aws.Context, input *DescribeDatasetInput, opts ...request.Option) (*DescribeDatasetOutput, error) {
  1314  	req, out := c.DescribeDatasetRequest(input)
  1315  	req.SetContext(ctx)
  1316  	req.ApplyOptions(opts...)
  1317  	return out, req.Send()
  1318  }
  1319  
  1320  const opDescribeDatastore = "DescribeDatastore"
  1321  
  1322  // DescribeDatastoreRequest generates a "aws/request.Request" representing the
  1323  // client's request for the DescribeDatastore operation. The "output" return
  1324  // value will be populated with the request's response once the request completes
  1325  // successfully.
  1326  //
  1327  // Use "Send" method on the returned Request to send the API call to the service.
  1328  // the "output" return value is not valid until after Send returns without error.
  1329  //
  1330  // See DescribeDatastore for more information on using the DescribeDatastore
  1331  // API call, and error handling.
  1332  //
  1333  // This method is useful when you want to inject custom logic or configuration
  1334  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1335  //
  1336  //
  1337  //    // Example sending a request using the DescribeDatastoreRequest method.
  1338  //    req, resp := client.DescribeDatastoreRequest(params)
  1339  //
  1340  //    err := req.Send()
  1341  //    if err == nil { // resp is now filled
  1342  //        fmt.Println(resp)
  1343  //    }
  1344  //
  1345  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DescribeDatastore
  1346  func (c *IoTAnalytics) DescribeDatastoreRequest(input *DescribeDatastoreInput) (req *request.Request, output *DescribeDatastoreOutput) {
  1347  	op := &request.Operation{
  1348  		Name:       opDescribeDatastore,
  1349  		HTTPMethod: "GET",
  1350  		HTTPPath:   "/datastores/{datastoreName}",
  1351  	}
  1352  
  1353  	if input == nil {
  1354  		input = &DescribeDatastoreInput{}
  1355  	}
  1356  
  1357  	output = &DescribeDatastoreOutput{}
  1358  	req = c.newRequest(op, input, output)
  1359  	return
  1360  }
  1361  
  1362  // DescribeDatastore API operation for AWS IoT Analytics.
  1363  //
  1364  // Retrieves information about a data store.
  1365  //
  1366  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1367  // with awserr.Error's Code and Message methods to get detailed information about
  1368  // the error.
  1369  //
  1370  // See the AWS API reference guide for AWS IoT Analytics's
  1371  // API operation DescribeDatastore for usage and error information.
  1372  //
  1373  // Returned Error Types:
  1374  //   * InvalidRequestException
  1375  //   The request was not valid.
  1376  //
  1377  //   * ResourceNotFoundException
  1378  //   A resource with the specified name could not be found.
  1379  //
  1380  //   * InternalFailureException
  1381  //   There was an internal failure.
  1382  //
  1383  //   * ServiceUnavailableException
  1384  //   The service is temporarily unavailable.
  1385  //
  1386  //   * ThrottlingException
  1387  //   The request was denied due to request throttling.
  1388  //
  1389  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DescribeDatastore
  1390  func (c *IoTAnalytics) DescribeDatastore(input *DescribeDatastoreInput) (*DescribeDatastoreOutput, error) {
  1391  	req, out := c.DescribeDatastoreRequest(input)
  1392  	return out, req.Send()
  1393  }
  1394  
  1395  // DescribeDatastoreWithContext is the same as DescribeDatastore with the addition of
  1396  // the ability to pass a context and additional request options.
  1397  //
  1398  // See DescribeDatastore for details on how to use this API operation.
  1399  //
  1400  // The context must be non-nil and will be used for request cancellation. If
  1401  // the context is nil a panic will occur. In the future the SDK may create
  1402  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1403  // for more information on using Contexts.
  1404  func (c *IoTAnalytics) DescribeDatastoreWithContext(ctx aws.Context, input *DescribeDatastoreInput, opts ...request.Option) (*DescribeDatastoreOutput, error) {
  1405  	req, out := c.DescribeDatastoreRequest(input)
  1406  	req.SetContext(ctx)
  1407  	req.ApplyOptions(opts...)
  1408  	return out, req.Send()
  1409  }
  1410  
  1411  const opDescribeLoggingOptions = "DescribeLoggingOptions"
  1412  
  1413  // DescribeLoggingOptionsRequest generates a "aws/request.Request" representing the
  1414  // client's request for the DescribeLoggingOptions operation. The "output" return
  1415  // value will be populated with the request's response once the request completes
  1416  // successfully.
  1417  //
  1418  // Use "Send" method on the returned Request to send the API call to the service.
  1419  // the "output" return value is not valid until after Send returns without error.
  1420  //
  1421  // See DescribeLoggingOptions for more information on using the DescribeLoggingOptions
  1422  // API call, and error handling.
  1423  //
  1424  // This method is useful when you want to inject custom logic or configuration
  1425  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1426  //
  1427  //
  1428  //    // Example sending a request using the DescribeLoggingOptionsRequest method.
  1429  //    req, resp := client.DescribeLoggingOptionsRequest(params)
  1430  //
  1431  //    err := req.Send()
  1432  //    if err == nil { // resp is now filled
  1433  //        fmt.Println(resp)
  1434  //    }
  1435  //
  1436  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DescribeLoggingOptions
  1437  func (c *IoTAnalytics) DescribeLoggingOptionsRequest(input *DescribeLoggingOptionsInput) (req *request.Request, output *DescribeLoggingOptionsOutput) {
  1438  	op := &request.Operation{
  1439  		Name:       opDescribeLoggingOptions,
  1440  		HTTPMethod: "GET",
  1441  		HTTPPath:   "/logging",
  1442  	}
  1443  
  1444  	if input == nil {
  1445  		input = &DescribeLoggingOptionsInput{}
  1446  	}
  1447  
  1448  	output = &DescribeLoggingOptionsOutput{}
  1449  	req = c.newRequest(op, input, output)
  1450  	return
  1451  }
  1452  
  1453  // DescribeLoggingOptions API operation for AWS IoT Analytics.
  1454  //
  1455  // Retrieves the current settings of the IoT Analytics logging options.
  1456  //
  1457  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1458  // with awserr.Error's Code and Message methods to get detailed information about
  1459  // the error.
  1460  //
  1461  // See the AWS API reference guide for AWS IoT Analytics's
  1462  // API operation DescribeLoggingOptions for usage and error information.
  1463  //
  1464  // Returned Error Types:
  1465  //   * InvalidRequestException
  1466  //   The request was not valid.
  1467  //
  1468  //   * ResourceNotFoundException
  1469  //   A resource with the specified name could not be found.
  1470  //
  1471  //   * InternalFailureException
  1472  //   There was an internal failure.
  1473  //
  1474  //   * ServiceUnavailableException
  1475  //   The service is temporarily unavailable.
  1476  //
  1477  //   * ThrottlingException
  1478  //   The request was denied due to request throttling.
  1479  //
  1480  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DescribeLoggingOptions
  1481  func (c *IoTAnalytics) DescribeLoggingOptions(input *DescribeLoggingOptionsInput) (*DescribeLoggingOptionsOutput, error) {
  1482  	req, out := c.DescribeLoggingOptionsRequest(input)
  1483  	return out, req.Send()
  1484  }
  1485  
  1486  // DescribeLoggingOptionsWithContext is the same as DescribeLoggingOptions with the addition of
  1487  // the ability to pass a context and additional request options.
  1488  //
  1489  // See DescribeLoggingOptions for details on how to use this API operation.
  1490  //
  1491  // The context must be non-nil and will be used for request cancellation. If
  1492  // the context is nil a panic will occur. In the future the SDK may create
  1493  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1494  // for more information on using Contexts.
  1495  func (c *IoTAnalytics) DescribeLoggingOptionsWithContext(ctx aws.Context, input *DescribeLoggingOptionsInput, opts ...request.Option) (*DescribeLoggingOptionsOutput, error) {
  1496  	req, out := c.DescribeLoggingOptionsRequest(input)
  1497  	req.SetContext(ctx)
  1498  	req.ApplyOptions(opts...)
  1499  	return out, req.Send()
  1500  }
  1501  
  1502  const opDescribePipeline = "DescribePipeline"
  1503  
  1504  // DescribePipelineRequest generates a "aws/request.Request" representing the
  1505  // client's request for the DescribePipeline operation. The "output" return
  1506  // value will be populated with the request's response once the request completes
  1507  // successfully.
  1508  //
  1509  // Use "Send" method on the returned Request to send the API call to the service.
  1510  // the "output" return value is not valid until after Send returns without error.
  1511  //
  1512  // See DescribePipeline for more information on using the DescribePipeline
  1513  // API call, and error handling.
  1514  //
  1515  // This method is useful when you want to inject custom logic or configuration
  1516  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1517  //
  1518  //
  1519  //    // Example sending a request using the DescribePipelineRequest method.
  1520  //    req, resp := client.DescribePipelineRequest(params)
  1521  //
  1522  //    err := req.Send()
  1523  //    if err == nil { // resp is now filled
  1524  //        fmt.Println(resp)
  1525  //    }
  1526  //
  1527  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DescribePipeline
  1528  func (c *IoTAnalytics) DescribePipelineRequest(input *DescribePipelineInput) (req *request.Request, output *DescribePipelineOutput) {
  1529  	op := &request.Operation{
  1530  		Name:       opDescribePipeline,
  1531  		HTTPMethod: "GET",
  1532  		HTTPPath:   "/pipelines/{pipelineName}",
  1533  	}
  1534  
  1535  	if input == nil {
  1536  		input = &DescribePipelineInput{}
  1537  	}
  1538  
  1539  	output = &DescribePipelineOutput{}
  1540  	req = c.newRequest(op, input, output)
  1541  	return
  1542  }
  1543  
  1544  // DescribePipeline API operation for AWS IoT Analytics.
  1545  //
  1546  // Retrieves information about a pipeline.
  1547  //
  1548  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1549  // with awserr.Error's Code and Message methods to get detailed information about
  1550  // the error.
  1551  //
  1552  // See the AWS API reference guide for AWS IoT Analytics's
  1553  // API operation DescribePipeline for usage and error information.
  1554  //
  1555  // Returned Error Types:
  1556  //   * InvalidRequestException
  1557  //   The request was not valid.
  1558  //
  1559  //   * ResourceNotFoundException
  1560  //   A resource with the specified name could not be found.
  1561  //
  1562  //   * InternalFailureException
  1563  //   There was an internal failure.
  1564  //
  1565  //   * ServiceUnavailableException
  1566  //   The service is temporarily unavailable.
  1567  //
  1568  //   * ThrottlingException
  1569  //   The request was denied due to request throttling.
  1570  //
  1571  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DescribePipeline
  1572  func (c *IoTAnalytics) DescribePipeline(input *DescribePipelineInput) (*DescribePipelineOutput, error) {
  1573  	req, out := c.DescribePipelineRequest(input)
  1574  	return out, req.Send()
  1575  }
  1576  
  1577  // DescribePipelineWithContext is the same as DescribePipeline with the addition of
  1578  // the ability to pass a context and additional request options.
  1579  //
  1580  // See DescribePipeline for details on how to use this API operation.
  1581  //
  1582  // The context must be non-nil and will be used for request cancellation. If
  1583  // the context is nil a panic will occur. In the future the SDK may create
  1584  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1585  // for more information on using Contexts.
  1586  func (c *IoTAnalytics) DescribePipelineWithContext(ctx aws.Context, input *DescribePipelineInput, opts ...request.Option) (*DescribePipelineOutput, error) {
  1587  	req, out := c.DescribePipelineRequest(input)
  1588  	req.SetContext(ctx)
  1589  	req.ApplyOptions(opts...)
  1590  	return out, req.Send()
  1591  }
  1592  
  1593  const opGetDatasetContent = "GetDatasetContent"
  1594  
  1595  // GetDatasetContentRequest generates a "aws/request.Request" representing the
  1596  // client's request for the GetDatasetContent operation. The "output" return
  1597  // value will be populated with the request's response once the request completes
  1598  // successfully.
  1599  //
  1600  // Use "Send" method on the returned Request to send the API call to the service.
  1601  // the "output" return value is not valid until after Send returns without error.
  1602  //
  1603  // See GetDatasetContent for more information on using the GetDatasetContent
  1604  // API call, and error handling.
  1605  //
  1606  // This method is useful when you want to inject custom logic or configuration
  1607  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1608  //
  1609  //
  1610  //    // Example sending a request using the GetDatasetContentRequest method.
  1611  //    req, resp := client.GetDatasetContentRequest(params)
  1612  //
  1613  //    err := req.Send()
  1614  //    if err == nil { // resp is now filled
  1615  //        fmt.Println(resp)
  1616  //    }
  1617  //
  1618  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/GetDatasetContent
  1619  func (c *IoTAnalytics) GetDatasetContentRequest(input *GetDatasetContentInput) (req *request.Request, output *GetDatasetContentOutput) {
  1620  	op := &request.Operation{
  1621  		Name:       opGetDatasetContent,
  1622  		HTTPMethod: "GET",
  1623  		HTTPPath:   "/datasets/{datasetName}/content",
  1624  	}
  1625  
  1626  	if input == nil {
  1627  		input = &GetDatasetContentInput{}
  1628  	}
  1629  
  1630  	output = &GetDatasetContentOutput{}
  1631  	req = c.newRequest(op, input, output)
  1632  	return
  1633  }
  1634  
  1635  // GetDatasetContent API operation for AWS IoT Analytics.
  1636  //
  1637  // Retrieves the contents of a dataset as presigned URIs.
  1638  //
  1639  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1640  // with awserr.Error's Code and Message methods to get detailed information about
  1641  // the error.
  1642  //
  1643  // See the AWS API reference guide for AWS IoT Analytics's
  1644  // API operation GetDatasetContent for usage and error information.
  1645  //
  1646  // Returned Error Types:
  1647  //   * InvalidRequestException
  1648  //   The request was not valid.
  1649  //
  1650  //   * ResourceNotFoundException
  1651  //   A resource with the specified name could not be found.
  1652  //
  1653  //   * InternalFailureException
  1654  //   There was an internal failure.
  1655  //
  1656  //   * ServiceUnavailableException
  1657  //   The service is temporarily unavailable.
  1658  //
  1659  //   * ThrottlingException
  1660  //   The request was denied due to request throttling.
  1661  //
  1662  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/GetDatasetContent
  1663  func (c *IoTAnalytics) GetDatasetContent(input *GetDatasetContentInput) (*GetDatasetContentOutput, error) {
  1664  	req, out := c.GetDatasetContentRequest(input)
  1665  	return out, req.Send()
  1666  }
  1667  
  1668  // GetDatasetContentWithContext is the same as GetDatasetContent with the addition of
  1669  // the ability to pass a context and additional request options.
  1670  //
  1671  // See GetDatasetContent for details on how to use this API operation.
  1672  //
  1673  // The context must be non-nil and will be used for request cancellation. If
  1674  // the context is nil a panic will occur. In the future the SDK may create
  1675  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1676  // for more information on using Contexts.
  1677  func (c *IoTAnalytics) GetDatasetContentWithContext(ctx aws.Context, input *GetDatasetContentInput, opts ...request.Option) (*GetDatasetContentOutput, error) {
  1678  	req, out := c.GetDatasetContentRequest(input)
  1679  	req.SetContext(ctx)
  1680  	req.ApplyOptions(opts...)
  1681  	return out, req.Send()
  1682  }
  1683  
  1684  const opListChannels = "ListChannels"
  1685  
  1686  // ListChannelsRequest generates a "aws/request.Request" representing the
  1687  // client's request for the ListChannels operation. The "output" return
  1688  // value will be populated with the request's response once the request completes
  1689  // successfully.
  1690  //
  1691  // Use "Send" method on the returned Request to send the API call to the service.
  1692  // the "output" return value is not valid until after Send returns without error.
  1693  //
  1694  // See ListChannels for more information on using the ListChannels
  1695  // API call, and error handling.
  1696  //
  1697  // This method is useful when you want to inject custom logic or configuration
  1698  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1699  //
  1700  //
  1701  //    // Example sending a request using the ListChannelsRequest method.
  1702  //    req, resp := client.ListChannelsRequest(params)
  1703  //
  1704  //    err := req.Send()
  1705  //    if err == nil { // resp is now filled
  1706  //        fmt.Println(resp)
  1707  //    }
  1708  //
  1709  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListChannels
  1710  func (c *IoTAnalytics) ListChannelsRequest(input *ListChannelsInput) (req *request.Request, output *ListChannelsOutput) {
  1711  	op := &request.Operation{
  1712  		Name:       opListChannels,
  1713  		HTTPMethod: "GET",
  1714  		HTTPPath:   "/channels",
  1715  		Paginator: &request.Paginator{
  1716  			InputTokens:     []string{"nextToken"},
  1717  			OutputTokens:    []string{"nextToken"},
  1718  			LimitToken:      "maxResults",
  1719  			TruncationToken: "",
  1720  		},
  1721  	}
  1722  
  1723  	if input == nil {
  1724  		input = &ListChannelsInput{}
  1725  	}
  1726  
  1727  	output = &ListChannelsOutput{}
  1728  	req = c.newRequest(op, input, output)
  1729  	return
  1730  }
  1731  
  1732  // ListChannels API operation for AWS IoT Analytics.
  1733  //
  1734  // Retrieves a list of channels.
  1735  //
  1736  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1737  // with awserr.Error's Code and Message methods to get detailed information about
  1738  // the error.
  1739  //
  1740  // See the AWS API reference guide for AWS IoT Analytics's
  1741  // API operation ListChannels for usage and error information.
  1742  //
  1743  // Returned Error Types:
  1744  //   * InvalidRequestException
  1745  //   The request was not valid.
  1746  //
  1747  //   * InternalFailureException
  1748  //   There was an internal failure.
  1749  //
  1750  //   * ServiceUnavailableException
  1751  //   The service is temporarily unavailable.
  1752  //
  1753  //   * ThrottlingException
  1754  //   The request was denied due to request throttling.
  1755  //
  1756  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListChannels
  1757  func (c *IoTAnalytics) ListChannels(input *ListChannelsInput) (*ListChannelsOutput, error) {
  1758  	req, out := c.ListChannelsRequest(input)
  1759  	return out, req.Send()
  1760  }
  1761  
  1762  // ListChannelsWithContext is the same as ListChannels with the addition of
  1763  // the ability to pass a context and additional request options.
  1764  //
  1765  // See ListChannels for details on how to use this API operation.
  1766  //
  1767  // The context must be non-nil and will be used for request cancellation. If
  1768  // the context is nil a panic will occur. In the future the SDK may create
  1769  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1770  // for more information on using Contexts.
  1771  func (c *IoTAnalytics) ListChannelsWithContext(ctx aws.Context, input *ListChannelsInput, opts ...request.Option) (*ListChannelsOutput, error) {
  1772  	req, out := c.ListChannelsRequest(input)
  1773  	req.SetContext(ctx)
  1774  	req.ApplyOptions(opts...)
  1775  	return out, req.Send()
  1776  }
  1777  
  1778  // ListChannelsPages iterates over the pages of a ListChannels operation,
  1779  // calling the "fn" function with the response data for each page. To stop
  1780  // iterating, return false from the fn function.
  1781  //
  1782  // See ListChannels method for more information on how to use this operation.
  1783  //
  1784  // Note: This operation can generate multiple requests to a service.
  1785  //
  1786  //    // Example iterating over at most 3 pages of a ListChannels operation.
  1787  //    pageNum := 0
  1788  //    err := client.ListChannelsPages(params,
  1789  //        func(page *iotanalytics.ListChannelsOutput, lastPage bool) bool {
  1790  //            pageNum++
  1791  //            fmt.Println(page)
  1792  //            return pageNum <= 3
  1793  //        })
  1794  //
  1795  func (c *IoTAnalytics) ListChannelsPages(input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool) error {
  1796  	return c.ListChannelsPagesWithContext(aws.BackgroundContext(), input, fn)
  1797  }
  1798  
  1799  // ListChannelsPagesWithContext same as ListChannelsPages except
  1800  // it takes a Context and allows setting request options on the pages.
  1801  //
  1802  // The context must be non-nil and will be used for request cancellation. If
  1803  // the context is nil a panic will occur. In the future the SDK may create
  1804  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1805  // for more information on using Contexts.
  1806  func (c *IoTAnalytics) ListChannelsPagesWithContext(ctx aws.Context, input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool, opts ...request.Option) error {
  1807  	p := request.Pagination{
  1808  		NewRequest: func() (*request.Request, error) {
  1809  			var inCpy *ListChannelsInput
  1810  			if input != nil {
  1811  				tmp := *input
  1812  				inCpy = &tmp
  1813  			}
  1814  			req, _ := c.ListChannelsRequest(inCpy)
  1815  			req.SetContext(ctx)
  1816  			req.ApplyOptions(opts...)
  1817  			return req, nil
  1818  		},
  1819  	}
  1820  
  1821  	for p.Next() {
  1822  		if !fn(p.Page().(*ListChannelsOutput), !p.HasNextPage()) {
  1823  			break
  1824  		}
  1825  	}
  1826  
  1827  	return p.Err()
  1828  }
  1829  
  1830  const opListDatasetContents = "ListDatasetContents"
  1831  
  1832  // ListDatasetContentsRequest generates a "aws/request.Request" representing the
  1833  // client's request for the ListDatasetContents operation. The "output" return
  1834  // value will be populated with the request's response once the request completes
  1835  // successfully.
  1836  //
  1837  // Use "Send" method on the returned Request to send the API call to the service.
  1838  // the "output" return value is not valid until after Send returns without error.
  1839  //
  1840  // See ListDatasetContents for more information on using the ListDatasetContents
  1841  // API call, and error handling.
  1842  //
  1843  // This method is useful when you want to inject custom logic or configuration
  1844  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1845  //
  1846  //
  1847  //    // Example sending a request using the ListDatasetContentsRequest method.
  1848  //    req, resp := client.ListDatasetContentsRequest(params)
  1849  //
  1850  //    err := req.Send()
  1851  //    if err == nil { // resp is now filled
  1852  //        fmt.Println(resp)
  1853  //    }
  1854  //
  1855  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListDatasetContents
  1856  func (c *IoTAnalytics) ListDatasetContentsRequest(input *ListDatasetContentsInput) (req *request.Request, output *ListDatasetContentsOutput) {
  1857  	op := &request.Operation{
  1858  		Name:       opListDatasetContents,
  1859  		HTTPMethod: "GET",
  1860  		HTTPPath:   "/datasets/{datasetName}/contents",
  1861  		Paginator: &request.Paginator{
  1862  			InputTokens:     []string{"nextToken"},
  1863  			OutputTokens:    []string{"nextToken"},
  1864  			LimitToken:      "maxResults",
  1865  			TruncationToken: "",
  1866  		},
  1867  	}
  1868  
  1869  	if input == nil {
  1870  		input = &ListDatasetContentsInput{}
  1871  	}
  1872  
  1873  	output = &ListDatasetContentsOutput{}
  1874  	req = c.newRequest(op, input, output)
  1875  	return
  1876  }
  1877  
  1878  // ListDatasetContents API operation for AWS IoT Analytics.
  1879  //
  1880  // Lists information about dataset contents that have been created.
  1881  //
  1882  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1883  // with awserr.Error's Code and Message methods to get detailed information about
  1884  // the error.
  1885  //
  1886  // See the AWS API reference guide for AWS IoT Analytics's
  1887  // API operation ListDatasetContents for usage and error information.
  1888  //
  1889  // Returned Error Types:
  1890  //   * InvalidRequestException
  1891  //   The request was not valid.
  1892  //
  1893  //   * InternalFailureException
  1894  //   There was an internal failure.
  1895  //
  1896  //   * ServiceUnavailableException
  1897  //   The service is temporarily unavailable.
  1898  //
  1899  //   * ThrottlingException
  1900  //   The request was denied due to request throttling.
  1901  //
  1902  //   * ResourceNotFoundException
  1903  //   A resource with the specified name could not be found.
  1904  //
  1905  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListDatasetContents
  1906  func (c *IoTAnalytics) ListDatasetContents(input *ListDatasetContentsInput) (*ListDatasetContentsOutput, error) {
  1907  	req, out := c.ListDatasetContentsRequest(input)
  1908  	return out, req.Send()
  1909  }
  1910  
  1911  // ListDatasetContentsWithContext is the same as ListDatasetContents with the addition of
  1912  // the ability to pass a context and additional request options.
  1913  //
  1914  // See ListDatasetContents for details on how to use this API operation.
  1915  //
  1916  // The context must be non-nil and will be used for request cancellation. If
  1917  // the context is nil a panic will occur. In the future the SDK may create
  1918  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1919  // for more information on using Contexts.
  1920  func (c *IoTAnalytics) ListDatasetContentsWithContext(ctx aws.Context, input *ListDatasetContentsInput, opts ...request.Option) (*ListDatasetContentsOutput, error) {
  1921  	req, out := c.ListDatasetContentsRequest(input)
  1922  	req.SetContext(ctx)
  1923  	req.ApplyOptions(opts...)
  1924  	return out, req.Send()
  1925  }
  1926  
  1927  // ListDatasetContentsPages iterates over the pages of a ListDatasetContents operation,
  1928  // calling the "fn" function with the response data for each page. To stop
  1929  // iterating, return false from the fn function.
  1930  //
  1931  // See ListDatasetContents method for more information on how to use this operation.
  1932  //
  1933  // Note: This operation can generate multiple requests to a service.
  1934  //
  1935  //    // Example iterating over at most 3 pages of a ListDatasetContents operation.
  1936  //    pageNum := 0
  1937  //    err := client.ListDatasetContentsPages(params,
  1938  //        func(page *iotanalytics.ListDatasetContentsOutput, lastPage bool) bool {
  1939  //            pageNum++
  1940  //            fmt.Println(page)
  1941  //            return pageNum <= 3
  1942  //        })
  1943  //
  1944  func (c *IoTAnalytics) ListDatasetContentsPages(input *ListDatasetContentsInput, fn func(*ListDatasetContentsOutput, bool) bool) error {
  1945  	return c.ListDatasetContentsPagesWithContext(aws.BackgroundContext(), input, fn)
  1946  }
  1947  
  1948  // ListDatasetContentsPagesWithContext same as ListDatasetContentsPages except
  1949  // it takes a Context and allows setting request options on the pages.
  1950  //
  1951  // The context must be non-nil and will be used for request cancellation. If
  1952  // the context is nil a panic will occur. In the future the SDK may create
  1953  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1954  // for more information on using Contexts.
  1955  func (c *IoTAnalytics) ListDatasetContentsPagesWithContext(ctx aws.Context, input *ListDatasetContentsInput, fn func(*ListDatasetContentsOutput, bool) bool, opts ...request.Option) error {
  1956  	p := request.Pagination{
  1957  		NewRequest: func() (*request.Request, error) {
  1958  			var inCpy *ListDatasetContentsInput
  1959  			if input != nil {
  1960  				tmp := *input
  1961  				inCpy = &tmp
  1962  			}
  1963  			req, _ := c.ListDatasetContentsRequest(inCpy)
  1964  			req.SetContext(ctx)
  1965  			req.ApplyOptions(opts...)
  1966  			return req, nil
  1967  		},
  1968  	}
  1969  
  1970  	for p.Next() {
  1971  		if !fn(p.Page().(*ListDatasetContentsOutput), !p.HasNextPage()) {
  1972  			break
  1973  		}
  1974  	}
  1975  
  1976  	return p.Err()
  1977  }
  1978  
  1979  const opListDatasets = "ListDatasets"
  1980  
  1981  // ListDatasetsRequest generates a "aws/request.Request" representing the
  1982  // client's request for the ListDatasets operation. The "output" return
  1983  // value will be populated with the request's response once the request completes
  1984  // successfully.
  1985  //
  1986  // Use "Send" method on the returned Request to send the API call to the service.
  1987  // the "output" return value is not valid until after Send returns without error.
  1988  //
  1989  // See ListDatasets for more information on using the ListDatasets
  1990  // API call, and error handling.
  1991  //
  1992  // This method is useful when you want to inject custom logic or configuration
  1993  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1994  //
  1995  //
  1996  //    // Example sending a request using the ListDatasetsRequest method.
  1997  //    req, resp := client.ListDatasetsRequest(params)
  1998  //
  1999  //    err := req.Send()
  2000  //    if err == nil { // resp is now filled
  2001  //        fmt.Println(resp)
  2002  //    }
  2003  //
  2004  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListDatasets
  2005  func (c *IoTAnalytics) ListDatasetsRequest(input *ListDatasetsInput) (req *request.Request, output *ListDatasetsOutput) {
  2006  	op := &request.Operation{
  2007  		Name:       opListDatasets,
  2008  		HTTPMethod: "GET",
  2009  		HTTPPath:   "/datasets",
  2010  		Paginator: &request.Paginator{
  2011  			InputTokens:     []string{"nextToken"},
  2012  			OutputTokens:    []string{"nextToken"},
  2013  			LimitToken:      "maxResults",
  2014  			TruncationToken: "",
  2015  		},
  2016  	}
  2017  
  2018  	if input == nil {
  2019  		input = &ListDatasetsInput{}
  2020  	}
  2021  
  2022  	output = &ListDatasetsOutput{}
  2023  	req = c.newRequest(op, input, output)
  2024  	return
  2025  }
  2026  
  2027  // ListDatasets API operation for AWS IoT Analytics.
  2028  //
  2029  // Retrieves information about datasets.
  2030  //
  2031  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2032  // with awserr.Error's Code and Message methods to get detailed information about
  2033  // the error.
  2034  //
  2035  // See the AWS API reference guide for AWS IoT Analytics's
  2036  // API operation ListDatasets for usage and error information.
  2037  //
  2038  // Returned Error Types:
  2039  //   * InvalidRequestException
  2040  //   The request was not valid.
  2041  //
  2042  //   * InternalFailureException
  2043  //   There was an internal failure.
  2044  //
  2045  //   * ServiceUnavailableException
  2046  //   The service is temporarily unavailable.
  2047  //
  2048  //   * ThrottlingException
  2049  //   The request was denied due to request throttling.
  2050  //
  2051  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListDatasets
  2052  func (c *IoTAnalytics) ListDatasets(input *ListDatasetsInput) (*ListDatasetsOutput, error) {
  2053  	req, out := c.ListDatasetsRequest(input)
  2054  	return out, req.Send()
  2055  }
  2056  
  2057  // ListDatasetsWithContext is the same as ListDatasets with the addition of
  2058  // the ability to pass a context and additional request options.
  2059  //
  2060  // See ListDatasets for details on how to use this API operation.
  2061  //
  2062  // The context must be non-nil and will be used for request cancellation. If
  2063  // the context is nil a panic will occur. In the future the SDK may create
  2064  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2065  // for more information on using Contexts.
  2066  func (c *IoTAnalytics) ListDatasetsWithContext(ctx aws.Context, input *ListDatasetsInput, opts ...request.Option) (*ListDatasetsOutput, error) {
  2067  	req, out := c.ListDatasetsRequest(input)
  2068  	req.SetContext(ctx)
  2069  	req.ApplyOptions(opts...)
  2070  	return out, req.Send()
  2071  }
  2072  
  2073  // ListDatasetsPages iterates over the pages of a ListDatasets operation,
  2074  // calling the "fn" function with the response data for each page. To stop
  2075  // iterating, return false from the fn function.
  2076  //
  2077  // See ListDatasets method for more information on how to use this operation.
  2078  //
  2079  // Note: This operation can generate multiple requests to a service.
  2080  //
  2081  //    // Example iterating over at most 3 pages of a ListDatasets operation.
  2082  //    pageNum := 0
  2083  //    err := client.ListDatasetsPages(params,
  2084  //        func(page *iotanalytics.ListDatasetsOutput, lastPage bool) bool {
  2085  //            pageNum++
  2086  //            fmt.Println(page)
  2087  //            return pageNum <= 3
  2088  //        })
  2089  //
  2090  func (c *IoTAnalytics) ListDatasetsPages(input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool) error {
  2091  	return c.ListDatasetsPagesWithContext(aws.BackgroundContext(), input, fn)
  2092  }
  2093  
  2094  // ListDatasetsPagesWithContext same as ListDatasetsPages except
  2095  // it takes a Context and allows setting request options on the pages.
  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 *IoTAnalytics) ListDatasetsPagesWithContext(ctx aws.Context, input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool, opts ...request.Option) error {
  2102  	p := request.Pagination{
  2103  		NewRequest: func() (*request.Request, error) {
  2104  			var inCpy *ListDatasetsInput
  2105  			if input != nil {
  2106  				tmp := *input
  2107  				inCpy = &tmp
  2108  			}
  2109  			req, _ := c.ListDatasetsRequest(inCpy)
  2110  			req.SetContext(ctx)
  2111  			req.ApplyOptions(opts...)
  2112  			return req, nil
  2113  		},
  2114  	}
  2115  
  2116  	for p.Next() {
  2117  		if !fn(p.Page().(*ListDatasetsOutput), !p.HasNextPage()) {
  2118  			break
  2119  		}
  2120  	}
  2121  
  2122  	return p.Err()
  2123  }
  2124  
  2125  const opListDatastores = "ListDatastores"
  2126  
  2127  // ListDatastoresRequest generates a "aws/request.Request" representing the
  2128  // client's request for the ListDatastores operation. The "output" return
  2129  // value will be populated with the request's response once the request completes
  2130  // successfully.
  2131  //
  2132  // Use "Send" method on the returned Request to send the API call to the service.
  2133  // the "output" return value is not valid until after Send returns without error.
  2134  //
  2135  // See ListDatastores for more information on using the ListDatastores
  2136  // API call, and error handling.
  2137  //
  2138  // This method is useful when you want to inject custom logic or configuration
  2139  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2140  //
  2141  //
  2142  //    // Example sending a request using the ListDatastoresRequest method.
  2143  //    req, resp := client.ListDatastoresRequest(params)
  2144  //
  2145  //    err := req.Send()
  2146  //    if err == nil { // resp is now filled
  2147  //        fmt.Println(resp)
  2148  //    }
  2149  //
  2150  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListDatastores
  2151  func (c *IoTAnalytics) ListDatastoresRequest(input *ListDatastoresInput) (req *request.Request, output *ListDatastoresOutput) {
  2152  	op := &request.Operation{
  2153  		Name:       opListDatastores,
  2154  		HTTPMethod: "GET",
  2155  		HTTPPath:   "/datastores",
  2156  		Paginator: &request.Paginator{
  2157  			InputTokens:     []string{"nextToken"},
  2158  			OutputTokens:    []string{"nextToken"},
  2159  			LimitToken:      "maxResults",
  2160  			TruncationToken: "",
  2161  		},
  2162  	}
  2163  
  2164  	if input == nil {
  2165  		input = &ListDatastoresInput{}
  2166  	}
  2167  
  2168  	output = &ListDatastoresOutput{}
  2169  	req = c.newRequest(op, input, output)
  2170  	return
  2171  }
  2172  
  2173  // ListDatastores API operation for AWS IoT Analytics.
  2174  //
  2175  // Retrieves a list of data stores.
  2176  //
  2177  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2178  // with awserr.Error's Code and Message methods to get detailed information about
  2179  // the error.
  2180  //
  2181  // See the AWS API reference guide for AWS IoT Analytics's
  2182  // API operation ListDatastores for usage and error information.
  2183  //
  2184  // Returned Error Types:
  2185  //   * InvalidRequestException
  2186  //   The request was not valid.
  2187  //
  2188  //   * InternalFailureException
  2189  //   There was an internal failure.
  2190  //
  2191  //   * ServiceUnavailableException
  2192  //   The service is temporarily unavailable.
  2193  //
  2194  //   * ThrottlingException
  2195  //   The request was denied due to request throttling.
  2196  //
  2197  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListDatastores
  2198  func (c *IoTAnalytics) ListDatastores(input *ListDatastoresInput) (*ListDatastoresOutput, error) {
  2199  	req, out := c.ListDatastoresRequest(input)
  2200  	return out, req.Send()
  2201  }
  2202  
  2203  // ListDatastoresWithContext is the same as ListDatastores with the addition of
  2204  // the ability to pass a context and additional request options.
  2205  //
  2206  // See ListDatastores for details on how to use this API operation.
  2207  //
  2208  // The context must be non-nil and will be used for request cancellation. If
  2209  // the context is nil a panic will occur. In the future the SDK may create
  2210  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2211  // for more information on using Contexts.
  2212  func (c *IoTAnalytics) ListDatastoresWithContext(ctx aws.Context, input *ListDatastoresInput, opts ...request.Option) (*ListDatastoresOutput, error) {
  2213  	req, out := c.ListDatastoresRequest(input)
  2214  	req.SetContext(ctx)
  2215  	req.ApplyOptions(opts...)
  2216  	return out, req.Send()
  2217  }
  2218  
  2219  // ListDatastoresPages iterates over the pages of a ListDatastores operation,
  2220  // calling the "fn" function with the response data for each page. To stop
  2221  // iterating, return false from the fn function.
  2222  //
  2223  // See ListDatastores method for more information on how to use this operation.
  2224  //
  2225  // Note: This operation can generate multiple requests to a service.
  2226  //
  2227  //    // Example iterating over at most 3 pages of a ListDatastores operation.
  2228  //    pageNum := 0
  2229  //    err := client.ListDatastoresPages(params,
  2230  //        func(page *iotanalytics.ListDatastoresOutput, lastPage bool) bool {
  2231  //            pageNum++
  2232  //            fmt.Println(page)
  2233  //            return pageNum <= 3
  2234  //        })
  2235  //
  2236  func (c *IoTAnalytics) ListDatastoresPages(input *ListDatastoresInput, fn func(*ListDatastoresOutput, bool) bool) error {
  2237  	return c.ListDatastoresPagesWithContext(aws.BackgroundContext(), input, fn)
  2238  }
  2239  
  2240  // ListDatastoresPagesWithContext same as ListDatastoresPages except
  2241  // it takes a Context and allows setting request options on the pages.
  2242  //
  2243  // The context must be non-nil and will be used for request cancellation. If
  2244  // the context is nil a panic will occur. In the future the SDK may create
  2245  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2246  // for more information on using Contexts.
  2247  func (c *IoTAnalytics) ListDatastoresPagesWithContext(ctx aws.Context, input *ListDatastoresInput, fn func(*ListDatastoresOutput, bool) bool, opts ...request.Option) error {
  2248  	p := request.Pagination{
  2249  		NewRequest: func() (*request.Request, error) {
  2250  			var inCpy *ListDatastoresInput
  2251  			if input != nil {
  2252  				tmp := *input
  2253  				inCpy = &tmp
  2254  			}
  2255  			req, _ := c.ListDatastoresRequest(inCpy)
  2256  			req.SetContext(ctx)
  2257  			req.ApplyOptions(opts...)
  2258  			return req, nil
  2259  		},
  2260  	}
  2261  
  2262  	for p.Next() {
  2263  		if !fn(p.Page().(*ListDatastoresOutput), !p.HasNextPage()) {
  2264  			break
  2265  		}
  2266  	}
  2267  
  2268  	return p.Err()
  2269  }
  2270  
  2271  const opListPipelines = "ListPipelines"
  2272  
  2273  // ListPipelinesRequest generates a "aws/request.Request" representing the
  2274  // client's request for the ListPipelines operation. The "output" return
  2275  // value will be populated with the request's response once the request completes
  2276  // successfully.
  2277  //
  2278  // Use "Send" method on the returned Request to send the API call to the service.
  2279  // the "output" return value is not valid until after Send returns without error.
  2280  //
  2281  // See ListPipelines for more information on using the ListPipelines
  2282  // API call, and error handling.
  2283  //
  2284  // This method is useful when you want to inject custom logic or configuration
  2285  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2286  //
  2287  //
  2288  //    // Example sending a request using the ListPipelinesRequest method.
  2289  //    req, resp := client.ListPipelinesRequest(params)
  2290  //
  2291  //    err := req.Send()
  2292  //    if err == nil { // resp is now filled
  2293  //        fmt.Println(resp)
  2294  //    }
  2295  //
  2296  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListPipelines
  2297  func (c *IoTAnalytics) ListPipelinesRequest(input *ListPipelinesInput) (req *request.Request, output *ListPipelinesOutput) {
  2298  	op := &request.Operation{
  2299  		Name:       opListPipelines,
  2300  		HTTPMethod: "GET",
  2301  		HTTPPath:   "/pipelines",
  2302  		Paginator: &request.Paginator{
  2303  			InputTokens:     []string{"nextToken"},
  2304  			OutputTokens:    []string{"nextToken"},
  2305  			LimitToken:      "maxResults",
  2306  			TruncationToken: "",
  2307  		},
  2308  	}
  2309  
  2310  	if input == nil {
  2311  		input = &ListPipelinesInput{}
  2312  	}
  2313  
  2314  	output = &ListPipelinesOutput{}
  2315  	req = c.newRequest(op, input, output)
  2316  	return
  2317  }
  2318  
  2319  // ListPipelines API operation for AWS IoT Analytics.
  2320  //
  2321  // Retrieves a list of pipelines.
  2322  //
  2323  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2324  // with awserr.Error's Code and Message methods to get detailed information about
  2325  // the error.
  2326  //
  2327  // See the AWS API reference guide for AWS IoT Analytics's
  2328  // API operation ListPipelines for usage and error information.
  2329  //
  2330  // Returned Error Types:
  2331  //   * InvalidRequestException
  2332  //   The request was not valid.
  2333  //
  2334  //   * InternalFailureException
  2335  //   There was an internal failure.
  2336  //
  2337  //   * ServiceUnavailableException
  2338  //   The service is temporarily unavailable.
  2339  //
  2340  //   * ThrottlingException
  2341  //   The request was denied due to request throttling.
  2342  //
  2343  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListPipelines
  2344  func (c *IoTAnalytics) ListPipelines(input *ListPipelinesInput) (*ListPipelinesOutput, error) {
  2345  	req, out := c.ListPipelinesRequest(input)
  2346  	return out, req.Send()
  2347  }
  2348  
  2349  // ListPipelinesWithContext is the same as ListPipelines with the addition of
  2350  // the ability to pass a context and additional request options.
  2351  //
  2352  // See ListPipelines for details on how to use this API operation.
  2353  //
  2354  // The context must be non-nil and will be used for request cancellation. If
  2355  // the context is nil a panic will occur. In the future the SDK may create
  2356  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2357  // for more information on using Contexts.
  2358  func (c *IoTAnalytics) ListPipelinesWithContext(ctx aws.Context, input *ListPipelinesInput, opts ...request.Option) (*ListPipelinesOutput, error) {
  2359  	req, out := c.ListPipelinesRequest(input)
  2360  	req.SetContext(ctx)
  2361  	req.ApplyOptions(opts...)
  2362  	return out, req.Send()
  2363  }
  2364  
  2365  // ListPipelinesPages iterates over the pages of a ListPipelines operation,
  2366  // calling the "fn" function with the response data for each page. To stop
  2367  // iterating, return false from the fn function.
  2368  //
  2369  // See ListPipelines method for more information on how to use this operation.
  2370  //
  2371  // Note: This operation can generate multiple requests to a service.
  2372  //
  2373  //    // Example iterating over at most 3 pages of a ListPipelines operation.
  2374  //    pageNum := 0
  2375  //    err := client.ListPipelinesPages(params,
  2376  //        func(page *iotanalytics.ListPipelinesOutput, lastPage bool) bool {
  2377  //            pageNum++
  2378  //            fmt.Println(page)
  2379  //            return pageNum <= 3
  2380  //        })
  2381  //
  2382  func (c *IoTAnalytics) ListPipelinesPages(input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool) error {
  2383  	return c.ListPipelinesPagesWithContext(aws.BackgroundContext(), input, fn)
  2384  }
  2385  
  2386  // ListPipelinesPagesWithContext same as ListPipelinesPages except
  2387  // it takes a Context and allows setting request options on the pages.
  2388  //
  2389  // The context must be non-nil and will be used for request cancellation. If
  2390  // the context is nil a panic will occur. In the future the SDK may create
  2391  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2392  // for more information on using Contexts.
  2393  func (c *IoTAnalytics) ListPipelinesPagesWithContext(ctx aws.Context, input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool, opts ...request.Option) error {
  2394  	p := request.Pagination{
  2395  		NewRequest: func() (*request.Request, error) {
  2396  			var inCpy *ListPipelinesInput
  2397  			if input != nil {
  2398  				tmp := *input
  2399  				inCpy = &tmp
  2400  			}
  2401  			req, _ := c.ListPipelinesRequest(inCpy)
  2402  			req.SetContext(ctx)
  2403  			req.ApplyOptions(opts...)
  2404  			return req, nil
  2405  		},
  2406  	}
  2407  
  2408  	for p.Next() {
  2409  		if !fn(p.Page().(*ListPipelinesOutput), !p.HasNextPage()) {
  2410  			break
  2411  		}
  2412  	}
  2413  
  2414  	return p.Err()
  2415  }
  2416  
  2417  const opListTagsForResource = "ListTagsForResource"
  2418  
  2419  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2420  // client's request for the ListTagsForResource operation. The "output" return
  2421  // value will be populated with the request's response once the request completes
  2422  // successfully.
  2423  //
  2424  // Use "Send" method on the returned Request to send the API call to the service.
  2425  // the "output" return value is not valid until after Send returns without error.
  2426  //
  2427  // See ListTagsForResource for more information on using the ListTagsForResource
  2428  // API call, and error handling.
  2429  //
  2430  // This method is useful when you want to inject custom logic or configuration
  2431  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2432  //
  2433  //
  2434  //    // Example sending a request using the ListTagsForResourceRequest method.
  2435  //    req, resp := client.ListTagsForResourceRequest(params)
  2436  //
  2437  //    err := req.Send()
  2438  //    if err == nil { // resp is now filled
  2439  //        fmt.Println(resp)
  2440  //    }
  2441  //
  2442  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListTagsForResource
  2443  func (c *IoTAnalytics) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2444  	op := &request.Operation{
  2445  		Name:       opListTagsForResource,
  2446  		HTTPMethod: "GET",
  2447  		HTTPPath:   "/tags",
  2448  	}
  2449  
  2450  	if input == nil {
  2451  		input = &ListTagsForResourceInput{}
  2452  	}
  2453  
  2454  	output = &ListTagsForResourceOutput{}
  2455  	req = c.newRequest(op, input, output)
  2456  	return
  2457  }
  2458  
  2459  // ListTagsForResource API operation for AWS IoT Analytics.
  2460  //
  2461  // Lists the tags (metadata) that you have assigned to the resource.
  2462  //
  2463  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2464  // with awserr.Error's Code and Message methods to get detailed information about
  2465  // the error.
  2466  //
  2467  // See the AWS API reference guide for AWS IoT Analytics's
  2468  // API operation ListTagsForResource for usage and error information.
  2469  //
  2470  // Returned Error Types:
  2471  //   * InvalidRequestException
  2472  //   The request was not valid.
  2473  //
  2474  //   * InternalFailureException
  2475  //   There was an internal failure.
  2476  //
  2477  //   * ServiceUnavailableException
  2478  //   The service is temporarily unavailable.
  2479  //
  2480  //   * ThrottlingException
  2481  //   The request was denied due to request throttling.
  2482  //
  2483  //   * LimitExceededException
  2484  //   The command caused an internal limit to be exceeded.
  2485  //
  2486  //   * ResourceNotFoundException
  2487  //   A resource with the specified name could not be found.
  2488  //
  2489  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/ListTagsForResource
  2490  func (c *IoTAnalytics) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2491  	req, out := c.ListTagsForResourceRequest(input)
  2492  	return out, req.Send()
  2493  }
  2494  
  2495  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2496  // the ability to pass a context and additional request options.
  2497  //
  2498  // See ListTagsForResource for details on how to use this API operation.
  2499  //
  2500  // The context must be non-nil and will be used for request cancellation. If
  2501  // the context is nil a panic will occur. In the future the SDK may create
  2502  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2503  // for more information on using Contexts.
  2504  func (c *IoTAnalytics) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2505  	req, out := c.ListTagsForResourceRequest(input)
  2506  	req.SetContext(ctx)
  2507  	req.ApplyOptions(opts...)
  2508  	return out, req.Send()
  2509  }
  2510  
  2511  const opPutLoggingOptions = "PutLoggingOptions"
  2512  
  2513  // PutLoggingOptionsRequest generates a "aws/request.Request" representing the
  2514  // client's request for the PutLoggingOptions operation. The "output" return
  2515  // value will be populated with the request's response once the request completes
  2516  // successfully.
  2517  //
  2518  // Use "Send" method on the returned Request to send the API call to the service.
  2519  // the "output" return value is not valid until after Send returns without error.
  2520  //
  2521  // See PutLoggingOptions for more information on using the PutLoggingOptions
  2522  // API call, and error handling.
  2523  //
  2524  // This method is useful when you want to inject custom logic or configuration
  2525  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2526  //
  2527  //
  2528  //    // Example sending a request using the PutLoggingOptionsRequest method.
  2529  //    req, resp := client.PutLoggingOptionsRequest(params)
  2530  //
  2531  //    err := req.Send()
  2532  //    if err == nil { // resp is now filled
  2533  //        fmt.Println(resp)
  2534  //    }
  2535  //
  2536  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/PutLoggingOptions
  2537  func (c *IoTAnalytics) PutLoggingOptionsRequest(input *PutLoggingOptionsInput) (req *request.Request, output *PutLoggingOptionsOutput) {
  2538  	op := &request.Operation{
  2539  		Name:       opPutLoggingOptions,
  2540  		HTTPMethod: "PUT",
  2541  		HTTPPath:   "/logging",
  2542  	}
  2543  
  2544  	if input == nil {
  2545  		input = &PutLoggingOptionsInput{}
  2546  	}
  2547  
  2548  	output = &PutLoggingOptionsOutput{}
  2549  	req = c.newRequest(op, input, output)
  2550  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2551  	return
  2552  }
  2553  
  2554  // PutLoggingOptions API operation for AWS IoT Analytics.
  2555  //
  2556  // Sets or updates the IoT Analytics logging options.
  2557  //
  2558  // If you update the value of any loggingOptions field, it takes up to one minute
  2559  // for the change to take effect. Also, if you change the policy attached to
  2560  // the role you specified in the roleArn field (for example, to correct an invalid
  2561  // policy), it takes up to five minutes for that change to take effect.
  2562  //
  2563  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2564  // with awserr.Error's Code and Message methods to get detailed information about
  2565  // the error.
  2566  //
  2567  // See the AWS API reference guide for AWS IoT Analytics's
  2568  // API operation PutLoggingOptions for usage and error information.
  2569  //
  2570  // Returned Error Types:
  2571  //   * InvalidRequestException
  2572  //   The request was not valid.
  2573  //
  2574  //   * InternalFailureException
  2575  //   There was an internal failure.
  2576  //
  2577  //   * ServiceUnavailableException
  2578  //   The service is temporarily unavailable.
  2579  //
  2580  //   * ThrottlingException
  2581  //   The request was denied due to request throttling.
  2582  //
  2583  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/PutLoggingOptions
  2584  func (c *IoTAnalytics) PutLoggingOptions(input *PutLoggingOptionsInput) (*PutLoggingOptionsOutput, error) {
  2585  	req, out := c.PutLoggingOptionsRequest(input)
  2586  	return out, req.Send()
  2587  }
  2588  
  2589  // PutLoggingOptionsWithContext is the same as PutLoggingOptions with the addition of
  2590  // the ability to pass a context and additional request options.
  2591  //
  2592  // See PutLoggingOptions for details on how to use this API operation.
  2593  //
  2594  // The context must be non-nil and will be used for request cancellation. If
  2595  // the context is nil a panic will occur. In the future the SDK may create
  2596  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2597  // for more information on using Contexts.
  2598  func (c *IoTAnalytics) PutLoggingOptionsWithContext(ctx aws.Context, input *PutLoggingOptionsInput, opts ...request.Option) (*PutLoggingOptionsOutput, error) {
  2599  	req, out := c.PutLoggingOptionsRequest(input)
  2600  	req.SetContext(ctx)
  2601  	req.ApplyOptions(opts...)
  2602  	return out, req.Send()
  2603  }
  2604  
  2605  const opRunPipelineActivity = "RunPipelineActivity"
  2606  
  2607  // RunPipelineActivityRequest generates a "aws/request.Request" representing the
  2608  // client's request for the RunPipelineActivity operation. The "output" return
  2609  // value will be populated with the request's response once the request completes
  2610  // successfully.
  2611  //
  2612  // Use "Send" method on the returned Request to send the API call to the service.
  2613  // the "output" return value is not valid until after Send returns without error.
  2614  //
  2615  // See RunPipelineActivity for more information on using the RunPipelineActivity
  2616  // API call, and error handling.
  2617  //
  2618  // This method is useful when you want to inject custom logic or configuration
  2619  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2620  //
  2621  //
  2622  //    // Example sending a request using the RunPipelineActivityRequest method.
  2623  //    req, resp := client.RunPipelineActivityRequest(params)
  2624  //
  2625  //    err := req.Send()
  2626  //    if err == nil { // resp is now filled
  2627  //        fmt.Println(resp)
  2628  //    }
  2629  //
  2630  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/RunPipelineActivity
  2631  func (c *IoTAnalytics) RunPipelineActivityRequest(input *RunPipelineActivityInput) (req *request.Request, output *RunPipelineActivityOutput) {
  2632  	op := &request.Operation{
  2633  		Name:       opRunPipelineActivity,
  2634  		HTTPMethod: "POST",
  2635  		HTTPPath:   "/pipelineactivities/run",
  2636  	}
  2637  
  2638  	if input == nil {
  2639  		input = &RunPipelineActivityInput{}
  2640  	}
  2641  
  2642  	output = &RunPipelineActivityOutput{}
  2643  	req = c.newRequest(op, input, output)
  2644  	return
  2645  }
  2646  
  2647  // RunPipelineActivity API operation for AWS IoT Analytics.
  2648  //
  2649  // Simulates the results of running a pipeline activity on a message payload.
  2650  //
  2651  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2652  // with awserr.Error's Code and Message methods to get detailed information about
  2653  // the error.
  2654  //
  2655  // See the AWS API reference guide for AWS IoT Analytics's
  2656  // API operation RunPipelineActivity for usage and error information.
  2657  //
  2658  // Returned Error Types:
  2659  //   * InvalidRequestException
  2660  //   The request was not valid.
  2661  //
  2662  //   * InternalFailureException
  2663  //   There was an internal failure.
  2664  //
  2665  //   * ServiceUnavailableException
  2666  //   The service is temporarily unavailable.
  2667  //
  2668  //   * ThrottlingException
  2669  //   The request was denied due to request throttling.
  2670  //
  2671  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/RunPipelineActivity
  2672  func (c *IoTAnalytics) RunPipelineActivity(input *RunPipelineActivityInput) (*RunPipelineActivityOutput, error) {
  2673  	req, out := c.RunPipelineActivityRequest(input)
  2674  	return out, req.Send()
  2675  }
  2676  
  2677  // RunPipelineActivityWithContext is the same as RunPipelineActivity with the addition of
  2678  // the ability to pass a context and additional request options.
  2679  //
  2680  // See RunPipelineActivity for details on how to use this API operation.
  2681  //
  2682  // The context must be non-nil and will be used for request cancellation. If
  2683  // the context is nil a panic will occur. In the future the SDK may create
  2684  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2685  // for more information on using Contexts.
  2686  func (c *IoTAnalytics) RunPipelineActivityWithContext(ctx aws.Context, input *RunPipelineActivityInput, opts ...request.Option) (*RunPipelineActivityOutput, error) {
  2687  	req, out := c.RunPipelineActivityRequest(input)
  2688  	req.SetContext(ctx)
  2689  	req.ApplyOptions(opts...)
  2690  	return out, req.Send()
  2691  }
  2692  
  2693  const opSampleChannelData = "SampleChannelData"
  2694  
  2695  // SampleChannelDataRequest generates a "aws/request.Request" representing the
  2696  // client's request for the SampleChannelData operation. The "output" return
  2697  // value will be populated with the request's response once the request completes
  2698  // successfully.
  2699  //
  2700  // Use "Send" method on the returned Request to send the API call to the service.
  2701  // the "output" return value is not valid until after Send returns without error.
  2702  //
  2703  // See SampleChannelData for more information on using the SampleChannelData
  2704  // API call, and error handling.
  2705  //
  2706  // This method is useful when you want to inject custom logic or configuration
  2707  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2708  //
  2709  //
  2710  //    // Example sending a request using the SampleChannelDataRequest method.
  2711  //    req, resp := client.SampleChannelDataRequest(params)
  2712  //
  2713  //    err := req.Send()
  2714  //    if err == nil { // resp is now filled
  2715  //        fmt.Println(resp)
  2716  //    }
  2717  //
  2718  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/SampleChannelData
  2719  func (c *IoTAnalytics) SampleChannelDataRequest(input *SampleChannelDataInput) (req *request.Request, output *SampleChannelDataOutput) {
  2720  	op := &request.Operation{
  2721  		Name:       opSampleChannelData,
  2722  		HTTPMethod: "GET",
  2723  		HTTPPath:   "/channels/{channelName}/sample",
  2724  	}
  2725  
  2726  	if input == nil {
  2727  		input = &SampleChannelDataInput{}
  2728  	}
  2729  
  2730  	output = &SampleChannelDataOutput{}
  2731  	req = c.newRequest(op, input, output)
  2732  	return
  2733  }
  2734  
  2735  // SampleChannelData API operation for AWS IoT Analytics.
  2736  //
  2737  // Retrieves a sample of messages from the specified channel ingested during
  2738  // the specified timeframe. Up to 10 messages can be retrieved.
  2739  //
  2740  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2741  // with awserr.Error's Code and Message methods to get detailed information about
  2742  // the error.
  2743  //
  2744  // See the AWS API reference guide for AWS IoT Analytics's
  2745  // API operation SampleChannelData for usage and error information.
  2746  //
  2747  // Returned Error Types:
  2748  //   * InvalidRequestException
  2749  //   The request was not valid.
  2750  //
  2751  //   * ResourceNotFoundException
  2752  //   A resource with the specified name could not be found.
  2753  //
  2754  //   * InternalFailureException
  2755  //   There was an internal failure.
  2756  //
  2757  //   * ServiceUnavailableException
  2758  //   The service is temporarily unavailable.
  2759  //
  2760  //   * ThrottlingException
  2761  //   The request was denied due to request throttling.
  2762  //
  2763  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/SampleChannelData
  2764  func (c *IoTAnalytics) SampleChannelData(input *SampleChannelDataInput) (*SampleChannelDataOutput, error) {
  2765  	req, out := c.SampleChannelDataRequest(input)
  2766  	return out, req.Send()
  2767  }
  2768  
  2769  // SampleChannelDataWithContext is the same as SampleChannelData with the addition of
  2770  // the ability to pass a context and additional request options.
  2771  //
  2772  // See SampleChannelData for details on how to use this API operation.
  2773  //
  2774  // The context must be non-nil and will be used for request cancellation. If
  2775  // the context is nil a panic will occur. In the future the SDK may create
  2776  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2777  // for more information on using Contexts.
  2778  func (c *IoTAnalytics) SampleChannelDataWithContext(ctx aws.Context, input *SampleChannelDataInput, opts ...request.Option) (*SampleChannelDataOutput, error) {
  2779  	req, out := c.SampleChannelDataRequest(input)
  2780  	req.SetContext(ctx)
  2781  	req.ApplyOptions(opts...)
  2782  	return out, req.Send()
  2783  }
  2784  
  2785  const opStartPipelineReprocessing = "StartPipelineReprocessing"
  2786  
  2787  // StartPipelineReprocessingRequest generates a "aws/request.Request" representing the
  2788  // client's request for the StartPipelineReprocessing operation. The "output" return
  2789  // value will be populated with the request's response once the request completes
  2790  // successfully.
  2791  //
  2792  // Use "Send" method on the returned Request to send the API call to the service.
  2793  // the "output" return value is not valid until after Send returns without error.
  2794  //
  2795  // See StartPipelineReprocessing for more information on using the StartPipelineReprocessing
  2796  // API call, and error handling.
  2797  //
  2798  // This method is useful when you want to inject custom logic or configuration
  2799  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2800  //
  2801  //
  2802  //    // Example sending a request using the StartPipelineReprocessingRequest method.
  2803  //    req, resp := client.StartPipelineReprocessingRequest(params)
  2804  //
  2805  //    err := req.Send()
  2806  //    if err == nil { // resp is now filled
  2807  //        fmt.Println(resp)
  2808  //    }
  2809  //
  2810  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/StartPipelineReprocessing
  2811  func (c *IoTAnalytics) StartPipelineReprocessingRequest(input *StartPipelineReprocessingInput) (req *request.Request, output *StartPipelineReprocessingOutput) {
  2812  	op := &request.Operation{
  2813  		Name:       opStartPipelineReprocessing,
  2814  		HTTPMethod: "POST",
  2815  		HTTPPath:   "/pipelines/{pipelineName}/reprocessing",
  2816  	}
  2817  
  2818  	if input == nil {
  2819  		input = &StartPipelineReprocessingInput{}
  2820  	}
  2821  
  2822  	output = &StartPipelineReprocessingOutput{}
  2823  	req = c.newRequest(op, input, output)
  2824  	return
  2825  }
  2826  
  2827  // StartPipelineReprocessing API operation for AWS IoT Analytics.
  2828  //
  2829  // Starts the reprocessing of raw message data through the pipeline.
  2830  //
  2831  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2832  // with awserr.Error's Code and Message methods to get detailed information about
  2833  // the error.
  2834  //
  2835  // See the AWS API reference guide for AWS IoT Analytics's
  2836  // API operation StartPipelineReprocessing for usage and error information.
  2837  //
  2838  // Returned Error Types:
  2839  //   * ResourceNotFoundException
  2840  //   A resource with the specified name could not be found.
  2841  //
  2842  //   * ResourceAlreadyExistsException
  2843  //   A resource with the same name already exists.
  2844  //
  2845  //   * InvalidRequestException
  2846  //   The request was not valid.
  2847  //
  2848  //   * InternalFailureException
  2849  //   There was an internal failure.
  2850  //
  2851  //   * ServiceUnavailableException
  2852  //   The service is temporarily unavailable.
  2853  //
  2854  //   * ThrottlingException
  2855  //   The request was denied due to request throttling.
  2856  //
  2857  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/StartPipelineReprocessing
  2858  func (c *IoTAnalytics) StartPipelineReprocessing(input *StartPipelineReprocessingInput) (*StartPipelineReprocessingOutput, error) {
  2859  	req, out := c.StartPipelineReprocessingRequest(input)
  2860  	return out, req.Send()
  2861  }
  2862  
  2863  // StartPipelineReprocessingWithContext is the same as StartPipelineReprocessing with the addition of
  2864  // the ability to pass a context and additional request options.
  2865  //
  2866  // See StartPipelineReprocessing for details on how to use this API operation.
  2867  //
  2868  // The context must be non-nil and will be used for request cancellation. If
  2869  // the context is nil a panic will occur. In the future the SDK may create
  2870  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2871  // for more information on using Contexts.
  2872  func (c *IoTAnalytics) StartPipelineReprocessingWithContext(ctx aws.Context, input *StartPipelineReprocessingInput, opts ...request.Option) (*StartPipelineReprocessingOutput, error) {
  2873  	req, out := c.StartPipelineReprocessingRequest(input)
  2874  	req.SetContext(ctx)
  2875  	req.ApplyOptions(opts...)
  2876  	return out, req.Send()
  2877  }
  2878  
  2879  const opTagResource = "TagResource"
  2880  
  2881  // TagResourceRequest generates a "aws/request.Request" representing the
  2882  // client's request for the TagResource operation. The "output" return
  2883  // value will be populated with the request's response once the request completes
  2884  // successfully.
  2885  //
  2886  // Use "Send" method on the returned Request to send the API call to the service.
  2887  // the "output" return value is not valid until after Send returns without error.
  2888  //
  2889  // See TagResource for more information on using the TagResource
  2890  // API call, and error handling.
  2891  //
  2892  // This method is useful when you want to inject custom logic or configuration
  2893  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2894  //
  2895  //
  2896  //    // Example sending a request using the TagResourceRequest method.
  2897  //    req, resp := client.TagResourceRequest(params)
  2898  //
  2899  //    err := req.Send()
  2900  //    if err == nil { // resp is now filled
  2901  //        fmt.Println(resp)
  2902  //    }
  2903  //
  2904  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/TagResource
  2905  func (c *IoTAnalytics) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2906  	op := &request.Operation{
  2907  		Name:       opTagResource,
  2908  		HTTPMethod: "POST",
  2909  		HTTPPath:   "/tags",
  2910  	}
  2911  
  2912  	if input == nil {
  2913  		input = &TagResourceInput{}
  2914  	}
  2915  
  2916  	output = &TagResourceOutput{}
  2917  	req = c.newRequest(op, input, output)
  2918  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2919  	return
  2920  }
  2921  
  2922  // TagResource API operation for AWS IoT Analytics.
  2923  //
  2924  // Adds to or modifies the tags of the given resource. Tags are metadata that
  2925  // can be used to manage a resource.
  2926  //
  2927  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2928  // with awserr.Error's Code and Message methods to get detailed information about
  2929  // the error.
  2930  //
  2931  // See the AWS API reference guide for AWS IoT Analytics's
  2932  // API operation TagResource for usage and error information.
  2933  //
  2934  // Returned Error Types:
  2935  //   * InvalidRequestException
  2936  //   The request was not valid.
  2937  //
  2938  //   * InternalFailureException
  2939  //   There was an internal failure.
  2940  //
  2941  //   * ServiceUnavailableException
  2942  //   The service is temporarily unavailable.
  2943  //
  2944  //   * ThrottlingException
  2945  //   The request was denied due to request throttling.
  2946  //
  2947  //   * LimitExceededException
  2948  //   The command caused an internal limit to be exceeded.
  2949  //
  2950  //   * ResourceNotFoundException
  2951  //   A resource with the specified name could not be found.
  2952  //
  2953  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/TagResource
  2954  func (c *IoTAnalytics) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2955  	req, out := c.TagResourceRequest(input)
  2956  	return out, req.Send()
  2957  }
  2958  
  2959  // TagResourceWithContext is the same as TagResource with the addition of
  2960  // the ability to pass a context and additional request options.
  2961  //
  2962  // See TagResource for details on how to use this API operation.
  2963  //
  2964  // The context must be non-nil and will be used for request cancellation. If
  2965  // the context is nil a panic will occur. In the future the SDK may create
  2966  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2967  // for more information on using Contexts.
  2968  func (c *IoTAnalytics) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2969  	req, out := c.TagResourceRequest(input)
  2970  	req.SetContext(ctx)
  2971  	req.ApplyOptions(opts...)
  2972  	return out, req.Send()
  2973  }
  2974  
  2975  const opUntagResource = "UntagResource"
  2976  
  2977  // UntagResourceRequest generates a "aws/request.Request" representing the
  2978  // client's request for the UntagResource operation. The "output" return
  2979  // value will be populated with the request's response once the request completes
  2980  // successfully.
  2981  //
  2982  // Use "Send" method on the returned Request to send the API call to the service.
  2983  // the "output" return value is not valid until after Send returns without error.
  2984  //
  2985  // See UntagResource for more information on using the UntagResource
  2986  // API call, and error handling.
  2987  //
  2988  // This method is useful when you want to inject custom logic or configuration
  2989  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2990  //
  2991  //
  2992  //    // Example sending a request using the UntagResourceRequest method.
  2993  //    req, resp := client.UntagResourceRequest(params)
  2994  //
  2995  //    err := req.Send()
  2996  //    if err == nil { // resp is now filled
  2997  //        fmt.Println(resp)
  2998  //    }
  2999  //
  3000  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/UntagResource
  3001  func (c *IoTAnalytics) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  3002  	op := &request.Operation{
  3003  		Name:       opUntagResource,
  3004  		HTTPMethod: "DELETE",
  3005  		HTTPPath:   "/tags",
  3006  	}
  3007  
  3008  	if input == nil {
  3009  		input = &UntagResourceInput{}
  3010  	}
  3011  
  3012  	output = &UntagResourceOutput{}
  3013  	req = c.newRequest(op, input, output)
  3014  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3015  	return
  3016  }
  3017  
  3018  // UntagResource API operation for AWS IoT Analytics.
  3019  //
  3020  // Removes the given tags (metadata) from the resource.
  3021  //
  3022  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3023  // with awserr.Error's Code and Message methods to get detailed information about
  3024  // the error.
  3025  //
  3026  // See the AWS API reference guide for AWS IoT Analytics's
  3027  // API operation UntagResource for usage and error information.
  3028  //
  3029  // Returned Error Types:
  3030  //   * InvalidRequestException
  3031  //   The request was not valid.
  3032  //
  3033  //   * InternalFailureException
  3034  //   There was an internal failure.
  3035  //
  3036  //   * ServiceUnavailableException
  3037  //   The service is temporarily unavailable.
  3038  //
  3039  //   * ThrottlingException
  3040  //   The request was denied due to request throttling.
  3041  //
  3042  //   * LimitExceededException
  3043  //   The command caused an internal limit to be exceeded.
  3044  //
  3045  //   * ResourceNotFoundException
  3046  //   A resource with the specified name could not be found.
  3047  //
  3048  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/UntagResource
  3049  func (c *IoTAnalytics) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  3050  	req, out := c.UntagResourceRequest(input)
  3051  	return out, req.Send()
  3052  }
  3053  
  3054  // UntagResourceWithContext is the same as UntagResource with the addition of
  3055  // the ability to pass a context and additional request options.
  3056  //
  3057  // See UntagResource for details on how to use this API operation.
  3058  //
  3059  // The context must be non-nil and will be used for request cancellation. If
  3060  // the context is nil a panic will occur. In the future the SDK may create
  3061  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3062  // for more information on using Contexts.
  3063  func (c *IoTAnalytics) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  3064  	req, out := c.UntagResourceRequest(input)
  3065  	req.SetContext(ctx)
  3066  	req.ApplyOptions(opts...)
  3067  	return out, req.Send()
  3068  }
  3069  
  3070  const opUpdateChannel = "UpdateChannel"
  3071  
  3072  // UpdateChannelRequest generates a "aws/request.Request" representing the
  3073  // client's request for the UpdateChannel operation. The "output" return
  3074  // value will be populated with the request's response once the request completes
  3075  // successfully.
  3076  //
  3077  // Use "Send" method on the returned Request to send the API call to the service.
  3078  // the "output" return value is not valid until after Send returns without error.
  3079  //
  3080  // See UpdateChannel for more information on using the UpdateChannel
  3081  // API call, and error handling.
  3082  //
  3083  // This method is useful when you want to inject custom logic or configuration
  3084  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3085  //
  3086  //
  3087  //    // Example sending a request using the UpdateChannelRequest method.
  3088  //    req, resp := client.UpdateChannelRequest(params)
  3089  //
  3090  //    err := req.Send()
  3091  //    if err == nil { // resp is now filled
  3092  //        fmt.Println(resp)
  3093  //    }
  3094  //
  3095  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/UpdateChannel
  3096  func (c *IoTAnalytics) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) {
  3097  	op := &request.Operation{
  3098  		Name:       opUpdateChannel,
  3099  		HTTPMethod: "PUT",
  3100  		HTTPPath:   "/channels/{channelName}",
  3101  	}
  3102  
  3103  	if input == nil {
  3104  		input = &UpdateChannelInput{}
  3105  	}
  3106  
  3107  	output = &UpdateChannelOutput{}
  3108  	req = c.newRequest(op, input, output)
  3109  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3110  	return
  3111  }
  3112  
  3113  // UpdateChannel API operation for AWS IoT Analytics.
  3114  //
  3115  // Used to update the settings of a channel.
  3116  //
  3117  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3118  // with awserr.Error's Code and Message methods to get detailed information about
  3119  // the error.
  3120  //
  3121  // See the AWS API reference guide for AWS IoT Analytics's
  3122  // API operation UpdateChannel for usage and error information.
  3123  //
  3124  // Returned Error Types:
  3125  //   * InvalidRequestException
  3126  //   The request was not valid.
  3127  //
  3128  //   * ResourceNotFoundException
  3129  //   A resource with the specified name could not be found.
  3130  //
  3131  //   * InternalFailureException
  3132  //   There was an internal failure.
  3133  //
  3134  //   * ServiceUnavailableException
  3135  //   The service is temporarily unavailable.
  3136  //
  3137  //   * ThrottlingException
  3138  //   The request was denied due to request throttling.
  3139  //
  3140  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/UpdateChannel
  3141  func (c *IoTAnalytics) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) {
  3142  	req, out := c.UpdateChannelRequest(input)
  3143  	return out, req.Send()
  3144  }
  3145  
  3146  // UpdateChannelWithContext is the same as UpdateChannel with the addition of
  3147  // the ability to pass a context and additional request options.
  3148  //
  3149  // See UpdateChannel for details on how to use this API operation.
  3150  //
  3151  // The context must be non-nil and will be used for request cancellation. If
  3152  // the context is nil a panic will occur. In the future the SDK may create
  3153  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3154  // for more information on using Contexts.
  3155  func (c *IoTAnalytics) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) {
  3156  	req, out := c.UpdateChannelRequest(input)
  3157  	req.SetContext(ctx)
  3158  	req.ApplyOptions(opts...)
  3159  	return out, req.Send()
  3160  }
  3161  
  3162  const opUpdateDataset = "UpdateDataset"
  3163  
  3164  // UpdateDatasetRequest generates a "aws/request.Request" representing the
  3165  // client's request for the UpdateDataset operation. The "output" return
  3166  // value will be populated with the request's response once the request completes
  3167  // successfully.
  3168  //
  3169  // Use "Send" method on the returned Request to send the API call to the service.
  3170  // the "output" return value is not valid until after Send returns without error.
  3171  //
  3172  // See UpdateDataset for more information on using the UpdateDataset
  3173  // API call, and error handling.
  3174  //
  3175  // This method is useful when you want to inject custom logic or configuration
  3176  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3177  //
  3178  //
  3179  //    // Example sending a request using the UpdateDatasetRequest method.
  3180  //    req, resp := client.UpdateDatasetRequest(params)
  3181  //
  3182  //    err := req.Send()
  3183  //    if err == nil { // resp is now filled
  3184  //        fmt.Println(resp)
  3185  //    }
  3186  //
  3187  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/UpdateDataset
  3188  func (c *IoTAnalytics) UpdateDatasetRequest(input *UpdateDatasetInput) (req *request.Request, output *UpdateDatasetOutput) {
  3189  	op := &request.Operation{
  3190  		Name:       opUpdateDataset,
  3191  		HTTPMethod: "PUT",
  3192  		HTTPPath:   "/datasets/{datasetName}",
  3193  	}
  3194  
  3195  	if input == nil {
  3196  		input = &UpdateDatasetInput{}
  3197  	}
  3198  
  3199  	output = &UpdateDatasetOutput{}
  3200  	req = c.newRequest(op, input, output)
  3201  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3202  	return
  3203  }
  3204  
  3205  // UpdateDataset API operation for AWS IoT Analytics.
  3206  //
  3207  // Updates the settings of a dataset.
  3208  //
  3209  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3210  // with awserr.Error's Code and Message methods to get detailed information about
  3211  // the error.
  3212  //
  3213  // See the AWS API reference guide for AWS IoT Analytics's
  3214  // API operation UpdateDataset for usage and error information.
  3215  //
  3216  // Returned Error Types:
  3217  //   * InvalidRequestException
  3218  //   The request was not valid.
  3219  //
  3220  //   * ResourceNotFoundException
  3221  //   A resource with the specified name could not be found.
  3222  //
  3223  //   * InternalFailureException
  3224  //   There was an internal failure.
  3225  //
  3226  //   * ServiceUnavailableException
  3227  //   The service is temporarily unavailable.
  3228  //
  3229  //   * ThrottlingException
  3230  //   The request was denied due to request throttling.
  3231  //
  3232  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/UpdateDataset
  3233  func (c *IoTAnalytics) UpdateDataset(input *UpdateDatasetInput) (*UpdateDatasetOutput, error) {
  3234  	req, out := c.UpdateDatasetRequest(input)
  3235  	return out, req.Send()
  3236  }
  3237  
  3238  // UpdateDatasetWithContext is the same as UpdateDataset with the addition of
  3239  // the ability to pass a context and additional request options.
  3240  //
  3241  // See UpdateDataset for details on how to use this API operation.
  3242  //
  3243  // The context must be non-nil and will be used for request cancellation. If
  3244  // the context is nil a panic will occur. In the future the SDK may create
  3245  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3246  // for more information on using Contexts.
  3247  func (c *IoTAnalytics) UpdateDatasetWithContext(ctx aws.Context, input *UpdateDatasetInput, opts ...request.Option) (*UpdateDatasetOutput, error) {
  3248  	req, out := c.UpdateDatasetRequest(input)
  3249  	req.SetContext(ctx)
  3250  	req.ApplyOptions(opts...)
  3251  	return out, req.Send()
  3252  }
  3253  
  3254  const opUpdateDatastore = "UpdateDatastore"
  3255  
  3256  // UpdateDatastoreRequest generates a "aws/request.Request" representing the
  3257  // client's request for the UpdateDatastore operation. The "output" return
  3258  // value will be populated with the request's response once the request completes
  3259  // successfully.
  3260  //
  3261  // Use "Send" method on the returned Request to send the API call to the service.
  3262  // the "output" return value is not valid until after Send returns without error.
  3263  //
  3264  // See UpdateDatastore for more information on using the UpdateDatastore
  3265  // API call, and error handling.
  3266  //
  3267  // This method is useful when you want to inject custom logic or configuration
  3268  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3269  //
  3270  //
  3271  //    // Example sending a request using the UpdateDatastoreRequest method.
  3272  //    req, resp := client.UpdateDatastoreRequest(params)
  3273  //
  3274  //    err := req.Send()
  3275  //    if err == nil { // resp is now filled
  3276  //        fmt.Println(resp)
  3277  //    }
  3278  //
  3279  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/UpdateDatastore
  3280  func (c *IoTAnalytics) UpdateDatastoreRequest(input *UpdateDatastoreInput) (req *request.Request, output *UpdateDatastoreOutput) {
  3281  	op := &request.Operation{
  3282  		Name:       opUpdateDatastore,
  3283  		HTTPMethod: "PUT",
  3284  		HTTPPath:   "/datastores/{datastoreName}",
  3285  	}
  3286  
  3287  	if input == nil {
  3288  		input = &UpdateDatastoreInput{}
  3289  	}
  3290  
  3291  	output = &UpdateDatastoreOutput{}
  3292  	req = c.newRequest(op, input, output)
  3293  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3294  	return
  3295  }
  3296  
  3297  // UpdateDatastore API operation for AWS IoT Analytics.
  3298  //
  3299  // Used to update the settings of a data store.
  3300  //
  3301  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3302  // with awserr.Error's Code and Message methods to get detailed information about
  3303  // the error.
  3304  //
  3305  // See the AWS API reference guide for AWS IoT Analytics's
  3306  // API operation UpdateDatastore for usage and error information.
  3307  //
  3308  // Returned Error Types:
  3309  //   * InvalidRequestException
  3310  //   The request was not valid.
  3311  //
  3312  //   * ResourceNotFoundException
  3313  //   A resource with the specified name could not be found.
  3314  //
  3315  //   * InternalFailureException
  3316  //   There was an internal failure.
  3317  //
  3318  //   * ServiceUnavailableException
  3319  //   The service is temporarily unavailable.
  3320  //
  3321  //   * ThrottlingException
  3322  //   The request was denied due to request throttling.
  3323  //
  3324  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/UpdateDatastore
  3325  func (c *IoTAnalytics) UpdateDatastore(input *UpdateDatastoreInput) (*UpdateDatastoreOutput, error) {
  3326  	req, out := c.UpdateDatastoreRequest(input)
  3327  	return out, req.Send()
  3328  }
  3329  
  3330  // UpdateDatastoreWithContext is the same as UpdateDatastore with the addition of
  3331  // the ability to pass a context and additional request options.
  3332  //
  3333  // See UpdateDatastore for details on how to use this API operation.
  3334  //
  3335  // The context must be non-nil and will be used for request cancellation. If
  3336  // the context is nil a panic will occur. In the future the SDK may create
  3337  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3338  // for more information on using Contexts.
  3339  func (c *IoTAnalytics) UpdateDatastoreWithContext(ctx aws.Context, input *UpdateDatastoreInput, opts ...request.Option) (*UpdateDatastoreOutput, error) {
  3340  	req, out := c.UpdateDatastoreRequest(input)
  3341  	req.SetContext(ctx)
  3342  	req.ApplyOptions(opts...)
  3343  	return out, req.Send()
  3344  }
  3345  
  3346  const opUpdatePipeline = "UpdatePipeline"
  3347  
  3348  // UpdatePipelineRequest generates a "aws/request.Request" representing the
  3349  // client's request for the UpdatePipeline operation. The "output" return
  3350  // value will be populated with the request's response once the request completes
  3351  // successfully.
  3352  //
  3353  // Use "Send" method on the returned Request to send the API call to the service.
  3354  // the "output" return value is not valid until after Send returns without error.
  3355  //
  3356  // See UpdatePipeline for more information on using the UpdatePipeline
  3357  // API call, and error handling.
  3358  //
  3359  // This method is useful when you want to inject custom logic or configuration
  3360  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3361  //
  3362  //
  3363  //    // Example sending a request using the UpdatePipelineRequest method.
  3364  //    req, resp := client.UpdatePipelineRequest(params)
  3365  //
  3366  //    err := req.Send()
  3367  //    if err == nil { // resp is now filled
  3368  //        fmt.Println(resp)
  3369  //    }
  3370  //
  3371  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/UpdatePipeline
  3372  func (c *IoTAnalytics) UpdatePipelineRequest(input *UpdatePipelineInput) (req *request.Request, output *UpdatePipelineOutput) {
  3373  	op := &request.Operation{
  3374  		Name:       opUpdatePipeline,
  3375  		HTTPMethod: "PUT",
  3376  		HTTPPath:   "/pipelines/{pipelineName}",
  3377  	}
  3378  
  3379  	if input == nil {
  3380  		input = &UpdatePipelineInput{}
  3381  	}
  3382  
  3383  	output = &UpdatePipelineOutput{}
  3384  	req = c.newRequest(op, input, output)
  3385  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3386  	return
  3387  }
  3388  
  3389  // UpdatePipeline API operation for AWS IoT Analytics.
  3390  //
  3391  // Updates the settings of a pipeline. You must specify both a channel and a
  3392  // datastore activity and, optionally, as many as 23 additional activities in
  3393  // the pipelineActivities array.
  3394  //
  3395  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3396  // with awserr.Error's Code and Message methods to get detailed information about
  3397  // the error.
  3398  //
  3399  // See the AWS API reference guide for AWS IoT Analytics's
  3400  // API operation UpdatePipeline for usage and error information.
  3401  //
  3402  // Returned Error Types:
  3403  //   * InvalidRequestException
  3404  //   The request was not valid.
  3405  //
  3406  //   * ResourceNotFoundException
  3407  //   A resource with the specified name could not be found.
  3408  //
  3409  //   * InternalFailureException
  3410  //   There was an internal failure.
  3411  //
  3412  //   * ServiceUnavailableException
  3413  //   The service is temporarily unavailable.
  3414  //
  3415  //   * ThrottlingException
  3416  //   The request was denied due to request throttling.
  3417  //
  3418  //   * LimitExceededException
  3419  //   The command caused an internal limit to be exceeded.
  3420  //
  3421  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/UpdatePipeline
  3422  func (c *IoTAnalytics) UpdatePipeline(input *UpdatePipelineInput) (*UpdatePipelineOutput, error) {
  3423  	req, out := c.UpdatePipelineRequest(input)
  3424  	return out, req.Send()
  3425  }
  3426  
  3427  // UpdatePipelineWithContext is the same as UpdatePipeline with the addition of
  3428  // the ability to pass a context and additional request options.
  3429  //
  3430  // See UpdatePipeline for details on how to use this API operation.
  3431  //
  3432  // The context must be non-nil and will be used for request cancellation. If
  3433  // the context is nil a panic will occur. In the future the SDK may create
  3434  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3435  // for more information on using Contexts.
  3436  func (c *IoTAnalytics) UpdatePipelineWithContext(ctx aws.Context, input *UpdatePipelineInput, opts ...request.Option) (*UpdatePipelineOutput, error) {
  3437  	req, out := c.UpdatePipelineRequest(input)
  3438  	req.SetContext(ctx)
  3439  	req.ApplyOptions(opts...)
  3440  	return out, req.Send()
  3441  }
  3442  
  3443  // An activity that adds other attributes based on existing attributes in the
  3444  // message.
  3445  type AddAttributesActivity struct {
  3446  	_ struct{} `type:"structure"`
  3447  
  3448  	// A list of 1-50 AttributeNameMapping objects that map an existing attribute
  3449  	// to a new attribute.
  3450  	//
  3451  	// The existing attributes remain in the message, so if you want to remove the
  3452  	// originals, use RemoveAttributeActivity.
  3453  	//
  3454  	// Attributes is a required field
  3455  	Attributes map[string]*string `locationName:"attributes" min:"1" type:"map" required:"true"`
  3456  
  3457  	// The name of the addAttributes activity.
  3458  	//
  3459  	// Name is a required field
  3460  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  3461  
  3462  	// The next activity in the pipeline.
  3463  	Next *string `locationName:"next" min:"1" type:"string"`
  3464  }
  3465  
  3466  // String returns the string representation.
  3467  //
  3468  // API parameter values that are decorated as "sensitive" in the API will not
  3469  // be included in the string output. The member name will be present, but the
  3470  // value will be replaced with "sensitive".
  3471  func (s AddAttributesActivity) String() string {
  3472  	return awsutil.Prettify(s)
  3473  }
  3474  
  3475  // GoString returns the string representation.
  3476  //
  3477  // API parameter values that are decorated as "sensitive" in the API will not
  3478  // be included in the string output. The member name will be present, but the
  3479  // value will be replaced with "sensitive".
  3480  func (s AddAttributesActivity) GoString() string {
  3481  	return s.String()
  3482  }
  3483  
  3484  // Validate inspects the fields of the type to determine if they are valid.
  3485  func (s *AddAttributesActivity) Validate() error {
  3486  	invalidParams := request.ErrInvalidParams{Context: "AddAttributesActivity"}
  3487  	if s.Attributes == nil {
  3488  		invalidParams.Add(request.NewErrParamRequired("Attributes"))
  3489  	}
  3490  	if s.Attributes != nil && len(s.Attributes) < 1 {
  3491  		invalidParams.Add(request.NewErrParamMinLen("Attributes", 1))
  3492  	}
  3493  	if s.Name == nil {
  3494  		invalidParams.Add(request.NewErrParamRequired("Name"))
  3495  	}
  3496  	if s.Name != nil && len(*s.Name) < 1 {
  3497  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3498  	}
  3499  	if s.Next != nil && len(*s.Next) < 1 {
  3500  		invalidParams.Add(request.NewErrParamMinLen("Next", 1))
  3501  	}
  3502  
  3503  	if invalidParams.Len() > 0 {
  3504  		return invalidParams
  3505  	}
  3506  	return nil
  3507  }
  3508  
  3509  // SetAttributes sets the Attributes field's value.
  3510  func (s *AddAttributesActivity) SetAttributes(v map[string]*string) *AddAttributesActivity {
  3511  	s.Attributes = v
  3512  	return s
  3513  }
  3514  
  3515  // SetName sets the Name field's value.
  3516  func (s *AddAttributesActivity) SetName(v string) *AddAttributesActivity {
  3517  	s.Name = &v
  3518  	return s
  3519  }
  3520  
  3521  // SetNext sets the Next field's value.
  3522  func (s *AddAttributesActivity) SetNext(v string) *AddAttributesActivity {
  3523  	s.Next = &v
  3524  	return s
  3525  }
  3526  
  3527  // Contains informations about errors.
  3528  type BatchPutMessageErrorEntry struct {
  3529  	_ struct{} `type:"structure"`
  3530  
  3531  	// The code associated with the error.
  3532  	ErrorCode *string `locationName:"errorCode" type:"string"`
  3533  
  3534  	// The message associated with the error.
  3535  	ErrorMessage *string `locationName:"errorMessage" type:"string"`
  3536  
  3537  	// The ID of the message that caused the error. See the value corresponding
  3538  	// to the messageId key in the message object.
  3539  	MessageId *string `locationName:"messageId" min:"1" type:"string"`
  3540  }
  3541  
  3542  // String returns the string representation.
  3543  //
  3544  // API parameter values that are decorated as "sensitive" in the API will not
  3545  // be included in the string output. The member name will be present, but the
  3546  // value will be replaced with "sensitive".
  3547  func (s BatchPutMessageErrorEntry) String() string {
  3548  	return awsutil.Prettify(s)
  3549  }
  3550  
  3551  // GoString returns the string representation.
  3552  //
  3553  // API parameter values that are decorated as "sensitive" in the API will not
  3554  // be included in the string output. The member name will be present, but the
  3555  // value will be replaced with "sensitive".
  3556  func (s BatchPutMessageErrorEntry) GoString() string {
  3557  	return s.String()
  3558  }
  3559  
  3560  // SetErrorCode sets the ErrorCode field's value.
  3561  func (s *BatchPutMessageErrorEntry) SetErrorCode(v string) *BatchPutMessageErrorEntry {
  3562  	s.ErrorCode = &v
  3563  	return s
  3564  }
  3565  
  3566  // SetErrorMessage sets the ErrorMessage field's value.
  3567  func (s *BatchPutMessageErrorEntry) SetErrorMessage(v string) *BatchPutMessageErrorEntry {
  3568  	s.ErrorMessage = &v
  3569  	return s
  3570  }
  3571  
  3572  // SetMessageId sets the MessageId field's value.
  3573  func (s *BatchPutMessageErrorEntry) SetMessageId(v string) *BatchPutMessageErrorEntry {
  3574  	s.MessageId = &v
  3575  	return s
  3576  }
  3577  
  3578  type BatchPutMessageInput struct {
  3579  	_ struct{} `type:"structure"`
  3580  
  3581  	// The name of the channel where the messages are sent.
  3582  	//
  3583  	// ChannelName is a required field
  3584  	ChannelName *string `locationName:"channelName" min:"1" type:"string" required:"true"`
  3585  
  3586  	// The list of messages to be sent. Each message has the format: { "messageId":
  3587  	// "string", "payload": "string"}.
  3588  	//
  3589  	// The field names of message payloads (data) that you send to IoT Analytics:
  3590  	//
  3591  	//    * Must contain only alphanumeric characters and undescores (_). No other
  3592  	//    special characters are allowed.
  3593  	//
  3594  	//    * Must begin with an alphabetic character or single underscore (_).
  3595  	//
  3596  	//    * Cannot contain hyphens (-).
  3597  	//
  3598  	//    * In regular expression terms: "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$".
  3599  	//
  3600  	//    * Cannot be more than 255 characters.
  3601  	//
  3602  	//    * Are case insensitive. (Fields named foo and FOO in the same payload
  3603  	//    are considered duplicates.)
  3604  	//
  3605  	// For example, {"temp_01": 29} or {"_temp_01": 29} are valid, but {"temp-01":
  3606  	// 29}, {"01_temp": 29} or {"__temp_01": 29} are invalid in message payloads.
  3607  	//
  3608  	// Messages is a required field
  3609  	Messages []*Message `locationName:"messages" type:"list" required:"true"`
  3610  }
  3611  
  3612  // String returns the string representation.
  3613  //
  3614  // API parameter values that are decorated as "sensitive" in the API will not
  3615  // be included in the string output. The member name will be present, but the
  3616  // value will be replaced with "sensitive".
  3617  func (s BatchPutMessageInput) String() string {
  3618  	return awsutil.Prettify(s)
  3619  }
  3620  
  3621  // GoString returns the string representation.
  3622  //
  3623  // API parameter values that are decorated as "sensitive" in the API will not
  3624  // be included in the string output. The member name will be present, but the
  3625  // value will be replaced with "sensitive".
  3626  func (s BatchPutMessageInput) GoString() string {
  3627  	return s.String()
  3628  }
  3629  
  3630  // Validate inspects the fields of the type to determine if they are valid.
  3631  func (s *BatchPutMessageInput) Validate() error {
  3632  	invalidParams := request.ErrInvalidParams{Context: "BatchPutMessageInput"}
  3633  	if s.ChannelName == nil {
  3634  		invalidParams.Add(request.NewErrParamRequired("ChannelName"))
  3635  	}
  3636  	if s.ChannelName != nil && len(*s.ChannelName) < 1 {
  3637  		invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1))
  3638  	}
  3639  	if s.Messages == nil {
  3640  		invalidParams.Add(request.NewErrParamRequired("Messages"))
  3641  	}
  3642  	if s.Messages != nil {
  3643  		for i, v := range s.Messages {
  3644  			if v == nil {
  3645  				continue
  3646  			}
  3647  			if err := v.Validate(); err != nil {
  3648  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Messages", i), err.(request.ErrInvalidParams))
  3649  			}
  3650  		}
  3651  	}
  3652  
  3653  	if invalidParams.Len() > 0 {
  3654  		return invalidParams
  3655  	}
  3656  	return nil
  3657  }
  3658  
  3659  // SetChannelName sets the ChannelName field's value.
  3660  func (s *BatchPutMessageInput) SetChannelName(v string) *BatchPutMessageInput {
  3661  	s.ChannelName = &v
  3662  	return s
  3663  }
  3664  
  3665  // SetMessages sets the Messages field's value.
  3666  func (s *BatchPutMessageInput) SetMessages(v []*Message) *BatchPutMessageInput {
  3667  	s.Messages = v
  3668  	return s
  3669  }
  3670  
  3671  type BatchPutMessageOutput struct {
  3672  	_ struct{} `type:"structure"`
  3673  
  3674  	// A list of any errors encountered when sending the messages to the channel.
  3675  	BatchPutMessageErrorEntries []*BatchPutMessageErrorEntry `locationName:"batchPutMessageErrorEntries" type:"list"`
  3676  }
  3677  
  3678  // String returns the string representation.
  3679  //
  3680  // API parameter values that are decorated as "sensitive" in the API will not
  3681  // be included in the string output. The member name will be present, but the
  3682  // value will be replaced with "sensitive".
  3683  func (s BatchPutMessageOutput) String() string {
  3684  	return awsutil.Prettify(s)
  3685  }
  3686  
  3687  // GoString returns the string representation.
  3688  //
  3689  // API parameter values that are decorated as "sensitive" in the API will not
  3690  // be included in the string output. The member name will be present, but the
  3691  // value will be replaced with "sensitive".
  3692  func (s BatchPutMessageOutput) GoString() string {
  3693  	return s.String()
  3694  }
  3695  
  3696  // SetBatchPutMessageErrorEntries sets the BatchPutMessageErrorEntries field's value.
  3697  func (s *BatchPutMessageOutput) SetBatchPutMessageErrorEntries(v []*BatchPutMessageErrorEntry) *BatchPutMessageOutput {
  3698  	s.BatchPutMessageErrorEntries = v
  3699  	return s
  3700  }
  3701  
  3702  type CancelPipelineReprocessingInput struct {
  3703  	_ struct{} `type:"structure" nopayload:"true"`
  3704  
  3705  	// The name of pipeline for which data reprocessing is canceled.
  3706  	//
  3707  	// PipelineName is a required field
  3708  	PipelineName *string `location:"uri" locationName:"pipelineName" min:"1" type:"string" required:"true"`
  3709  
  3710  	// The ID of the reprocessing task (returned by StartPipelineReprocessing).
  3711  	//
  3712  	// ReprocessingId is a required field
  3713  	ReprocessingId *string `location:"uri" locationName:"reprocessingId" type:"string" required:"true"`
  3714  }
  3715  
  3716  // String returns the string representation.
  3717  //
  3718  // API parameter values that are decorated as "sensitive" in the API will not
  3719  // be included in the string output. The member name will be present, but the
  3720  // value will be replaced with "sensitive".
  3721  func (s CancelPipelineReprocessingInput) String() string {
  3722  	return awsutil.Prettify(s)
  3723  }
  3724  
  3725  // GoString returns the string representation.
  3726  //
  3727  // API parameter values that are decorated as "sensitive" in the API will not
  3728  // be included in the string output. The member name will be present, but the
  3729  // value will be replaced with "sensitive".
  3730  func (s CancelPipelineReprocessingInput) GoString() string {
  3731  	return s.String()
  3732  }
  3733  
  3734  // Validate inspects the fields of the type to determine if they are valid.
  3735  func (s *CancelPipelineReprocessingInput) Validate() error {
  3736  	invalidParams := request.ErrInvalidParams{Context: "CancelPipelineReprocessingInput"}
  3737  	if s.PipelineName == nil {
  3738  		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
  3739  	}
  3740  	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
  3741  		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
  3742  	}
  3743  	if s.ReprocessingId == nil {
  3744  		invalidParams.Add(request.NewErrParamRequired("ReprocessingId"))
  3745  	}
  3746  	if s.ReprocessingId != nil && len(*s.ReprocessingId) < 1 {
  3747  		invalidParams.Add(request.NewErrParamMinLen("ReprocessingId", 1))
  3748  	}
  3749  
  3750  	if invalidParams.Len() > 0 {
  3751  		return invalidParams
  3752  	}
  3753  	return nil
  3754  }
  3755  
  3756  // SetPipelineName sets the PipelineName field's value.
  3757  func (s *CancelPipelineReprocessingInput) SetPipelineName(v string) *CancelPipelineReprocessingInput {
  3758  	s.PipelineName = &v
  3759  	return s
  3760  }
  3761  
  3762  // SetReprocessingId sets the ReprocessingId field's value.
  3763  func (s *CancelPipelineReprocessingInput) SetReprocessingId(v string) *CancelPipelineReprocessingInput {
  3764  	s.ReprocessingId = &v
  3765  	return s
  3766  }
  3767  
  3768  type CancelPipelineReprocessingOutput struct {
  3769  	_ struct{} `type:"structure" nopayload:"true"`
  3770  }
  3771  
  3772  // String returns the string representation.
  3773  //
  3774  // API parameter values that are decorated as "sensitive" in the API will not
  3775  // be included in the string output. The member name will be present, but the
  3776  // value will be replaced with "sensitive".
  3777  func (s CancelPipelineReprocessingOutput) String() string {
  3778  	return awsutil.Prettify(s)
  3779  }
  3780  
  3781  // GoString returns the string representation.
  3782  //
  3783  // API parameter values that are decorated as "sensitive" in the API will not
  3784  // be included in the string output. The member name will be present, but the
  3785  // value will be replaced with "sensitive".
  3786  func (s CancelPipelineReprocessingOutput) GoString() string {
  3787  	return s.String()
  3788  }
  3789  
  3790  // A collection of data from an MQTT topic. Channels archive the raw, unprocessed
  3791  // messages before publishing the data to a pipeline.
  3792  type Channel struct {
  3793  	_ struct{} `type:"structure"`
  3794  
  3795  	// The ARN of the channel.
  3796  	Arn *string `locationName:"arn" type:"string"`
  3797  
  3798  	// When the channel was created.
  3799  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  3800  
  3801  	// The last time when a new message arrived in the channel.
  3802  	//
  3803  	// IoT Analytics updates this value at most once per minute for one channel.
  3804  	// Hence, the lastMessageArrivalTime value is an approximation.
  3805  	//
  3806  	// This feature only applies to messages that arrived in the data store after
  3807  	// October 23, 2020.
  3808  	LastMessageArrivalTime *time.Time `locationName:"lastMessageArrivalTime" type:"timestamp"`
  3809  
  3810  	// When the channel was last updated.
  3811  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  3812  
  3813  	// The name of the channel.
  3814  	Name *string `locationName:"name" min:"1" type:"string"`
  3815  
  3816  	// How long, in days, message data is kept for the channel.
  3817  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
  3818  
  3819  	// The status of the channel.
  3820  	Status *string `locationName:"status" type:"string" enum:"ChannelStatus"`
  3821  
  3822  	// Where channel data is stored. You can choose one of serviceManagedS3 or customerManagedS3
  3823  	// storage. If not specified, the default is serviceManagedS3. You can't change
  3824  	// this storage option after the channel is created.
  3825  	Storage *ChannelStorage `locationName:"storage" type:"structure"`
  3826  }
  3827  
  3828  // String returns the string representation.
  3829  //
  3830  // API parameter values that are decorated as "sensitive" in the API will not
  3831  // be included in the string output. The member name will be present, but the
  3832  // value will be replaced with "sensitive".
  3833  func (s Channel) String() string {
  3834  	return awsutil.Prettify(s)
  3835  }
  3836  
  3837  // GoString returns the string representation.
  3838  //
  3839  // API parameter values that are decorated as "sensitive" in the API will not
  3840  // be included in the string output. The member name will be present, but the
  3841  // value will be replaced with "sensitive".
  3842  func (s Channel) GoString() string {
  3843  	return s.String()
  3844  }
  3845  
  3846  // SetArn sets the Arn field's value.
  3847  func (s *Channel) SetArn(v string) *Channel {
  3848  	s.Arn = &v
  3849  	return s
  3850  }
  3851  
  3852  // SetCreationTime sets the CreationTime field's value.
  3853  func (s *Channel) SetCreationTime(v time.Time) *Channel {
  3854  	s.CreationTime = &v
  3855  	return s
  3856  }
  3857  
  3858  // SetLastMessageArrivalTime sets the LastMessageArrivalTime field's value.
  3859  func (s *Channel) SetLastMessageArrivalTime(v time.Time) *Channel {
  3860  	s.LastMessageArrivalTime = &v
  3861  	return s
  3862  }
  3863  
  3864  // SetLastUpdateTime sets the LastUpdateTime field's value.
  3865  func (s *Channel) SetLastUpdateTime(v time.Time) *Channel {
  3866  	s.LastUpdateTime = &v
  3867  	return s
  3868  }
  3869  
  3870  // SetName sets the Name field's value.
  3871  func (s *Channel) SetName(v string) *Channel {
  3872  	s.Name = &v
  3873  	return s
  3874  }
  3875  
  3876  // SetRetentionPeriod sets the RetentionPeriod field's value.
  3877  func (s *Channel) SetRetentionPeriod(v *RetentionPeriod) *Channel {
  3878  	s.RetentionPeriod = v
  3879  	return s
  3880  }
  3881  
  3882  // SetStatus sets the Status field's value.
  3883  func (s *Channel) SetStatus(v string) *Channel {
  3884  	s.Status = &v
  3885  	return s
  3886  }
  3887  
  3888  // SetStorage sets the Storage field's value.
  3889  func (s *Channel) SetStorage(v *ChannelStorage) *Channel {
  3890  	s.Storage = v
  3891  	return s
  3892  }
  3893  
  3894  // The activity that determines the source of the messages to be processed.
  3895  type ChannelActivity struct {
  3896  	_ struct{} `type:"structure"`
  3897  
  3898  	// The name of the channel from which the messages are processed.
  3899  	//
  3900  	// ChannelName is a required field
  3901  	ChannelName *string `locationName:"channelName" min:"1" type:"string" required:"true"`
  3902  
  3903  	// The name of the channel activity.
  3904  	//
  3905  	// Name is a required field
  3906  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  3907  
  3908  	// The next activity in the pipeline.
  3909  	Next *string `locationName:"next" min:"1" type:"string"`
  3910  }
  3911  
  3912  // String returns the string representation.
  3913  //
  3914  // API parameter values that are decorated as "sensitive" in the API will not
  3915  // be included in the string output. The member name will be present, but the
  3916  // value will be replaced with "sensitive".
  3917  func (s ChannelActivity) String() string {
  3918  	return awsutil.Prettify(s)
  3919  }
  3920  
  3921  // GoString returns the string representation.
  3922  //
  3923  // API parameter values that are decorated as "sensitive" in the API will not
  3924  // be included in the string output. The member name will be present, but the
  3925  // value will be replaced with "sensitive".
  3926  func (s ChannelActivity) GoString() string {
  3927  	return s.String()
  3928  }
  3929  
  3930  // Validate inspects the fields of the type to determine if they are valid.
  3931  func (s *ChannelActivity) Validate() error {
  3932  	invalidParams := request.ErrInvalidParams{Context: "ChannelActivity"}
  3933  	if s.ChannelName == nil {
  3934  		invalidParams.Add(request.NewErrParamRequired("ChannelName"))
  3935  	}
  3936  	if s.ChannelName != nil && len(*s.ChannelName) < 1 {
  3937  		invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1))
  3938  	}
  3939  	if s.Name == nil {
  3940  		invalidParams.Add(request.NewErrParamRequired("Name"))
  3941  	}
  3942  	if s.Name != nil && len(*s.Name) < 1 {
  3943  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3944  	}
  3945  	if s.Next != nil && len(*s.Next) < 1 {
  3946  		invalidParams.Add(request.NewErrParamMinLen("Next", 1))
  3947  	}
  3948  
  3949  	if invalidParams.Len() > 0 {
  3950  		return invalidParams
  3951  	}
  3952  	return nil
  3953  }
  3954  
  3955  // SetChannelName sets the ChannelName field's value.
  3956  func (s *ChannelActivity) SetChannelName(v string) *ChannelActivity {
  3957  	s.ChannelName = &v
  3958  	return s
  3959  }
  3960  
  3961  // SetName sets the Name field's value.
  3962  func (s *ChannelActivity) SetName(v string) *ChannelActivity {
  3963  	s.Name = &v
  3964  	return s
  3965  }
  3966  
  3967  // SetNext sets the Next field's value.
  3968  func (s *ChannelActivity) SetNext(v string) *ChannelActivity {
  3969  	s.Next = &v
  3970  	return s
  3971  }
  3972  
  3973  // Specifies one or more sets of channel messages.
  3974  type ChannelMessages struct {
  3975  	_ struct{} `type:"structure"`
  3976  
  3977  	// Specifies one or more keys that identify the Amazon Simple Storage Service
  3978  	// (Amazon S3) objects that save your channel messages.
  3979  	//
  3980  	// You must use the full path for the key.
  3981  	//
  3982  	// Example path: channel/mychannel/__dt=2020-02-29 00:00:00/1582940490000_1582940520000_123456789012_mychannel_0_2118.0.json.gz
  3983  	S3Paths []*string `locationName:"s3Paths" min:"1" type:"list"`
  3984  }
  3985  
  3986  // String returns the string representation.
  3987  //
  3988  // API parameter values that are decorated as "sensitive" in the API will not
  3989  // be included in the string output. The member name will be present, but the
  3990  // value will be replaced with "sensitive".
  3991  func (s ChannelMessages) String() string {
  3992  	return awsutil.Prettify(s)
  3993  }
  3994  
  3995  // GoString returns the string representation.
  3996  //
  3997  // API parameter values that are decorated as "sensitive" in the API will not
  3998  // be included in the string output. The member name will be present, but the
  3999  // value will be replaced with "sensitive".
  4000  func (s ChannelMessages) GoString() string {
  4001  	return s.String()
  4002  }
  4003  
  4004  // Validate inspects the fields of the type to determine if they are valid.
  4005  func (s *ChannelMessages) Validate() error {
  4006  	invalidParams := request.ErrInvalidParams{Context: "ChannelMessages"}
  4007  	if s.S3Paths != nil && len(s.S3Paths) < 1 {
  4008  		invalidParams.Add(request.NewErrParamMinLen("S3Paths", 1))
  4009  	}
  4010  
  4011  	if invalidParams.Len() > 0 {
  4012  		return invalidParams
  4013  	}
  4014  	return nil
  4015  }
  4016  
  4017  // SetS3Paths sets the S3Paths field's value.
  4018  func (s *ChannelMessages) SetS3Paths(v []*string) *ChannelMessages {
  4019  	s.S3Paths = v
  4020  	return s
  4021  }
  4022  
  4023  // Statistics information about the channel.
  4024  type ChannelStatistics struct {
  4025  	_ struct{} `type:"structure"`
  4026  
  4027  	// The estimated size of the channel.
  4028  	Size *EstimatedResourceSize `locationName:"size" type:"structure"`
  4029  }
  4030  
  4031  // String returns the string representation.
  4032  //
  4033  // API parameter values that are decorated as "sensitive" in the API will not
  4034  // be included in the string output. The member name will be present, but the
  4035  // value will be replaced with "sensitive".
  4036  func (s ChannelStatistics) String() string {
  4037  	return awsutil.Prettify(s)
  4038  }
  4039  
  4040  // GoString returns the string representation.
  4041  //
  4042  // API parameter values that are decorated as "sensitive" in the API will not
  4043  // be included in the string output. The member name will be present, but the
  4044  // value will be replaced with "sensitive".
  4045  func (s ChannelStatistics) GoString() string {
  4046  	return s.String()
  4047  }
  4048  
  4049  // SetSize sets the Size field's value.
  4050  func (s *ChannelStatistics) SetSize(v *EstimatedResourceSize) *ChannelStatistics {
  4051  	s.Size = v
  4052  	return s
  4053  }
  4054  
  4055  // Where channel data is stored. You may choose one of serviceManagedS3, customerManagedS3
  4056  // storage. If not specified, the default is serviceManagedS3. This can't be
  4057  // changed after creation of the channel.
  4058  type ChannelStorage struct {
  4059  	_ struct{} `type:"structure"`
  4060  
  4061  	// Used to store channel data in an S3 bucket that you manage. If customer managed
  4062  	// storage is selected, the retentionPeriod parameter is ignored. You can't
  4063  	// change the choice of S3 storage after the data store is created.
  4064  	CustomerManagedS3 *CustomerManagedChannelS3Storage `locationName:"customerManagedS3" type:"structure"`
  4065  
  4066  	// Used to store channel data in an S3 bucket managed by IoT Analytics. You
  4067  	// can't change the choice of S3 storage after the data store is created.
  4068  	ServiceManagedS3 *ServiceManagedChannelS3Storage `locationName:"serviceManagedS3" type:"structure"`
  4069  }
  4070  
  4071  // String returns the string representation.
  4072  //
  4073  // API parameter values that are decorated as "sensitive" in the API will not
  4074  // be included in the string output. The member name will be present, but the
  4075  // value will be replaced with "sensitive".
  4076  func (s ChannelStorage) String() string {
  4077  	return awsutil.Prettify(s)
  4078  }
  4079  
  4080  // GoString returns the string representation.
  4081  //
  4082  // API parameter values that are decorated as "sensitive" in the API will not
  4083  // be included in the string output. The member name will be present, but the
  4084  // value will be replaced with "sensitive".
  4085  func (s ChannelStorage) GoString() string {
  4086  	return s.String()
  4087  }
  4088  
  4089  // Validate inspects the fields of the type to determine if they are valid.
  4090  func (s *ChannelStorage) Validate() error {
  4091  	invalidParams := request.ErrInvalidParams{Context: "ChannelStorage"}
  4092  	if s.CustomerManagedS3 != nil {
  4093  		if err := s.CustomerManagedS3.Validate(); err != nil {
  4094  			invalidParams.AddNested("CustomerManagedS3", err.(request.ErrInvalidParams))
  4095  		}
  4096  	}
  4097  
  4098  	if invalidParams.Len() > 0 {
  4099  		return invalidParams
  4100  	}
  4101  	return nil
  4102  }
  4103  
  4104  // SetCustomerManagedS3 sets the CustomerManagedS3 field's value.
  4105  func (s *ChannelStorage) SetCustomerManagedS3(v *CustomerManagedChannelS3Storage) *ChannelStorage {
  4106  	s.CustomerManagedS3 = v
  4107  	return s
  4108  }
  4109  
  4110  // SetServiceManagedS3 sets the ServiceManagedS3 field's value.
  4111  func (s *ChannelStorage) SetServiceManagedS3(v *ServiceManagedChannelS3Storage) *ChannelStorage {
  4112  	s.ServiceManagedS3 = v
  4113  	return s
  4114  }
  4115  
  4116  // Where channel data is stored.
  4117  type ChannelStorageSummary struct {
  4118  	_ struct{} `type:"structure"`
  4119  
  4120  	// Used to store channel data in an S3 bucket that you manage.
  4121  	CustomerManagedS3 *CustomerManagedChannelS3StorageSummary `locationName:"customerManagedS3" type:"structure"`
  4122  
  4123  	// Used to store channel data in an S3 bucket managed by IoT Analytics.
  4124  	ServiceManagedS3 *ServiceManagedChannelS3StorageSummary `locationName:"serviceManagedS3" type:"structure"`
  4125  }
  4126  
  4127  // String returns the string representation.
  4128  //
  4129  // API parameter values that are decorated as "sensitive" in the API will not
  4130  // be included in the string output. The member name will be present, but the
  4131  // value will be replaced with "sensitive".
  4132  func (s ChannelStorageSummary) String() string {
  4133  	return awsutil.Prettify(s)
  4134  }
  4135  
  4136  // GoString returns the string representation.
  4137  //
  4138  // API parameter values that are decorated as "sensitive" in the API will not
  4139  // be included in the string output. The member name will be present, but the
  4140  // value will be replaced with "sensitive".
  4141  func (s ChannelStorageSummary) GoString() string {
  4142  	return s.String()
  4143  }
  4144  
  4145  // SetCustomerManagedS3 sets the CustomerManagedS3 field's value.
  4146  func (s *ChannelStorageSummary) SetCustomerManagedS3(v *CustomerManagedChannelS3StorageSummary) *ChannelStorageSummary {
  4147  	s.CustomerManagedS3 = v
  4148  	return s
  4149  }
  4150  
  4151  // SetServiceManagedS3 sets the ServiceManagedS3 field's value.
  4152  func (s *ChannelStorageSummary) SetServiceManagedS3(v *ServiceManagedChannelS3StorageSummary) *ChannelStorageSummary {
  4153  	s.ServiceManagedS3 = v
  4154  	return s
  4155  }
  4156  
  4157  // A summary of information about a channel.
  4158  type ChannelSummary struct {
  4159  	_ struct{} `type:"structure"`
  4160  
  4161  	// The name of the channel.
  4162  	ChannelName *string `locationName:"channelName" min:"1" type:"string"`
  4163  
  4164  	// Where channel data is stored.
  4165  	ChannelStorage *ChannelStorageSummary `locationName:"channelStorage" type:"structure"`
  4166  
  4167  	// When the channel was created.
  4168  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  4169  
  4170  	// The last time when a new message arrived in the channel.
  4171  	//
  4172  	// IoT Analytics updates this value at most once per minute for one channel.
  4173  	// Hence, the lastMessageArrivalTime value is an approximation.
  4174  	//
  4175  	// This feature only applies to messages that arrived in the data store after
  4176  	// October 23, 2020.
  4177  	LastMessageArrivalTime *time.Time `locationName:"lastMessageArrivalTime" type:"timestamp"`
  4178  
  4179  	// The last time the channel was updated.
  4180  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  4181  
  4182  	// The status of the channel.
  4183  	Status *string `locationName:"status" type:"string" enum:"ChannelStatus"`
  4184  }
  4185  
  4186  // String returns the string representation.
  4187  //
  4188  // API parameter values that are decorated as "sensitive" in the API will not
  4189  // be included in the string output. The member name will be present, but the
  4190  // value will be replaced with "sensitive".
  4191  func (s ChannelSummary) String() string {
  4192  	return awsutil.Prettify(s)
  4193  }
  4194  
  4195  // GoString returns the string representation.
  4196  //
  4197  // API parameter values that are decorated as "sensitive" in the API will not
  4198  // be included in the string output. The member name will be present, but the
  4199  // value will be replaced with "sensitive".
  4200  func (s ChannelSummary) GoString() string {
  4201  	return s.String()
  4202  }
  4203  
  4204  // SetChannelName sets the ChannelName field's value.
  4205  func (s *ChannelSummary) SetChannelName(v string) *ChannelSummary {
  4206  	s.ChannelName = &v
  4207  	return s
  4208  }
  4209  
  4210  // SetChannelStorage sets the ChannelStorage field's value.
  4211  func (s *ChannelSummary) SetChannelStorage(v *ChannelStorageSummary) *ChannelSummary {
  4212  	s.ChannelStorage = v
  4213  	return s
  4214  }
  4215  
  4216  // SetCreationTime sets the CreationTime field's value.
  4217  func (s *ChannelSummary) SetCreationTime(v time.Time) *ChannelSummary {
  4218  	s.CreationTime = &v
  4219  	return s
  4220  }
  4221  
  4222  // SetLastMessageArrivalTime sets the LastMessageArrivalTime field's value.
  4223  func (s *ChannelSummary) SetLastMessageArrivalTime(v time.Time) *ChannelSummary {
  4224  	s.LastMessageArrivalTime = &v
  4225  	return s
  4226  }
  4227  
  4228  // SetLastUpdateTime sets the LastUpdateTime field's value.
  4229  func (s *ChannelSummary) SetLastUpdateTime(v time.Time) *ChannelSummary {
  4230  	s.LastUpdateTime = &v
  4231  	return s
  4232  }
  4233  
  4234  // SetStatus sets the Status field's value.
  4235  func (s *ChannelSummary) SetStatus(v string) *ChannelSummary {
  4236  	s.Status = &v
  4237  	return s
  4238  }
  4239  
  4240  // Contains information about a column that stores your data.
  4241  type Column struct {
  4242  	_ struct{} `type:"structure"`
  4243  
  4244  	// The name of the column.
  4245  	//
  4246  	// Name is a required field
  4247  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  4248  
  4249  	// The type of data. For more information about the supported data types, see
  4250  	// Common data types (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html)
  4251  	// in the Glue Developer Guide.
  4252  	//
  4253  	// Type is a required field
  4254  	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
  4255  }
  4256  
  4257  // String returns the string representation.
  4258  //
  4259  // API parameter values that are decorated as "sensitive" in the API will not
  4260  // be included in the string output. The member name will be present, but the
  4261  // value will be replaced with "sensitive".
  4262  func (s Column) String() string {
  4263  	return awsutil.Prettify(s)
  4264  }
  4265  
  4266  // GoString returns the string representation.
  4267  //
  4268  // API parameter values that are decorated as "sensitive" in the API will not
  4269  // be included in the string output. The member name will be present, but the
  4270  // value will be replaced with "sensitive".
  4271  func (s Column) GoString() string {
  4272  	return s.String()
  4273  }
  4274  
  4275  // Validate inspects the fields of the type to determine if they are valid.
  4276  func (s *Column) Validate() error {
  4277  	invalidParams := request.ErrInvalidParams{Context: "Column"}
  4278  	if s.Name == nil {
  4279  		invalidParams.Add(request.NewErrParamRequired("Name"))
  4280  	}
  4281  	if s.Name != nil && len(*s.Name) < 1 {
  4282  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  4283  	}
  4284  	if s.Type == nil {
  4285  		invalidParams.Add(request.NewErrParamRequired("Type"))
  4286  	}
  4287  	if s.Type != nil && len(*s.Type) < 1 {
  4288  		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
  4289  	}
  4290  
  4291  	if invalidParams.Len() > 0 {
  4292  		return invalidParams
  4293  	}
  4294  	return nil
  4295  }
  4296  
  4297  // SetName sets the Name field's value.
  4298  func (s *Column) SetName(v string) *Column {
  4299  	s.Name = &v
  4300  	return s
  4301  }
  4302  
  4303  // SetType sets the Type field's value.
  4304  func (s *Column) SetType(v string) *Column {
  4305  	s.Type = &v
  4306  	return s
  4307  }
  4308  
  4309  // Information required to run the containerAction to produce dataset contents.
  4310  type ContainerDatasetAction struct {
  4311  	_ struct{} `type:"structure"`
  4312  
  4313  	// The ARN of the role that gives permission to the system to access required
  4314  	// resources to run the containerAction. This includes, at minimum, permission
  4315  	// to retrieve the dataset contents that are the input to the containerized
  4316  	// application.
  4317  	//
  4318  	// ExecutionRoleArn is a required field
  4319  	ExecutionRoleArn *string `locationName:"executionRoleArn" min:"20" type:"string" required:"true"`
  4320  
  4321  	// The ARN of the Docker container stored in your account. The Docker container
  4322  	// contains an application and required support libraries and is used to generate
  4323  	// dataset contents.
  4324  	//
  4325  	// Image is a required field
  4326  	Image *string `locationName:"image" type:"string" required:"true"`
  4327  
  4328  	// Configuration of the resource that executes the containerAction.
  4329  	//
  4330  	// ResourceConfiguration is a required field
  4331  	ResourceConfiguration *ResourceConfiguration `locationName:"resourceConfiguration" type:"structure" required:"true"`
  4332  
  4333  	// The values of variables used in the context of the execution of the containerized
  4334  	// application (basically, parameters passed to the application). Each variable
  4335  	// must have a name and a value given by one of stringValue, datasetContentVersionValue,
  4336  	// or outputFileUriValue.
  4337  	Variables []*Variable `locationName:"variables" type:"list"`
  4338  }
  4339  
  4340  // String returns the string representation.
  4341  //
  4342  // API parameter values that are decorated as "sensitive" in the API will not
  4343  // be included in the string output. The member name will be present, but the
  4344  // value will be replaced with "sensitive".
  4345  func (s ContainerDatasetAction) String() string {
  4346  	return awsutil.Prettify(s)
  4347  }
  4348  
  4349  // GoString returns the string representation.
  4350  //
  4351  // API parameter values that are decorated as "sensitive" in the API will not
  4352  // be included in the string output. The member name will be present, but the
  4353  // value will be replaced with "sensitive".
  4354  func (s ContainerDatasetAction) GoString() string {
  4355  	return s.String()
  4356  }
  4357  
  4358  // Validate inspects the fields of the type to determine if they are valid.
  4359  func (s *ContainerDatasetAction) Validate() error {
  4360  	invalidParams := request.ErrInvalidParams{Context: "ContainerDatasetAction"}
  4361  	if s.ExecutionRoleArn == nil {
  4362  		invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn"))
  4363  	}
  4364  	if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 20 {
  4365  		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 20))
  4366  	}
  4367  	if s.Image == nil {
  4368  		invalidParams.Add(request.NewErrParamRequired("Image"))
  4369  	}
  4370  	if s.ResourceConfiguration == nil {
  4371  		invalidParams.Add(request.NewErrParamRequired("ResourceConfiguration"))
  4372  	}
  4373  	if s.ResourceConfiguration != nil {
  4374  		if err := s.ResourceConfiguration.Validate(); err != nil {
  4375  			invalidParams.AddNested("ResourceConfiguration", err.(request.ErrInvalidParams))
  4376  		}
  4377  	}
  4378  	if s.Variables != nil {
  4379  		for i, v := range s.Variables {
  4380  			if v == nil {
  4381  				continue
  4382  			}
  4383  			if err := v.Validate(); err != nil {
  4384  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variables", i), err.(request.ErrInvalidParams))
  4385  			}
  4386  		}
  4387  	}
  4388  
  4389  	if invalidParams.Len() > 0 {
  4390  		return invalidParams
  4391  	}
  4392  	return nil
  4393  }
  4394  
  4395  // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
  4396  func (s *ContainerDatasetAction) SetExecutionRoleArn(v string) *ContainerDatasetAction {
  4397  	s.ExecutionRoleArn = &v
  4398  	return s
  4399  }
  4400  
  4401  // SetImage sets the Image field's value.
  4402  func (s *ContainerDatasetAction) SetImage(v string) *ContainerDatasetAction {
  4403  	s.Image = &v
  4404  	return s
  4405  }
  4406  
  4407  // SetResourceConfiguration sets the ResourceConfiguration field's value.
  4408  func (s *ContainerDatasetAction) SetResourceConfiguration(v *ResourceConfiguration) *ContainerDatasetAction {
  4409  	s.ResourceConfiguration = v
  4410  	return s
  4411  }
  4412  
  4413  // SetVariables sets the Variables field's value.
  4414  func (s *ContainerDatasetAction) SetVariables(v []*Variable) *ContainerDatasetAction {
  4415  	s.Variables = v
  4416  	return s
  4417  }
  4418  
  4419  type CreateChannelInput struct {
  4420  	_ struct{} `type:"structure"`
  4421  
  4422  	// The name of the channel.
  4423  	//
  4424  	// ChannelName is a required field
  4425  	ChannelName *string `locationName:"channelName" min:"1" type:"string" required:"true"`
  4426  
  4427  	// Where channel data is stored. You can choose one of serviceManagedS3 or customerManagedS3
  4428  	// storage. If not specified, the default is serviceManagedS3. You can't change
  4429  	// this storage option after the channel is created.
  4430  	ChannelStorage *ChannelStorage `locationName:"channelStorage" type:"structure"`
  4431  
  4432  	// How long, in days, message data is kept for the channel. When customerManagedS3
  4433  	// storage is selected, this parameter is ignored.
  4434  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
  4435  
  4436  	// Metadata which can be used to manage the channel.
  4437  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
  4438  }
  4439  
  4440  // String returns the string representation.
  4441  //
  4442  // API parameter values that are decorated as "sensitive" in the API will not
  4443  // be included in the string output. The member name will be present, but the
  4444  // value will be replaced with "sensitive".
  4445  func (s CreateChannelInput) String() string {
  4446  	return awsutil.Prettify(s)
  4447  }
  4448  
  4449  // GoString returns the string representation.
  4450  //
  4451  // API parameter values that are decorated as "sensitive" in the API will not
  4452  // be included in the string output. The member name will be present, but the
  4453  // value will be replaced with "sensitive".
  4454  func (s CreateChannelInput) GoString() string {
  4455  	return s.String()
  4456  }
  4457  
  4458  // Validate inspects the fields of the type to determine if they are valid.
  4459  func (s *CreateChannelInput) Validate() error {
  4460  	invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"}
  4461  	if s.ChannelName == nil {
  4462  		invalidParams.Add(request.NewErrParamRequired("ChannelName"))
  4463  	}
  4464  	if s.ChannelName != nil && len(*s.ChannelName) < 1 {
  4465  		invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1))
  4466  	}
  4467  	if s.Tags != nil && len(s.Tags) < 1 {
  4468  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4469  	}
  4470  	if s.ChannelStorage != nil {
  4471  		if err := s.ChannelStorage.Validate(); err != nil {
  4472  			invalidParams.AddNested("ChannelStorage", err.(request.ErrInvalidParams))
  4473  		}
  4474  	}
  4475  	if s.RetentionPeriod != nil {
  4476  		if err := s.RetentionPeriod.Validate(); err != nil {
  4477  			invalidParams.AddNested("RetentionPeriod", err.(request.ErrInvalidParams))
  4478  		}
  4479  	}
  4480  	if s.Tags != nil {
  4481  		for i, v := range s.Tags {
  4482  			if v == nil {
  4483  				continue
  4484  			}
  4485  			if err := v.Validate(); err != nil {
  4486  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4487  			}
  4488  		}
  4489  	}
  4490  
  4491  	if invalidParams.Len() > 0 {
  4492  		return invalidParams
  4493  	}
  4494  	return nil
  4495  }
  4496  
  4497  // SetChannelName sets the ChannelName field's value.
  4498  func (s *CreateChannelInput) SetChannelName(v string) *CreateChannelInput {
  4499  	s.ChannelName = &v
  4500  	return s
  4501  }
  4502  
  4503  // SetChannelStorage sets the ChannelStorage field's value.
  4504  func (s *CreateChannelInput) SetChannelStorage(v *ChannelStorage) *CreateChannelInput {
  4505  	s.ChannelStorage = v
  4506  	return s
  4507  }
  4508  
  4509  // SetRetentionPeriod sets the RetentionPeriod field's value.
  4510  func (s *CreateChannelInput) SetRetentionPeriod(v *RetentionPeriod) *CreateChannelInput {
  4511  	s.RetentionPeriod = v
  4512  	return s
  4513  }
  4514  
  4515  // SetTags sets the Tags field's value.
  4516  func (s *CreateChannelInput) SetTags(v []*Tag) *CreateChannelInput {
  4517  	s.Tags = v
  4518  	return s
  4519  }
  4520  
  4521  type CreateChannelOutput struct {
  4522  	_ struct{} `type:"structure"`
  4523  
  4524  	// The ARN of the channel.
  4525  	ChannelArn *string `locationName:"channelArn" type:"string"`
  4526  
  4527  	// The name of the channel.
  4528  	ChannelName *string `locationName:"channelName" min:"1" type:"string"`
  4529  
  4530  	// How long, in days, message data is kept for the channel.
  4531  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
  4532  }
  4533  
  4534  // String returns the string representation.
  4535  //
  4536  // API parameter values that are decorated as "sensitive" in the API will not
  4537  // be included in the string output. The member name will be present, but the
  4538  // value will be replaced with "sensitive".
  4539  func (s CreateChannelOutput) String() string {
  4540  	return awsutil.Prettify(s)
  4541  }
  4542  
  4543  // GoString returns the string representation.
  4544  //
  4545  // API parameter values that are decorated as "sensitive" in the API will not
  4546  // be included in the string output. The member name will be present, but the
  4547  // value will be replaced with "sensitive".
  4548  func (s CreateChannelOutput) GoString() string {
  4549  	return s.String()
  4550  }
  4551  
  4552  // SetChannelArn sets the ChannelArn field's value.
  4553  func (s *CreateChannelOutput) SetChannelArn(v string) *CreateChannelOutput {
  4554  	s.ChannelArn = &v
  4555  	return s
  4556  }
  4557  
  4558  // SetChannelName sets the ChannelName field's value.
  4559  func (s *CreateChannelOutput) SetChannelName(v string) *CreateChannelOutput {
  4560  	s.ChannelName = &v
  4561  	return s
  4562  }
  4563  
  4564  // SetRetentionPeriod sets the RetentionPeriod field's value.
  4565  func (s *CreateChannelOutput) SetRetentionPeriod(v *RetentionPeriod) *CreateChannelOutput {
  4566  	s.RetentionPeriod = v
  4567  	return s
  4568  }
  4569  
  4570  type CreateDatasetContentInput struct {
  4571  	_ struct{} `type:"structure"`
  4572  
  4573  	// The name of the dataset.
  4574  	//
  4575  	// DatasetName is a required field
  4576  	DatasetName *string `location:"uri" locationName:"datasetName" min:"1" type:"string" required:"true"`
  4577  
  4578  	// The version ID of the dataset content. To specify versionId for a dataset
  4579  	// content, the dataset must use a DeltaTimer (https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html)
  4580  	// filter.
  4581  	VersionId *string `locationName:"versionId" min:"7" type:"string"`
  4582  }
  4583  
  4584  // String returns the string representation.
  4585  //
  4586  // API parameter values that are decorated as "sensitive" in the API will not
  4587  // be included in the string output. The member name will be present, but the
  4588  // value will be replaced with "sensitive".
  4589  func (s CreateDatasetContentInput) String() string {
  4590  	return awsutil.Prettify(s)
  4591  }
  4592  
  4593  // GoString returns the string representation.
  4594  //
  4595  // API parameter values that are decorated as "sensitive" in the API will not
  4596  // be included in the string output. The member name will be present, but the
  4597  // value will be replaced with "sensitive".
  4598  func (s CreateDatasetContentInput) GoString() string {
  4599  	return s.String()
  4600  }
  4601  
  4602  // Validate inspects the fields of the type to determine if they are valid.
  4603  func (s *CreateDatasetContentInput) Validate() error {
  4604  	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetContentInput"}
  4605  	if s.DatasetName == nil {
  4606  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
  4607  	}
  4608  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  4609  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  4610  	}
  4611  	if s.VersionId != nil && len(*s.VersionId) < 7 {
  4612  		invalidParams.Add(request.NewErrParamMinLen("VersionId", 7))
  4613  	}
  4614  
  4615  	if invalidParams.Len() > 0 {
  4616  		return invalidParams
  4617  	}
  4618  	return nil
  4619  }
  4620  
  4621  // SetDatasetName sets the DatasetName field's value.
  4622  func (s *CreateDatasetContentInput) SetDatasetName(v string) *CreateDatasetContentInput {
  4623  	s.DatasetName = &v
  4624  	return s
  4625  }
  4626  
  4627  // SetVersionId sets the VersionId field's value.
  4628  func (s *CreateDatasetContentInput) SetVersionId(v string) *CreateDatasetContentInput {
  4629  	s.VersionId = &v
  4630  	return s
  4631  }
  4632  
  4633  type CreateDatasetContentOutput struct {
  4634  	_ struct{} `type:"structure"`
  4635  
  4636  	// The version ID of the dataset contents that are being created.
  4637  	VersionId *string `locationName:"versionId" min:"7" type:"string"`
  4638  }
  4639  
  4640  // String returns the string representation.
  4641  //
  4642  // API parameter values that are decorated as "sensitive" in the API will not
  4643  // be included in the string output. The member name will be present, but the
  4644  // value will be replaced with "sensitive".
  4645  func (s CreateDatasetContentOutput) String() string {
  4646  	return awsutil.Prettify(s)
  4647  }
  4648  
  4649  // GoString returns the string representation.
  4650  //
  4651  // API parameter values that are decorated as "sensitive" in the API will not
  4652  // be included in the string output. The member name will be present, but the
  4653  // value will be replaced with "sensitive".
  4654  func (s CreateDatasetContentOutput) GoString() string {
  4655  	return s.String()
  4656  }
  4657  
  4658  // SetVersionId sets the VersionId field's value.
  4659  func (s *CreateDatasetContentOutput) SetVersionId(v string) *CreateDatasetContentOutput {
  4660  	s.VersionId = &v
  4661  	return s
  4662  }
  4663  
  4664  type CreateDatasetInput struct {
  4665  	_ struct{} `type:"structure"`
  4666  
  4667  	// A list of actions that create the dataset contents.
  4668  	//
  4669  	// Actions is a required field
  4670  	Actions []*DatasetAction `locationName:"actions" min:"1" type:"list" required:"true"`
  4671  
  4672  	// When dataset contents are created, they are delivered to destinations specified
  4673  	// here.
  4674  	ContentDeliveryRules []*DatasetContentDeliveryRule `locationName:"contentDeliveryRules" type:"list"`
  4675  
  4676  	// The name of the dataset.
  4677  	//
  4678  	// DatasetName is a required field
  4679  	DatasetName *string `locationName:"datasetName" min:"1" type:"string" required:"true"`
  4680  
  4681  	// A list of data rules that send notifications to CloudWatch, when data arrives
  4682  	// late. To specify lateDataRules, the dataset must use a DeltaTimer (https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html)
  4683  	// filter.
  4684  	LateDataRules []*LateDataRule `locationName:"lateDataRules" min:"1" type:"list"`
  4685  
  4686  	// Optional. How long, in days, versions of dataset contents are kept for the
  4687  	// dataset. If not specified or set to null, versions of dataset contents are
  4688  	// retained for at most 90 days. The number of versions of dataset contents
  4689  	// retained is determined by the versioningConfiguration parameter. For more
  4690  	// information, see Keeping Multiple Versions of IoT Analytics datasets (https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)
  4691  	// in the IoT Analytics User Guide.
  4692  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
  4693  
  4694  	// Metadata which can be used to manage the dataset.
  4695  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
  4696  
  4697  	// A list of triggers. A trigger causes dataset contents to be populated at
  4698  	// a specified time interval or when another dataset's contents are created.
  4699  	// The list of triggers can be empty or contain up to five DataSetTrigger objects.
  4700  	Triggers []*DatasetTrigger `locationName:"triggers" type:"list"`
  4701  
  4702  	// Optional. How many versions of dataset contents are kept. If not specified
  4703  	// or set to null, only the latest version plus the latest succeeded version
  4704  	// (if they are different) are kept for the time period specified by the retentionPeriod
  4705  	// parameter. For more information, see Keeping Multiple Versions of IoT Analytics
  4706  	// datasets (https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)
  4707  	// in the IoT Analytics User Guide.
  4708  	VersioningConfiguration *VersioningConfiguration `locationName:"versioningConfiguration" type:"structure"`
  4709  }
  4710  
  4711  // String returns the string representation.
  4712  //
  4713  // API parameter values that are decorated as "sensitive" in the API will not
  4714  // be included in the string output. The member name will be present, but the
  4715  // value will be replaced with "sensitive".
  4716  func (s CreateDatasetInput) String() string {
  4717  	return awsutil.Prettify(s)
  4718  }
  4719  
  4720  // GoString returns the string representation.
  4721  //
  4722  // API parameter values that are decorated as "sensitive" in the API will not
  4723  // be included in the string output. The member name will be present, but the
  4724  // value will be replaced with "sensitive".
  4725  func (s CreateDatasetInput) GoString() string {
  4726  	return s.String()
  4727  }
  4728  
  4729  // Validate inspects the fields of the type to determine if they are valid.
  4730  func (s *CreateDatasetInput) Validate() error {
  4731  	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetInput"}
  4732  	if s.Actions == nil {
  4733  		invalidParams.Add(request.NewErrParamRequired("Actions"))
  4734  	}
  4735  	if s.Actions != nil && len(s.Actions) < 1 {
  4736  		invalidParams.Add(request.NewErrParamMinLen("Actions", 1))
  4737  	}
  4738  	if s.DatasetName == nil {
  4739  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
  4740  	}
  4741  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  4742  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  4743  	}
  4744  	if s.LateDataRules != nil && len(s.LateDataRules) < 1 {
  4745  		invalidParams.Add(request.NewErrParamMinLen("LateDataRules", 1))
  4746  	}
  4747  	if s.Tags != nil && len(s.Tags) < 1 {
  4748  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4749  	}
  4750  	if s.Actions != nil {
  4751  		for i, v := range s.Actions {
  4752  			if v == nil {
  4753  				continue
  4754  			}
  4755  			if err := v.Validate(); err != nil {
  4756  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
  4757  			}
  4758  		}
  4759  	}
  4760  	if s.ContentDeliveryRules != nil {
  4761  		for i, v := range s.ContentDeliveryRules {
  4762  			if v == nil {
  4763  				continue
  4764  			}
  4765  			if err := v.Validate(); err != nil {
  4766  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContentDeliveryRules", i), err.(request.ErrInvalidParams))
  4767  			}
  4768  		}
  4769  	}
  4770  	if s.LateDataRules != nil {
  4771  		for i, v := range s.LateDataRules {
  4772  			if v == nil {
  4773  				continue
  4774  			}
  4775  			if err := v.Validate(); err != nil {
  4776  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LateDataRules", i), err.(request.ErrInvalidParams))
  4777  			}
  4778  		}
  4779  	}
  4780  	if s.RetentionPeriod != nil {
  4781  		if err := s.RetentionPeriod.Validate(); err != nil {
  4782  			invalidParams.AddNested("RetentionPeriod", err.(request.ErrInvalidParams))
  4783  		}
  4784  	}
  4785  	if s.Tags != nil {
  4786  		for i, v := range s.Tags {
  4787  			if v == nil {
  4788  				continue
  4789  			}
  4790  			if err := v.Validate(); err != nil {
  4791  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4792  			}
  4793  		}
  4794  	}
  4795  	if s.Triggers != nil {
  4796  		for i, v := range s.Triggers {
  4797  			if v == nil {
  4798  				continue
  4799  			}
  4800  			if err := v.Validate(); err != nil {
  4801  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Triggers", i), err.(request.ErrInvalidParams))
  4802  			}
  4803  		}
  4804  	}
  4805  	if s.VersioningConfiguration != nil {
  4806  		if err := s.VersioningConfiguration.Validate(); err != nil {
  4807  			invalidParams.AddNested("VersioningConfiguration", err.(request.ErrInvalidParams))
  4808  		}
  4809  	}
  4810  
  4811  	if invalidParams.Len() > 0 {
  4812  		return invalidParams
  4813  	}
  4814  	return nil
  4815  }
  4816  
  4817  // SetActions sets the Actions field's value.
  4818  func (s *CreateDatasetInput) SetActions(v []*DatasetAction) *CreateDatasetInput {
  4819  	s.Actions = v
  4820  	return s
  4821  }
  4822  
  4823  // SetContentDeliveryRules sets the ContentDeliveryRules field's value.
  4824  func (s *CreateDatasetInput) SetContentDeliveryRules(v []*DatasetContentDeliveryRule) *CreateDatasetInput {
  4825  	s.ContentDeliveryRules = v
  4826  	return s
  4827  }
  4828  
  4829  // SetDatasetName sets the DatasetName field's value.
  4830  func (s *CreateDatasetInput) SetDatasetName(v string) *CreateDatasetInput {
  4831  	s.DatasetName = &v
  4832  	return s
  4833  }
  4834  
  4835  // SetLateDataRules sets the LateDataRules field's value.
  4836  func (s *CreateDatasetInput) SetLateDataRules(v []*LateDataRule) *CreateDatasetInput {
  4837  	s.LateDataRules = v
  4838  	return s
  4839  }
  4840  
  4841  // SetRetentionPeriod sets the RetentionPeriod field's value.
  4842  func (s *CreateDatasetInput) SetRetentionPeriod(v *RetentionPeriod) *CreateDatasetInput {
  4843  	s.RetentionPeriod = v
  4844  	return s
  4845  }
  4846  
  4847  // SetTags sets the Tags field's value.
  4848  func (s *CreateDatasetInput) SetTags(v []*Tag) *CreateDatasetInput {
  4849  	s.Tags = v
  4850  	return s
  4851  }
  4852  
  4853  // SetTriggers sets the Triggers field's value.
  4854  func (s *CreateDatasetInput) SetTriggers(v []*DatasetTrigger) *CreateDatasetInput {
  4855  	s.Triggers = v
  4856  	return s
  4857  }
  4858  
  4859  // SetVersioningConfiguration sets the VersioningConfiguration field's value.
  4860  func (s *CreateDatasetInput) SetVersioningConfiguration(v *VersioningConfiguration) *CreateDatasetInput {
  4861  	s.VersioningConfiguration = v
  4862  	return s
  4863  }
  4864  
  4865  type CreateDatasetOutput struct {
  4866  	_ struct{} `type:"structure"`
  4867  
  4868  	// The ARN of the dataset.
  4869  	DatasetArn *string `locationName:"datasetArn" type:"string"`
  4870  
  4871  	// The name of the dataset.
  4872  	DatasetName *string `locationName:"datasetName" min:"1" type:"string"`
  4873  
  4874  	// How long, in days, dataset contents are kept for the dataset.
  4875  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
  4876  }
  4877  
  4878  // String returns the string representation.
  4879  //
  4880  // API parameter values that are decorated as "sensitive" in the API will not
  4881  // be included in the string output. The member name will be present, but the
  4882  // value will be replaced with "sensitive".
  4883  func (s CreateDatasetOutput) String() string {
  4884  	return awsutil.Prettify(s)
  4885  }
  4886  
  4887  // GoString returns the string representation.
  4888  //
  4889  // API parameter values that are decorated as "sensitive" in the API will not
  4890  // be included in the string output. The member name will be present, but the
  4891  // value will be replaced with "sensitive".
  4892  func (s CreateDatasetOutput) GoString() string {
  4893  	return s.String()
  4894  }
  4895  
  4896  // SetDatasetArn sets the DatasetArn field's value.
  4897  func (s *CreateDatasetOutput) SetDatasetArn(v string) *CreateDatasetOutput {
  4898  	s.DatasetArn = &v
  4899  	return s
  4900  }
  4901  
  4902  // SetDatasetName sets the DatasetName field's value.
  4903  func (s *CreateDatasetOutput) SetDatasetName(v string) *CreateDatasetOutput {
  4904  	s.DatasetName = &v
  4905  	return s
  4906  }
  4907  
  4908  // SetRetentionPeriod sets the RetentionPeriod field's value.
  4909  func (s *CreateDatasetOutput) SetRetentionPeriod(v *RetentionPeriod) *CreateDatasetOutput {
  4910  	s.RetentionPeriod = v
  4911  	return s
  4912  }
  4913  
  4914  type CreateDatastoreInput struct {
  4915  	_ struct{} `type:"structure"`
  4916  
  4917  	// The name of the data store.
  4918  	//
  4919  	// DatastoreName is a required field
  4920  	DatastoreName *string `locationName:"datastoreName" min:"1" type:"string" required:"true"`
  4921  
  4922  	// Contains information about the partition dimensions in a data store.
  4923  	DatastorePartitions *DatastorePartitions `locationName:"datastorePartitions" type:"structure"`
  4924  
  4925  	// Where data in a data store is stored.. You can choose serviceManagedS3 storage,
  4926  	// customerManagedS3 storage, or iotSiteWiseMultiLayerStorage storage. The default
  4927  	// is serviceManagedS3. You can't change the choice of Amazon S3 storage after
  4928  	// your data store is created.
  4929  	DatastoreStorage *DatastoreStorage `locationName:"datastoreStorage" type:"structure"`
  4930  
  4931  	// Contains the configuration information of file formats. IoT Analytics data
  4932  	// stores support JSON and Parquet (https://parquet.apache.org/).
  4933  	//
  4934  	// The default file format is JSON. You can specify only one format.
  4935  	//
  4936  	// You can't change the file format after you create the data store.
  4937  	FileFormatConfiguration *FileFormatConfiguration `locationName:"fileFormatConfiguration" type:"structure"`
  4938  
  4939  	// How long, in days, message data is kept for the data store. When customerManagedS3
  4940  	// storage is selected, this parameter is ignored.
  4941  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
  4942  
  4943  	// Metadata which can be used to manage the data store.
  4944  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
  4945  }
  4946  
  4947  // String returns the string representation.
  4948  //
  4949  // API parameter values that are decorated as "sensitive" in the API will not
  4950  // be included in the string output. The member name will be present, but the
  4951  // value will be replaced with "sensitive".
  4952  func (s CreateDatastoreInput) String() string {
  4953  	return awsutil.Prettify(s)
  4954  }
  4955  
  4956  // GoString returns the string representation.
  4957  //
  4958  // API parameter values that are decorated as "sensitive" in the API will not
  4959  // be included in the string output. The member name will be present, but the
  4960  // value will be replaced with "sensitive".
  4961  func (s CreateDatastoreInput) GoString() string {
  4962  	return s.String()
  4963  }
  4964  
  4965  // Validate inspects the fields of the type to determine if they are valid.
  4966  func (s *CreateDatastoreInput) Validate() error {
  4967  	invalidParams := request.ErrInvalidParams{Context: "CreateDatastoreInput"}
  4968  	if s.DatastoreName == nil {
  4969  		invalidParams.Add(request.NewErrParamRequired("DatastoreName"))
  4970  	}
  4971  	if s.DatastoreName != nil && len(*s.DatastoreName) < 1 {
  4972  		invalidParams.Add(request.NewErrParamMinLen("DatastoreName", 1))
  4973  	}
  4974  	if s.Tags != nil && len(s.Tags) < 1 {
  4975  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4976  	}
  4977  	if s.DatastorePartitions != nil {
  4978  		if err := s.DatastorePartitions.Validate(); err != nil {
  4979  			invalidParams.AddNested("DatastorePartitions", err.(request.ErrInvalidParams))
  4980  		}
  4981  	}
  4982  	if s.DatastoreStorage != nil {
  4983  		if err := s.DatastoreStorage.Validate(); err != nil {
  4984  			invalidParams.AddNested("DatastoreStorage", err.(request.ErrInvalidParams))
  4985  		}
  4986  	}
  4987  	if s.FileFormatConfiguration != nil {
  4988  		if err := s.FileFormatConfiguration.Validate(); err != nil {
  4989  			invalidParams.AddNested("FileFormatConfiguration", err.(request.ErrInvalidParams))
  4990  		}
  4991  	}
  4992  	if s.RetentionPeriod != nil {
  4993  		if err := s.RetentionPeriod.Validate(); err != nil {
  4994  			invalidParams.AddNested("RetentionPeriod", err.(request.ErrInvalidParams))
  4995  		}
  4996  	}
  4997  	if s.Tags != nil {
  4998  		for i, v := range s.Tags {
  4999  			if v == nil {
  5000  				continue
  5001  			}
  5002  			if err := v.Validate(); err != nil {
  5003  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  5004  			}
  5005  		}
  5006  	}
  5007  
  5008  	if invalidParams.Len() > 0 {
  5009  		return invalidParams
  5010  	}
  5011  	return nil
  5012  }
  5013  
  5014  // SetDatastoreName sets the DatastoreName field's value.
  5015  func (s *CreateDatastoreInput) SetDatastoreName(v string) *CreateDatastoreInput {
  5016  	s.DatastoreName = &v
  5017  	return s
  5018  }
  5019  
  5020  // SetDatastorePartitions sets the DatastorePartitions field's value.
  5021  func (s *CreateDatastoreInput) SetDatastorePartitions(v *DatastorePartitions) *CreateDatastoreInput {
  5022  	s.DatastorePartitions = v
  5023  	return s
  5024  }
  5025  
  5026  // SetDatastoreStorage sets the DatastoreStorage field's value.
  5027  func (s *CreateDatastoreInput) SetDatastoreStorage(v *DatastoreStorage) *CreateDatastoreInput {
  5028  	s.DatastoreStorage = v
  5029  	return s
  5030  }
  5031  
  5032  // SetFileFormatConfiguration sets the FileFormatConfiguration field's value.
  5033  func (s *CreateDatastoreInput) SetFileFormatConfiguration(v *FileFormatConfiguration) *CreateDatastoreInput {
  5034  	s.FileFormatConfiguration = v
  5035  	return s
  5036  }
  5037  
  5038  // SetRetentionPeriod sets the RetentionPeriod field's value.
  5039  func (s *CreateDatastoreInput) SetRetentionPeriod(v *RetentionPeriod) *CreateDatastoreInput {
  5040  	s.RetentionPeriod = v
  5041  	return s
  5042  }
  5043  
  5044  // SetTags sets the Tags field's value.
  5045  func (s *CreateDatastoreInput) SetTags(v []*Tag) *CreateDatastoreInput {
  5046  	s.Tags = v
  5047  	return s
  5048  }
  5049  
  5050  type CreateDatastoreOutput struct {
  5051  	_ struct{} `type:"structure"`
  5052  
  5053  	// The ARN of the data store.
  5054  	DatastoreArn *string `locationName:"datastoreArn" type:"string"`
  5055  
  5056  	// The name of the data store.
  5057  	DatastoreName *string `locationName:"datastoreName" min:"1" type:"string"`
  5058  
  5059  	// How long, in days, message data is kept for the data store.
  5060  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
  5061  }
  5062  
  5063  // String returns the string representation.
  5064  //
  5065  // API parameter values that are decorated as "sensitive" in the API will not
  5066  // be included in the string output. The member name will be present, but the
  5067  // value will be replaced with "sensitive".
  5068  func (s CreateDatastoreOutput) String() string {
  5069  	return awsutil.Prettify(s)
  5070  }
  5071  
  5072  // GoString returns the string representation.
  5073  //
  5074  // API parameter values that are decorated as "sensitive" in the API will not
  5075  // be included in the string output. The member name will be present, but the
  5076  // value will be replaced with "sensitive".
  5077  func (s CreateDatastoreOutput) GoString() string {
  5078  	return s.String()
  5079  }
  5080  
  5081  // SetDatastoreArn sets the DatastoreArn field's value.
  5082  func (s *CreateDatastoreOutput) SetDatastoreArn(v string) *CreateDatastoreOutput {
  5083  	s.DatastoreArn = &v
  5084  	return s
  5085  }
  5086  
  5087  // SetDatastoreName sets the DatastoreName field's value.
  5088  func (s *CreateDatastoreOutput) SetDatastoreName(v string) *CreateDatastoreOutput {
  5089  	s.DatastoreName = &v
  5090  	return s
  5091  }
  5092  
  5093  // SetRetentionPeriod sets the RetentionPeriod field's value.
  5094  func (s *CreateDatastoreOutput) SetRetentionPeriod(v *RetentionPeriod) *CreateDatastoreOutput {
  5095  	s.RetentionPeriod = v
  5096  	return s
  5097  }
  5098  
  5099  type CreatePipelineInput struct {
  5100  	_ struct{} `type:"structure"`
  5101  
  5102  	// A list of PipelineActivity objects. Activities perform transformations on
  5103  	// your messages, such as removing, renaming or adding message attributes; filtering
  5104  	// messages based on attribute values; invoking your Lambda unctions on messages
  5105  	// for advanced processing; or performing mathematical transformations to normalize
  5106  	// device data.
  5107  	//
  5108  	// The list can be 2-25 PipelineActivity objects and must contain both a channel
  5109  	// and a datastore activity. Each entry in the list must contain only one activity.
  5110  	// For example:
  5111  	//
  5112  	// pipelineActivities = [ { "channel": { ... } }, { "lambda": { ... } }, ...
  5113  	// ]
  5114  	//
  5115  	// PipelineActivities is a required field
  5116  	PipelineActivities []*PipelineActivity `locationName:"pipelineActivities" min:"1" type:"list" required:"true"`
  5117  
  5118  	// The name of the pipeline.
  5119  	//
  5120  	// PipelineName is a required field
  5121  	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
  5122  
  5123  	// Metadata which can be used to manage the pipeline.
  5124  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
  5125  }
  5126  
  5127  // String returns the string representation.
  5128  //
  5129  // API parameter values that are decorated as "sensitive" in the API will not
  5130  // be included in the string output. The member name will be present, but the
  5131  // value will be replaced with "sensitive".
  5132  func (s CreatePipelineInput) String() string {
  5133  	return awsutil.Prettify(s)
  5134  }
  5135  
  5136  // GoString returns the string representation.
  5137  //
  5138  // API parameter values that are decorated as "sensitive" in the API will not
  5139  // be included in the string output. The member name will be present, but the
  5140  // value will be replaced with "sensitive".
  5141  func (s CreatePipelineInput) GoString() string {
  5142  	return s.String()
  5143  }
  5144  
  5145  // Validate inspects the fields of the type to determine if they are valid.
  5146  func (s *CreatePipelineInput) Validate() error {
  5147  	invalidParams := request.ErrInvalidParams{Context: "CreatePipelineInput"}
  5148  	if s.PipelineActivities == nil {
  5149  		invalidParams.Add(request.NewErrParamRequired("PipelineActivities"))
  5150  	}
  5151  	if s.PipelineActivities != nil && len(s.PipelineActivities) < 1 {
  5152  		invalidParams.Add(request.NewErrParamMinLen("PipelineActivities", 1))
  5153  	}
  5154  	if s.PipelineName == nil {
  5155  		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
  5156  	}
  5157  	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
  5158  		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
  5159  	}
  5160  	if s.Tags != nil && len(s.Tags) < 1 {
  5161  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  5162  	}
  5163  	if s.PipelineActivities != nil {
  5164  		for i, v := range s.PipelineActivities {
  5165  			if v == nil {
  5166  				continue
  5167  			}
  5168  			if err := v.Validate(); err != nil {
  5169  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PipelineActivities", i), err.(request.ErrInvalidParams))
  5170  			}
  5171  		}
  5172  	}
  5173  	if s.Tags != nil {
  5174  		for i, v := range s.Tags {
  5175  			if v == nil {
  5176  				continue
  5177  			}
  5178  			if err := v.Validate(); err != nil {
  5179  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  5180  			}
  5181  		}
  5182  	}
  5183  
  5184  	if invalidParams.Len() > 0 {
  5185  		return invalidParams
  5186  	}
  5187  	return nil
  5188  }
  5189  
  5190  // SetPipelineActivities sets the PipelineActivities field's value.
  5191  func (s *CreatePipelineInput) SetPipelineActivities(v []*PipelineActivity) *CreatePipelineInput {
  5192  	s.PipelineActivities = v
  5193  	return s
  5194  }
  5195  
  5196  // SetPipelineName sets the PipelineName field's value.
  5197  func (s *CreatePipelineInput) SetPipelineName(v string) *CreatePipelineInput {
  5198  	s.PipelineName = &v
  5199  	return s
  5200  }
  5201  
  5202  // SetTags sets the Tags field's value.
  5203  func (s *CreatePipelineInput) SetTags(v []*Tag) *CreatePipelineInput {
  5204  	s.Tags = v
  5205  	return s
  5206  }
  5207  
  5208  type CreatePipelineOutput struct {
  5209  	_ struct{} `type:"structure"`
  5210  
  5211  	// The ARN of the pipeline.
  5212  	PipelineArn *string `locationName:"pipelineArn" type:"string"`
  5213  
  5214  	// The name of the pipeline.
  5215  	PipelineName *string `locationName:"pipelineName" min:"1" type:"string"`
  5216  }
  5217  
  5218  // String returns the string representation.
  5219  //
  5220  // API parameter values that are decorated as "sensitive" in the API will not
  5221  // be included in the string output. The member name will be present, but the
  5222  // value will be replaced with "sensitive".
  5223  func (s CreatePipelineOutput) String() string {
  5224  	return awsutil.Prettify(s)
  5225  }
  5226  
  5227  // GoString returns the string representation.
  5228  //
  5229  // API parameter values that are decorated as "sensitive" in the API will not
  5230  // be included in the string output. The member name will be present, but the
  5231  // value will be replaced with "sensitive".
  5232  func (s CreatePipelineOutput) GoString() string {
  5233  	return s.String()
  5234  }
  5235  
  5236  // SetPipelineArn sets the PipelineArn field's value.
  5237  func (s *CreatePipelineOutput) SetPipelineArn(v string) *CreatePipelineOutput {
  5238  	s.PipelineArn = &v
  5239  	return s
  5240  }
  5241  
  5242  // SetPipelineName sets the PipelineName field's value.
  5243  func (s *CreatePipelineOutput) SetPipelineName(v string) *CreatePipelineOutput {
  5244  	s.PipelineName = &v
  5245  	return s
  5246  }
  5247  
  5248  // Used to store channel data in an S3 bucket that you manage. If customer-managed
  5249  // storage is selected, the retentionPeriod parameter is ignored. You can't
  5250  // change the choice of S3 storage after the data store is created.
  5251  type CustomerManagedChannelS3Storage struct {
  5252  	_ struct{} `type:"structure"`
  5253  
  5254  	// The name of the S3 bucket in which channel data is stored.
  5255  	//
  5256  	// Bucket is a required field
  5257  	Bucket *string `locationName:"bucket" min:"3" type:"string" required:"true"`
  5258  
  5259  	// (Optional) The prefix used to create the keys of the channel data objects.
  5260  	// Each object in an S3 bucket has a key that is its unique identifier in the
  5261  	// bucket. Each object in a bucket has exactly one key. The prefix must end
  5262  	// with a forward slash (/).
  5263  	KeyPrefix *string `locationName:"keyPrefix" min:"1" type:"string"`
  5264  
  5265  	// The ARN of the role that grants IoT Analytics permission to interact with
  5266  	// your Amazon S3 resources.
  5267  	//
  5268  	// RoleArn is a required field
  5269  	RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"`
  5270  }
  5271  
  5272  // String returns the string representation.
  5273  //
  5274  // API parameter values that are decorated as "sensitive" in the API will not
  5275  // be included in the string output. The member name will be present, but the
  5276  // value will be replaced with "sensitive".
  5277  func (s CustomerManagedChannelS3Storage) String() string {
  5278  	return awsutil.Prettify(s)
  5279  }
  5280  
  5281  // GoString returns the string representation.
  5282  //
  5283  // API parameter values that are decorated as "sensitive" in the API will not
  5284  // be included in the string output. The member name will be present, but the
  5285  // value will be replaced with "sensitive".
  5286  func (s CustomerManagedChannelS3Storage) GoString() string {
  5287  	return s.String()
  5288  }
  5289  
  5290  // Validate inspects the fields of the type to determine if they are valid.
  5291  func (s *CustomerManagedChannelS3Storage) Validate() error {
  5292  	invalidParams := request.ErrInvalidParams{Context: "CustomerManagedChannelS3Storage"}
  5293  	if s.Bucket == nil {
  5294  		invalidParams.Add(request.NewErrParamRequired("Bucket"))
  5295  	}
  5296  	if s.Bucket != nil && len(*s.Bucket) < 3 {
  5297  		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
  5298  	}
  5299  	if s.KeyPrefix != nil && len(*s.KeyPrefix) < 1 {
  5300  		invalidParams.Add(request.NewErrParamMinLen("KeyPrefix", 1))
  5301  	}
  5302  	if s.RoleArn == nil {
  5303  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  5304  	}
  5305  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  5306  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  5307  	}
  5308  
  5309  	if invalidParams.Len() > 0 {
  5310  		return invalidParams
  5311  	}
  5312  	return nil
  5313  }
  5314  
  5315  // SetBucket sets the Bucket field's value.
  5316  func (s *CustomerManagedChannelS3Storage) SetBucket(v string) *CustomerManagedChannelS3Storage {
  5317  	s.Bucket = &v
  5318  	return s
  5319  }
  5320  
  5321  // SetKeyPrefix sets the KeyPrefix field's value.
  5322  func (s *CustomerManagedChannelS3Storage) SetKeyPrefix(v string) *CustomerManagedChannelS3Storage {
  5323  	s.KeyPrefix = &v
  5324  	return s
  5325  }
  5326  
  5327  // SetRoleArn sets the RoleArn field's value.
  5328  func (s *CustomerManagedChannelS3Storage) SetRoleArn(v string) *CustomerManagedChannelS3Storage {
  5329  	s.RoleArn = &v
  5330  	return s
  5331  }
  5332  
  5333  // Used to store channel data in an S3 bucket that you manage.
  5334  type CustomerManagedChannelS3StorageSummary struct {
  5335  	_ struct{} `type:"structure"`
  5336  
  5337  	// The name of the S3 bucket in which channel data is stored.
  5338  	Bucket *string `locationName:"bucket" min:"3" type:"string"`
  5339  
  5340  	// (Optional) The prefix used to create the keys of the channel data objects.
  5341  	// Each object in an S3 bucket has a key that is its unique identifier within
  5342  	// the bucket (each object in a bucket has exactly one key). The prefix must
  5343  	// end with a forward slash (/).
  5344  	KeyPrefix *string `locationName:"keyPrefix" min:"1" type:"string"`
  5345  
  5346  	// The ARN of the role that grants IoT Analytics permission to interact with
  5347  	// your Amazon S3 resources.
  5348  	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
  5349  }
  5350  
  5351  // String returns the string representation.
  5352  //
  5353  // API parameter values that are decorated as "sensitive" in the API will not
  5354  // be included in the string output. The member name will be present, but the
  5355  // value will be replaced with "sensitive".
  5356  func (s CustomerManagedChannelS3StorageSummary) String() string {
  5357  	return awsutil.Prettify(s)
  5358  }
  5359  
  5360  // GoString returns the string representation.
  5361  //
  5362  // API parameter values that are decorated as "sensitive" in the API will not
  5363  // be included in the string output. The member name will be present, but the
  5364  // value will be replaced with "sensitive".
  5365  func (s CustomerManagedChannelS3StorageSummary) GoString() string {
  5366  	return s.String()
  5367  }
  5368  
  5369  // SetBucket sets the Bucket field's value.
  5370  func (s *CustomerManagedChannelS3StorageSummary) SetBucket(v string) *CustomerManagedChannelS3StorageSummary {
  5371  	s.Bucket = &v
  5372  	return s
  5373  }
  5374  
  5375  // SetKeyPrefix sets the KeyPrefix field's value.
  5376  func (s *CustomerManagedChannelS3StorageSummary) SetKeyPrefix(v string) *CustomerManagedChannelS3StorageSummary {
  5377  	s.KeyPrefix = &v
  5378  	return s
  5379  }
  5380  
  5381  // SetRoleArn sets the RoleArn field's value.
  5382  func (s *CustomerManagedChannelS3StorageSummary) SetRoleArn(v string) *CustomerManagedChannelS3StorageSummary {
  5383  	s.RoleArn = &v
  5384  	return s
  5385  }
  5386  
  5387  // S3-customer-managed; When you choose customer-managed storage, the retentionPeriod
  5388  // parameter is ignored. You can't change the choice of Amazon S3 storage after
  5389  // your data store is created.
  5390  type CustomerManagedDatastoreS3Storage struct {
  5391  	_ struct{} `type:"structure"`
  5392  
  5393  	// The name of the Amazon S3 bucket where your data is stored.
  5394  	//
  5395  	// Bucket is a required field
  5396  	Bucket *string `locationName:"bucket" min:"3" type:"string" required:"true"`
  5397  
  5398  	// (Optional) The prefix used to create the keys of the data store data objects.
  5399  	// Each object in an Amazon S3 bucket has a key that is its unique identifier
  5400  	// in the bucket. Each object in a bucket has exactly one key. The prefix must
  5401  	// end with a forward slash (/).
  5402  	KeyPrefix *string `locationName:"keyPrefix" min:"1" type:"string"`
  5403  
  5404  	// The ARN of the role that grants IoT Analytics permission to interact with
  5405  	// your Amazon S3 resources.
  5406  	//
  5407  	// RoleArn is a required field
  5408  	RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"`
  5409  }
  5410  
  5411  // String returns the string representation.
  5412  //
  5413  // API parameter values that are decorated as "sensitive" in the API will not
  5414  // be included in the string output. The member name will be present, but the
  5415  // value will be replaced with "sensitive".
  5416  func (s CustomerManagedDatastoreS3Storage) String() string {
  5417  	return awsutil.Prettify(s)
  5418  }
  5419  
  5420  // GoString returns the string representation.
  5421  //
  5422  // API parameter values that are decorated as "sensitive" in the API will not
  5423  // be included in the string output. The member name will be present, but the
  5424  // value will be replaced with "sensitive".
  5425  func (s CustomerManagedDatastoreS3Storage) GoString() string {
  5426  	return s.String()
  5427  }
  5428  
  5429  // Validate inspects the fields of the type to determine if they are valid.
  5430  func (s *CustomerManagedDatastoreS3Storage) Validate() error {
  5431  	invalidParams := request.ErrInvalidParams{Context: "CustomerManagedDatastoreS3Storage"}
  5432  	if s.Bucket == nil {
  5433  		invalidParams.Add(request.NewErrParamRequired("Bucket"))
  5434  	}
  5435  	if s.Bucket != nil && len(*s.Bucket) < 3 {
  5436  		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
  5437  	}
  5438  	if s.KeyPrefix != nil && len(*s.KeyPrefix) < 1 {
  5439  		invalidParams.Add(request.NewErrParamMinLen("KeyPrefix", 1))
  5440  	}
  5441  	if s.RoleArn == nil {
  5442  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  5443  	}
  5444  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  5445  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  5446  	}
  5447  
  5448  	if invalidParams.Len() > 0 {
  5449  		return invalidParams
  5450  	}
  5451  	return nil
  5452  }
  5453  
  5454  // SetBucket sets the Bucket field's value.
  5455  func (s *CustomerManagedDatastoreS3Storage) SetBucket(v string) *CustomerManagedDatastoreS3Storage {
  5456  	s.Bucket = &v
  5457  	return s
  5458  }
  5459  
  5460  // SetKeyPrefix sets the KeyPrefix field's value.
  5461  func (s *CustomerManagedDatastoreS3Storage) SetKeyPrefix(v string) *CustomerManagedDatastoreS3Storage {
  5462  	s.KeyPrefix = &v
  5463  	return s
  5464  }
  5465  
  5466  // SetRoleArn sets the RoleArn field's value.
  5467  func (s *CustomerManagedDatastoreS3Storage) SetRoleArn(v string) *CustomerManagedDatastoreS3Storage {
  5468  	s.RoleArn = &v
  5469  	return s
  5470  }
  5471  
  5472  // Contains information about the data store that you manage.
  5473  type CustomerManagedDatastoreS3StorageSummary struct {
  5474  	_ struct{} `type:"structure"`
  5475  
  5476  	// The name of the Amazon S3 bucket where your data is stored.
  5477  	Bucket *string `locationName:"bucket" min:"3" type:"string"`
  5478  
  5479  	// (Optional) The prefix used to create the keys of the data store data objects.
  5480  	// Each object in an Amazon S3 bucket has a key that is its unique identifier
  5481  	// in the bucket. Each object in a bucket has exactly one key. The prefix must
  5482  	// end with a forward slash (/).
  5483  	KeyPrefix *string `locationName:"keyPrefix" min:"1" type:"string"`
  5484  
  5485  	// The ARN of the role that grants IoT Analytics permission to interact with
  5486  	// your Amazon S3 resources.
  5487  	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
  5488  }
  5489  
  5490  // String returns the string representation.
  5491  //
  5492  // API parameter values that are decorated as "sensitive" in the API will not
  5493  // be included in the string output. The member name will be present, but the
  5494  // value will be replaced with "sensitive".
  5495  func (s CustomerManagedDatastoreS3StorageSummary) String() string {
  5496  	return awsutil.Prettify(s)
  5497  }
  5498  
  5499  // GoString returns the string representation.
  5500  //
  5501  // API parameter values that are decorated as "sensitive" in the API will not
  5502  // be included in the string output. The member name will be present, but the
  5503  // value will be replaced with "sensitive".
  5504  func (s CustomerManagedDatastoreS3StorageSummary) GoString() string {
  5505  	return s.String()
  5506  }
  5507  
  5508  // SetBucket sets the Bucket field's value.
  5509  func (s *CustomerManagedDatastoreS3StorageSummary) SetBucket(v string) *CustomerManagedDatastoreS3StorageSummary {
  5510  	s.Bucket = &v
  5511  	return s
  5512  }
  5513  
  5514  // SetKeyPrefix sets the KeyPrefix field's value.
  5515  func (s *CustomerManagedDatastoreS3StorageSummary) SetKeyPrefix(v string) *CustomerManagedDatastoreS3StorageSummary {
  5516  	s.KeyPrefix = &v
  5517  	return s
  5518  }
  5519  
  5520  // SetRoleArn sets the RoleArn field's value.
  5521  func (s *CustomerManagedDatastoreS3StorageSummary) SetRoleArn(v string) *CustomerManagedDatastoreS3StorageSummary {
  5522  	s.RoleArn = &v
  5523  	return s
  5524  }
  5525  
  5526  // Information about a dataset.
  5527  type Dataset struct {
  5528  	_ struct{} `type:"structure"`
  5529  
  5530  	// The DatasetAction objects that automatically create the dataset contents.
  5531  	Actions []*DatasetAction `locationName:"actions" min:"1" type:"list"`
  5532  
  5533  	// The ARN of the dataset.
  5534  	Arn *string `locationName:"arn" type:"string"`
  5535  
  5536  	// When dataset contents are created they are delivered to destinations specified
  5537  	// here.
  5538  	ContentDeliveryRules []*DatasetContentDeliveryRule `locationName:"contentDeliveryRules" type:"list"`
  5539  
  5540  	// When the dataset was created.
  5541  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  5542  
  5543  	// The last time the dataset was updated.
  5544  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  5545  
  5546  	// A list of data rules that send notifications to CloudWatch, when data arrives
  5547  	// late. To specify lateDataRules, the dataset must use a DeltaTimer (https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html)
  5548  	// filter.
  5549  	LateDataRules []*LateDataRule `locationName:"lateDataRules" min:"1" type:"list"`
  5550  
  5551  	// The name of the dataset.
  5552  	Name *string `locationName:"name" min:"1" type:"string"`
  5553  
  5554  	// Optional. How long, in days, message data is kept for the dataset.
  5555  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
  5556  
  5557  	// The status of the dataset.
  5558  	Status *string `locationName:"status" type:"string" enum:"DatasetStatus"`
  5559  
  5560  	// The DatasetTrigger objects that specify when the dataset is automatically
  5561  	// updated.
  5562  	Triggers []*DatasetTrigger `locationName:"triggers" type:"list"`
  5563  
  5564  	// Optional. How many versions of dataset contents are kept. If not specified
  5565  	// or set to null, only the latest version plus the latest succeeded version
  5566  	// (if they are different) are kept for the time period specified by the retentionPeriod
  5567  	// parameter. For more information, see Keeping Multiple Versions of IoT Analytics
  5568  	// datasets (https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)
  5569  	// in the IoT Analytics User Guide.
  5570  	VersioningConfiguration *VersioningConfiguration `locationName:"versioningConfiguration" type:"structure"`
  5571  }
  5572  
  5573  // String returns the string representation.
  5574  //
  5575  // API parameter values that are decorated as "sensitive" in the API will not
  5576  // be included in the string output. The member name will be present, but the
  5577  // value will be replaced with "sensitive".
  5578  func (s Dataset) String() string {
  5579  	return awsutil.Prettify(s)
  5580  }
  5581  
  5582  // GoString returns the string representation.
  5583  //
  5584  // API parameter values that are decorated as "sensitive" in the API will not
  5585  // be included in the string output. The member name will be present, but the
  5586  // value will be replaced with "sensitive".
  5587  func (s Dataset) GoString() string {
  5588  	return s.String()
  5589  }
  5590  
  5591  // SetActions sets the Actions field's value.
  5592  func (s *Dataset) SetActions(v []*DatasetAction) *Dataset {
  5593  	s.Actions = v
  5594  	return s
  5595  }
  5596  
  5597  // SetArn sets the Arn field's value.
  5598  func (s *Dataset) SetArn(v string) *Dataset {
  5599  	s.Arn = &v
  5600  	return s
  5601  }
  5602  
  5603  // SetContentDeliveryRules sets the ContentDeliveryRules field's value.
  5604  func (s *Dataset) SetContentDeliveryRules(v []*DatasetContentDeliveryRule) *Dataset {
  5605  	s.ContentDeliveryRules = v
  5606  	return s
  5607  }
  5608  
  5609  // SetCreationTime sets the CreationTime field's value.
  5610  func (s *Dataset) SetCreationTime(v time.Time) *Dataset {
  5611  	s.CreationTime = &v
  5612  	return s
  5613  }
  5614  
  5615  // SetLastUpdateTime sets the LastUpdateTime field's value.
  5616  func (s *Dataset) SetLastUpdateTime(v time.Time) *Dataset {
  5617  	s.LastUpdateTime = &v
  5618  	return s
  5619  }
  5620  
  5621  // SetLateDataRules sets the LateDataRules field's value.
  5622  func (s *Dataset) SetLateDataRules(v []*LateDataRule) *Dataset {
  5623  	s.LateDataRules = v
  5624  	return s
  5625  }
  5626  
  5627  // SetName sets the Name field's value.
  5628  func (s *Dataset) SetName(v string) *Dataset {
  5629  	s.Name = &v
  5630  	return s
  5631  }
  5632  
  5633  // SetRetentionPeriod sets the RetentionPeriod field's value.
  5634  func (s *Dataset) SetRetentionPeriod(v *RetentionPeriod) *Dataset {
  5635  	s.RetentionPeriod = v
  5636  	return s
  5637  }
  5638  
  5639  // SetStatus sets the Status field's value.
  5640  func (s *Dataset) SetStatus(v string) *Dataset {
  5641  	s.Status = &v
  5642  	return s
  5643  }
  5644  
  5645  // SetTriggers sets the Triggers field's value.
  5646  func (s *Dataset) SetTriggers(v []*DatasetTrigger) *Dataset {
  5647  	s.Triggers = v
  5648  	return s
  5649  }
  5650  
  5651  // SetVersioningConfiguration sets the VersioningConfiguration field's value.
  5652  func (s *Dataset) SetVersioningConfiguration(v *VersioningConfiguration) *Dataset {
  5653  	s.VersioningConfiguration = v
  5654  	return s
  5655  }
  5656  
  5657  // A DatasetAction object that specifies how dataset contents are automatically
  5658  // created.
  5659  type DatasetAction struct {
  5660  	_ struct{} `type:"structure"`
  5661  
  5662  	// The name of the dataset action by which dataset contents are automatically
  5663  	// created.
  5664  	ActionName *string `locationName:"actionName" min:"1" type:"string"`
  5665  
  5666  	// Information that allows the system to run a containerized application to
  5667  	// create the dataset contents. The application must be in a Docker container
  5668  	// along with any required support libraries.
  5669  	ContainerAction *ContainerDatasetAction `locationName:"containerAction" type:"structure"`
  5670  
  5671  	// An SqlQueryDatasetAction object that uses an SQL query to automatically create
  5672  	// dataset contents.
  5673  	QueryAction *SqlQueryDatasetAction `locationName:"queryAction" type:"structure"`
  5674  }
  5675  
  5676  // String returns the string representation.
  5677  //
  5678  // API parameter values that are decorated as "sensitive" in the API will not
  5679  // be included in the string output. The member name will be present, but the
  5680  // value will be replaced with "sensitive".
  5681  func (s DatasetAction) String() string {
  5682  	return awsutil.Prettify(s)
  5683  }
  5684  
  5685  // GoString returns the string representation.
  5686  //
  5687  // API parameter values that are decorated as "sensitive" in the API will not
  5688  // be included in the string output. The member name will be present, but the
  5689  // value will be replaced with "sensitive".
  5690  func (s DatasetAction) GoString() string {
  5691  	return s.String()
  5692  }
  5693  
  5694  // Validate inspects the fields of the type to determine if they are valid.
  5695  func (s *DatasetAction) Validate() error {
  5696  	invalidParams := request.ErrInvalidParams{Context: "DatasetAction"}
  5697  	if s.ActionName != nil && len(*s.ActionName) < 1 {
  5698  		invalidParams.Add(request.NewErrParamMinLen("ActionName", 1))
  5699  	}
  5700  	if s.ContainerAction != nil {
  5701  		if err := s.ContainerAction.Validate(); err != nil {
  5702  			invalidParams.AddNested("ContainerAction", err.(request.ErrInvalidParams))
  5703  		}
  5704  	}
  5705  	if s.QueryAction != nil {
  5706  		if err := s.QueryAction.Validate(); err != nil {
  5707  			invalidParams.AddNested("QueryAction", err.(request.ErrInvalidParams))
  5708  		}
  5709  	}
  5710  
  5711  	if invalidParams.Len() > 0 {
  5712  		return invalidParams
  5713  	}
  5714  	return nil
  5715  }
  5716  
  5717  // SetActionName sets the ActionName field's value.
  5718  func (s *DatasetAction) SetActionName(v string) *DatasetAction {
  5719  	s.ActionName = &v
  5720  	return s
  5721  }
  5722  
  5723  // SetContainerAction sets the ContainerAction field's value.
  5724  func (s *DatasetAction) SetContainerAction(v *ContainerDatasetAction) *DatasetAction {
  5725  	s.ContainerAction = v
  5726  	return s
  5727  }
  5728  
  5729  // SetQueryAction sets the QueryAction field's value.
  5730  func (s *DatasetAction) SetQueryAction(v *SqlQueryDatasetAction) *DatasetAction {
  5731  	s.QueryAction = v
  5732  	return s
  5733  }
  5734  
  5735  // Information about the action that automatically creates the dataset's contents.
  5736  type DatasetActionSummary struct {
  5737  	_ struct{} `type:"structure"`
  5738  
  5739  	// The name of the action that automatically creates the dataset's contents.
  5740  	ActionName *string `locationName:"actionName" min:"1" type:"string"`
  5741  
  5742  	// The type of action by which the dataset's contents are automatically created.
  5743  	ActionType *string `locationName:"actionType" type:"string" enum:"DatasetActionType"`
  5744  }
  5745  
  5746  // String returns the string representation.
  5747  //
  5748  // API parameter values that are decorated as "sensitive" in the API will not
  5749  // be included in the string output. The member name will be present, but the
  5750  // value will be replaced with "sensitive".
  5751  func (s DatasetActionSummary) String() string {
  5752  	return awsutil.Prettify(s)
  5753  }
  5754  
  5755  // GoString returns the string representation.
  5756  //
  5757  // API parameter values that are decorated as "sensitive" in the API will not
  5758  // be included in the string output. The member name will be present, but the
  5759  // value will be replaced with "sensitive".
  5760  func (s DatasetActionSummary) GoString() string {
  5761  	return s.String()
  5762  }
  5763  
  5764  // SetActionName sets the ActionName field's value.
  5765  func (s *DatasetActionSummary) SetActionName(v string) *DatasetActionSummary {
  5766  	s.ActionName = &v
  5767  	return s
  5768  }
  5769  
  5770  // SetActionType sets the ActionType field's value.
  5771  func (s *DatasetActionSummary) SetActionType(v string) *DatasetActionSummary {
  5772  	s.ActionType = &v
  5773  	return s
  5774  }
  5775  
  5776  // The destination to which dataset contents are delivered.
  5777  type DatasetContentDeliveryDestination struct {
  5778  	_ struct{} `type:"structure"`
  5779  
  5780  	// Configuration information for delivery of dataset contents to IoT Events.
  5781  	IotEventsDestinationConfiguration *IotEventsDestinationConfiguration `locationName:"iotEventsDestinationConfiguration" type:"structure"`
  5782  
  5783  	// Configuration information for delivery of dataset contents to Amazon S3.
  5784  	S3DestinationConfiguration *S3DestinationConfiguration `locationName:"s3DestinationConfiguration" type:"structure"`
  5785  }
  5786  
  5787  // String returns the string representation.
  5788  //
  5789  // API parameter values that are decorated as "sensitive" in the API will not
  5790  // be included in the string output. The member name will be present, but the
  5791  // value will be replaced with "sensitive".
  5792  func (s DatasetContentDeliveryDestination) String() string {
  5793  	return awsutil.Prettify(s)
  5794  }
  5795  
  5796  // GoString returns the string representation.
  5797  //
  5798  // API parameter values that are decorated as "sensitive" in the API will not
  5799  // be included in the string output. The member name will be present, but the
  5800  // value will be replaced with "sensitive".
  5801  func (s DatasetContentDeliveryDestination) GoString() string {
  5802  	return s.String()
  5803  }
  5804  
  5805  // Validate inspects the fields of the type to determine if they are valid.
  5806  func (s *DatasetContentDeliveryDestination) Validate() error {
  5807  	invalidParams := request.ErrInvalidParams{Context: "DatasetContentDeliveryDestination"}
  5808  	if s.IotEventsDestinationConfiguration != nil {
  5809  		if err := s.IotEventsDestinationConfiguration.Validate(); err != nil {
  5810  			invalidParams.AddNested("IotEventsDestinationConfiguration", err.(request.ErrInvalidParams))
  5811  		}
  5812  	}
  5813  	if s.S3DestinationConfiguration != nil {
  5814  		if err := s.S3DestinationConfiguration.Validate(); err != nil {
  5815  			invalidParams.AddNested("S3DestinationConfiguration", err.(request.ErrInvalidParams))
  5816  		}
  5817  	}
  5818  
  5819  	if invalidParams.Len() > 0 {
  5820  		return invalidParams
  5821  	}
  5822  	return nil
  5823  }
  5824  
  5825  // SetIotEventsDestinationConfiguration sets the IotEventsDestinationConfiguration field's value.
  5826  func (s *DatasetContentDeliveryDestination) SetIotEventsDestinationConfiguration(v *IotEventsDestinationConfiguration) *DatasetContentDeliveryDestination {
  5827  	s.IotEventsDestinationConfiguration = v
  5828  	return s
  5829  }
  5830  
  5831  // SetS3DestinationConfiguration sets the S3DestinationConfiguration field's value.
  5832  func (s *DatasetContentDeliveryDestination) SetS3DestinationConfiguration(v *S3DestinationConfiguration) *DatasetContentDeliveryDestination {
  5833  	s.S3DestinationConfiguration = v
  5834  	return s
  5835  }
  5836  
  5837  // When dataset contents are created, they are delivered to destination specified
  5838  // here.
  5839  type DatasetContentDeliveryRule struct {
  5840  	_ struct{} `type:"structure"`
  5841  
  5842  	// The destination to which dataset contents are delivered.
  5843  	//
  5844  	// Destination is a required field
  5845  	Destination *DatasetContentDeliveryDestination `locationName:"destination" type:"structure" required:"true"`
  5846  
  5847  	// The name of the dataset content delivery rules entry.
  5848  	EntryName *string `locationName:"entryName" type:"string"`
  5849  }
  5850  
  5851  // String returns the string representation.
  5852  //
  5853  // API parameter values that are decorated as "sensitive" in the API will not
  5854  // be included in the string output. The member name will be present, but the
  5855  // value will be replaced with "sensitive".
  5856  func (s DatasetContentDeliveryRule) String() string {
  5857  	return awsutil.Prettify(s)
  5858  }
  5859  
  5860  // GoString returns the string representation.
  5861  //
  5862  // API parameter values that are decorated as "sensitive" in the API will not
  5863  // be included in the string output. The member name will be present, but the
  5864  // value will be replaced with "sensitive".
  5865  func (s DatasetContentDeliveryRule) GoString() string {
  5866  	return s.String()
  5867  }
  5868  
  5869  // Validate inspects the fields of the type to determine if they are valid.
  5870  func (s *DatasetContentDeliveryRule) Validate() error {
  5871  	invalidParams := request.ErrInvalidParams{Context: "DatasetContentDeliveryRule"}
  5872  	if s.Destination == nil {
  5873  		invalidParams.Add(request.NewErrParamRequired("Destination"))
  5874  	}
  5875  	if s.Destination != nil {
  5876  		if err := s.Destination.Validate(); err != nil {
  5877  			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
  5878  		}
  5879  	}
  5880  
  5881  	if invalidParams.Len() > 0 {
  5882  		return invalidParams
  5883  	}
  5884  	return nil
  5885  }
  5886  
  5887  // SetDestination sets the Destination field's value.
  5888  func (s *DatasetContentDeliveryRule) SetDestination(v *DatasetContentDeliveryDestination) *DatasetContentDeliveryRule {
  5889  	s.Destination = v
  5890  	return s
  5891  }
  5892  
  5893  // SetEntryName sets the EntryName field's value.
  5894  func (s *DatasetContentDeliveryRule) SetEntryName(v string) *DatasetContentDeliveryRule {
  5895  	s.EntryName = &v
  5896  	return s
  5897  }
  5898  
  5899  // The state of the dataset contents and the reason they are in this state.
  5900  type DatasetContentStatus struct {
  5901  	_ struct{} `type:"structure"`
  5902  
  5903  	// The reason the dataset contents are in this state.
  5904  	Reason *string `locationName:"reason" type:"string"`
  5905  
  5906  	// The state of the dataset contents. Can be one of READY, CREATING, SUCCEEDED,
  5907  	// or FAILED.
  5908  	State *string `locationName:"state" type:"string" enum:"DatasetContentState"`
  5909  }
  5910  
  5911  // String 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 DatasetContentStatus) String() string {
  5917  	return awsutil.Prettify(s)
  5918  }
  5919  
  5920  // GoString returns the string representation.
  5921  //
  5922  // API parameter values that are decorated as "sensitive" in the API will not
  5923  // be included in the string output. The member name will be present, but the
  5924  // value will be replaced with "sensitive".
  5925  func (s DatasetContentStatus) GoString() string {
  5926  	return s.String()
  5927  }
  5928  
  5929  // SetReason sets the Reason field's value.
  5930  func (s *DatasetContentStatus) SetReason(v string) *DatasetContentStatus {
  5931  	s.Reason = &v
  5932  	return s
  5933  }
  5934  
  5935  // SetState sets the State field's value.
  5936  func (s *DatasetContentStatus) SetState(v string) *DatasetContentStatus {
  5937  	s.State = &v
  5938  	return s
  5939  }
  5940  
  5941  // Summary information about dataset contents.
  5942  type DatasetContentSummary struct {
  5943  	_ struct{} `type:"structure"`
  5944  
  5945  	// The time the dataset content status was updated to SUCCEEDED or FAILED.
  5946  	CompletionTime *time.Time `locationName:"completionTime" type:"timestamp"`
  5947  
  5948  	// The actual time the creation of the dataset contents was started.
  5949  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  5950  
  5951  	// The time the creation of the dataset contents was scheduled to start.
  5952  	ScheduleTime *time.Time `locationName:"scheduleTime" type:"timestamp"`
  5953  
  5954  	// The status of the dataset contents.
  5955  	Status *DatasetContentStatus `locationName:"status" type:"structure"`
  5956  
  5957  	// The version of the dataset contents.
  5958  	Version *string `locationName:"version" min:"7" type:"string"`
  5959  }
  5960  
  5961  // String returns the string representation.
  5962  //
  5963  // API parameter values that are decorated as "sensitive" in the API will not
  5964  // be included in the string output. The member name will be present, but the
  5965  // value will be replaced with "sensitive".
  5966  func (s DatasetContentSummary) String() string {
  5967  	return awsutil.Prettify(s)
  5968  }
  5969  
  5970  // GoString returns the string representation.
  5971  //
  5972  // API parameter values that are decorated as "sensitive" in the API will not
  5973  // be included in the string output. The member name will be present, but the
  5974  // value will be replaced with "sensitive".
  5975  func (s DatasetContentSummary) GoString() string {
  5976  	return s.String()
  5977  }
  5978  
  5979  // SetCompletionTime sets the CompletionTime field's value.
  5980  func (s *DatasetContentSummary) SetCompletionTime(v time.Time) *DatasetContentSummary {
  5981  	s.CompletionTime = &v
  5982  	return s
  5983  }
  5984  
  5985  // SetCreationTime sets the CreationTime field's value.
  5986  func (s *DatasetContentSummary) SetCreationTime(v time.Time) *DatasetContentSummary {
  5987  	s.CreationTime = &v
  5988  	return s
  5989  }
  5990  
  5991  // SetScheduleTime sets the ScheduleTime field's value.
  5992  func (s *DatasetContentSummary) SetScheduleTime(v time.Time) *DatasetContentSummary {
  5993  	s.ScheduleTime = &v
  5994  	return s
  5995  }
  5996  
  5997  // SetStatus sets the Status field's value.
  5998  func (s *DatasetContentSummary) SetStatus(v *DatasetContentStatus) *DatasetContentSummary {
  5999  	s.Status = v
  6000  	return s
  6001  }
  6002  
  6003  // SetVersion sets the Version field's value.
  6004  func (s *DatasetContentSummary) SetVersion(v string) *DatasetContentSummary {
  6005  	s.Version = &v
  6006  	return s
  6007  }
  6008  
  6009  // The dataset whose latest contents are used as input to the notebook or application.
  6010  type DatasetContentVersionValue struct {
  6011  	_ struct{} `type:"structure"`
  6012  
  6013  	// The name of the dataset whose latest contents are used as input to the notebook
  6014  	// or application.
  6015  	//
  6016  	// DatasetName is a required field
  6017  	DatasetName *string `locationName:"datasetName" min:"1" type:"string" required:"true"`
  6018  }
  6019  
  6020  // String returns the string representation.
  6021  //
  6022  // API parameter values that are decorated as "sensitive" in the API will not
  6023  // be included in the string output. The member name will be present, but the
  6024  // value will be replaced with "sensitive".
  6025  func (s DatasetContentVersionValue) String() string {
  6026  	return awsutil.Prettify(s)
  6027  }
  6028  
  6029  // GoString returns the string representation.
  6030  //
  6031  // API parameter values that are decorated as "sensitive" in the API will not
  6032  // be included in the string output. The member name will be present, but the
  6033  // value will be replaced with "sensitive".
  6034  func (s DatasetContentVersionValue) GoString() string {
  6035  	return s.String()
  6036  }
  6037  
  6038  // Validate inspects the fields of the type to determine if they are valid.
  6039  func (s *DatasetContentVersionValue) Validate() error {
  6040  	invalidParams := request.ErrInvalidParams{Context: "DatasetContentVersionValue"}
  6041  	if s.DatasetName == nil {
  6042  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
  6043  	}
  6044  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  6045  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  6046  	}
  6047  
  6048  	if invalidParams.Len() > 0 {
  6049  		return invalidParams
  6050  	}
  6051  	return nil
  6052  }
  6053  
  6054  // SetDatasetName sets the DatasetName field's value.
  6055  func (s *DatasetContentVersionValue) SetDatasetName(v string) *DatasetContentVersionValue {
  6056  	s.DatasetName = &v
  6057  	return s
  6058  }
  6059  
  6060  // The reference to a dataset entry.
  6061  type DatasetEntry struct {
  6062  	_ struct{} `type:"structure"`
  6063  
  6064  	// The presigned URI of the dataset item.
  6065  	DataURI *string `locationName:"dataURI" type:"string"`
  6066  
  6067  	// The name of the dataset item.
  6068  	EntryName *string `locationName:"entryName" type:"string"`
  6069  }
  6070  
  6071  // String returns the string representation.
  6072  //
  6073  // API parameter values that are decorated as "sensitive" in the API will not
  6074  // be included in the string output. The member name will be present, but the
  6075  // value will be replaced with "sensitive".
  6076  func (s DatasetEntry) String() string {
  6077  	return awsutil.Prettify(s)
  6078  }
  6079  
  6080  // GoString returns the string representation.
  6081  //
  6082  // API parameter values that are decorated as "sensitive" in the API will not
  6083  // be included in the string output. The member name will be present, but the
  6084  // value will be replaced with "sensitive".
  6085  func (s DatasetEntry) GoString() string {
  6086  	return s.String()
  6087  }
  6088  
  6089  // SetDataURI sets the DataURI field's value.
  6090  func (s *DatasetEntry) SetDataURI(v string) *DatasetEntry {
  6091  	s.DataURI = &v
  6092  	return s
  6093  }
  6094  
  6095  // SetEntryName sets the EntryName field's value.
  6096  func (s *DatasetEntry) SetEntryName(v string) *DatasetEntry {
  6097  	s.EntryName = &v
  6098  	return s
  6099  }
  6100  
  6101  // A summary of information about a dataset.
  6102  type DatasetSummary struct {
  6103  	_ struct{} `type:"structure"`
  6104  
  6105  	// A list of DataActionSummary objects.
  6106  	Actions []*DatasetActionSummary `locationName:"actions" min:"1" type:"list"`
  6107  
  6108  	// The time the dataset was created.
  6109  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  6110  
  6111  	// The name of the dataset.
  6112  	DatasetName *string `locationName:"datasetName" min:"1" type:"string"`
  6113  
  6114  	// The last time the dataset was updated.
  6115  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  6116  
  6117  	// The status of the dataset.
  6118  	Status *string `locationName:"status" type:"string" enum:"DatasetStatus"`
  6119  
  6120  	// A list of triggers. A trigger causes dataset content to be populated at a
  6121  	// specified time interval or when another dataset is populated. The list of
  6122  	// triggers can be empty or contain up to five DataSetTrigger objects
  6123  	Triggers []*DatasetTrigger `locationName:"triggers" type:"list"`
  6124  }
  6125  
  6126  // String returns the string representation.
  6127  //
  6128  // API parameter values that are decorated as "sensitive" in the API will not
  6129  // be included in the string output. The member name will be present, but the
  6130  // value will be replaced with "sensitive".
  6131  func (s DatasetSummary) String() string {
  6132  	return awsutil.Prettify(s)
  6133  }
  6134  
  6135  // GoString returns the string representation.
  6136  //
  6137  // API parameter values that are decorated as "sensitive" in the API will not
  6138  // be included in the string output. The member name will be present, but the
  6139  // value will be replaced with "sensitive".
  6140  func (s DatasetSummary) GoString() string {
  6141  	return s.String()
  6142  }
  6143  
  6144  // SetActions sets the Actions field's value.
  6145  func (s *DatasetSummary) SetActions(v []*DatasetActionSummary) *DatasetSummary {
  6146  	s.Actions = v
  6147  	return s
  6148  }
  6149  
  6150  // SetCreationTime sets the CreationTime field's value.
  6151  func (s *DatasetSummary) SetCreationTime(v time.Time) *DatasetSummary {
  6152  	s.CreationTime = &v
  6153  	return s
  6154  }
  6155  
  6156  // SetDatasetName sets the DatasetName field's value.
  6157  func (s *DatasetSummary) SetDatasetName(v string) *DatasetSummary {
  6158  	s.DatasetName = &v
  6159  	return s
  6160  }
  6161  
  6162  // SetLastUpdateTime sets the LastUpdateTime field's value.
  6163  func (s *DatasetSummary) SetLastUpdateTime(v time.Time) *DatasetSummary {
  6164  	s.LastUpdateTime = &v
  6165  	return s
  6166  }
  6167  
  6168  // SetStatus sets the Status field's value.
  6169  func (s *DatasetSummary) SetStatus(v string) *DatasetSummary {
  6170  	s.Status = &v
  6171  	return s
  6172  }
  6173  
  6174  // SetTriggers sets the Triggers field's value.
  6175  func (s *DatasetSummary) SetTriggers(v []*DatasetTrigger) *DatasetSummary {
  6176  	s.Triggers = v
  6177  	return s
  6178  }
  6179  
  6180  // The DatasetTrigger that specifies when the dataset is automatically updated.
  6181  type DatasetTrigger struct {
  6182  	_ struct{} `type:"structure"`
  6183  
  6184  	// The dataset whose content creation triggers the creation of this dataset's
  6185  	// contents.
  6186  	Dataset *TriggeringDataset `locationName:"dataset" type:"structure"`
  6187  
  6188  	// The Schedule when the trigger is initiated.
  6189  	Schedule *Schedule `locationName:"schedule" type:"structure"`
  6190  }
  6191  
  6192  // String returns the string representation.
  6193  //
  6194  // API parameter values that are decorated as "sensitive" in the API will not
  6195  // be included in the string output. The member name will be present, but the
  6196  // value will be replaced with "sensitive".
  6197  func (s DatasetTrigger) String() string {
  6198  	return awsutil.Prettify(s)
  6199  }
  6200  
  6201  // GoString returns the string representation.
  6202  //
  6203  // API parameter values that are decorated as "sensitive" in the API will not
  6204  // be included in the string output. The member name will be present, but the
  6205  // value will be replaced with "sensitive".
  6206  func (s DatasetTrigger) GoString() string {
  6207  	return s.String()
  6208  }
  6209  
  6210  // Validate inspects the fields of the type to determine if they are valid.
  6211  func (s *DatasetTrigger) Validate() error {
  6212  	invalidParams := request.ErrInvalidParams{Context: "DatasetTrigger"}
  6213  	if s.Dataset != nil {
  6214  		if err := s.Dataset.Validate(); err != nil {
  6215  			invalidParams.AddNested("Dataset", err.(request.ErrInvalidParams))
  6216  		}
  6217  	}
  6218  
  6219  	if invalidParams.Len() > 0 {
  6220  		return invalidParams
  6221  	}
  6222  	return nil
  6223  }
  6224  
  6225  // SetDataset sets the Dataset field's value.
  6226  func (s *DatasetTrigger) SetDataset(v *TriggeringDataset) *DatasetTrigger {
  6227  	s.Dataset = v
  6228  	return s
  6229  }
  6230  
  6231  // SetSchedule sets the Schedule field's value.
  6232  func (s *DatasetTrigger) SetSchedule(v *Schedule) *DatasetTrigger {
  6233  	s.Schedule = v
  6234  	return s
  6235  }
  6236  
  6237  // Information about a data store.
  6238  type Datastore struct {
  6239  	_ struct{} `type:"structure"`
  6240  
  6241  	// The ARN of the data store.
  6242  	Arn *string `locationName:"arn" type:"string"`
  6243  
  6244  	// When the data store was created.
  6245  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  6246  
  6247  	// Contains information about the partition dimensions in a data store.
  6248  	DatastorePartitions *DatastorePartitions `locationName:"datastorePartitions" type:"structure"`
  6249  
  6250  	// Contains the configuration information of file formats. IoT Analytics data
  6251  	// stores support JSON and Parquet (https://parquet.apache.org/).
  6252  	//
  6253  	// The default file format is JSON. You can specify only one format.
  6254  	//
  6255  	// You can't change the file format after you create the data store.
  6256  	FileFormatConfiguration *FileFormatConfiguration `locationName:"fileFormatConfiguration" type:"structure"`
  6257  
  6258  	// The last time when a new message arrived in the data store.
  6259  	//
  6260  	// IoT Analytics updates this value at most once per minute for Amazon Simple
  6261  	// Storage Service one data store. Hence, the lastMessageArrivalTime value is
  6262  	// an approximation.
  6263  	//
  6264  	// This feature only applies to messages that arrived in the data store after
  6265  	// October 23, 2020.
  6266  	LastMessageArrivalTime *time.Time `locationName:"lastMessageArrivalTime" type:"timestamp"`
  6267  
  6268  	// The last time the data store was updated.
  6269  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  6270  
  6271  	// The name of the data store.
  6272  	Name *string `locationName:"name" min:"1" type:"string"`
  6273  
  6274  	// How long, in days, message data is kept for the data store. When customerManagedS3
  6275  	// storage is selected, this parameter is ignored.
  6276  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
  6277  
  6278  	// The status of a data store:
  6279  	//
  6280  	// CREATING
  6281  	//
  6282  	// The data store is being created.
  6283  	//
  6284  	// ACTIVE
  6285  	//
  6286  	// The data store has been created and can be used.
  6287  	//
  6288  	// DELETING
  6289  	//
  6290  	// The data store is being deleted.
  6291  	Status *string `locationName:"status" type:"string" enum:"DatastoreStatus"`
  6292  
  6293  	// Where data in a data store is stored.. You can choose serviceManagedS3 storage,
  6294  	// customerManagedS3 storage, or iotSiteWiseMultiLayerStorage storage. The default
  6295  	// is serviceManagedS3. You can't change the choice of Amazon S3 storage after
  6296  	// your data store is created.
  6297  	Storage *DatastoreStorage `locationName:"storage" type:"structure"`
  6298  }
  6299  
  6300  // String returns the string representation.
  6301  //
  6302  // API parameter values that are decorated as "sensitive" in the API will not
  6303  // be included in the string output. The member name will be present, but the
  6304  // value will be replaced with "sensitive".
  6305  func (s Datastore) String() string {
  6306  	return awsutil.Prettify(s)
  6307  }
  6308  
  6309  // GoString returns the string representation.
  6310  //
  6311  // API parameter values that are decorated as "sensitive" in the API will not
  6312  // be included in the string output. The member name will be present, but the
  6313  // value will be replaced with "sensitive".
  6314  func (s Datastore) GoString() string {
  6315  	return s.String()
  6316  }
  6317  
  6318  // SetArn sets the Arn field's value.
  6319  func (s *Datastore) SetArn(v string) *Datastore {
  6320  	s.Arn = &v
  6321  	return s
  6322  }
  6323  
  6324  // SetCreationTime sets the CreationTime field's value.
  6325  func (s *Datastore) SetCreationTime(v time.Time) *Datastore {
  6326  	s.CreationTime = &v
  6327  	return s
  6328  }
  6329  
  6330  // SetDatastorePartitions sets the DatastorePartitions field's value.
  6331  func (s *Datastore) SetDatastorePartitions(v *DatastorePartitions) *Datastore {
  6332  	s.DatastorePartitions = v
  6333  	return s
  6334  }
  6335  
  6336  // SetFileFormatConfiguration sets the FileFormatConfiguration field's value.
  6337  func (s *Datastore) SetFileFormatConfiguration(v *FileFormatConfiguration) *Datastore {
  6338  	s.FileFormatConfiguration = v
  6339  	return s
  6340  }
  6341  
  6342  // SetLastMessageArrivalTime sets the LastMessageArrivalTime field's value.
  6343  func (s *Datastore) SetLastMessageArrivalTime(v time.Time) *Datastore {
  6344  	s.LastMessageArrivalTime = &v
  6345  	return s
  6346  }
  6347  
  6348  // SetLastUpdateTime sets the LastUpdateTime field's value.
  6349  func (s *Datastore) SetLastUpdateTime(v time.Time) *Datastore {
  6350  	s.LastUpdateTime = &v
  6351  	return s
  6352  }
  6353  
  6354  // SetName sets the Name field's value.
  6355  func (s *Datastore) SetName(v string) *Datastore {
  6356  	s.Name = &v
  6357  	return s
  6358  }
  6359  
  6360  // SetRetentionPeriod sets the RetentionPeriod field's value.
  6361  func (s *Datastore) SetRetentionPeriod(v *RetentionPeriod) *Datastore {
  6362  	s.RetentionPeriod = v
  6363  	return s
  6364  }
  6365  
  6366  // SetStatus sets the Status field's value.
  6367  func (s *Datastore) SetStatus(v string) *Datastore {
  6368  	s.Status = &v
  6369  	return s
  6370  }
  6371  
  6372  // SetStorage sets the Storage field's value.
  6373  func (s *Datastore) SetStorage(v *DatastoreStorage) *Datastore {
  6374  	s.Storage = v
  6375  	return s
  6376  }
  6377  
  6378  // The datastore activity that specifies where to store the processed data.
  6379  type DatastoreActivity struct {
  6380  	_ struct{} `type:"structure"`
  6381  
  6382  	// The name of the data store where processed messages are stored.
  6383  	//
  6384  	// DatastoreName is a required field
  6385  	DatastoreName *string `locationName:"datastoreName" min:"1" type:"string" required:"true"`
  6386  
  6387  	// The name of the datastore activity.
  6388  	//
  6389  	// Name is a required field
  6390  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  6391  }
  6392  
  6393  // String returns the string representation.
  6394  //
  6395  // API parameter values that are decorated as "sensitive" in the API will not
  6396  // be included in the string output. The member name will be present, but the
  6397  // value will be replaced with "sensitive".
  6398  func (s DatastoreActivity) String() string {
  6399  	return awsutil.Prettify(s)
  6400  }
  6401  
  6402  // GoString returns the string representation.
  6403  //
  6404  // API parameter values that are decorated as "sensitive" in the API will not
  6405  // be included in the string output. The member name will be present, but the
  6406  // value will be replaced with "sensitive".
  6407  func (s DatastoreActivity) GoString() string {
  6408  	return s.String()
  6409  }
  6410  
  6411  // Validate inspects the fields of the type to determine if they are valid.
  6412  func (s *DatastoreActivity) Validate() error {
  6413  	invalidParams := request.ErrInvalidParams{Context: "DatastoreActivity"}
  6414  	if s.DatastoreName == nil {
  6415  		invalidParams.Add(request.NewErrParamRequired("DatastoreName"))
  6416  	}
  6417  	if s.DatastoreName != nil && len(*s.DatastoreName) < 1 {
  6418  		invalidParams.Add(request.NewErrParamMinLen("DatastoreName", 1))
  6419  	}
  6420  	if s.Name == nil {
  6421  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6422  	}
  6423  	if s.Name != nil && len(*s.Name) < 1 {
  6424  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6425  	}
  6426  
  6427  	if invalidParams.Len() > 0 {
  6428  		return invalidParams
  6429  	}
  6430  	return nil
  6431  }
  6432  
  6433  // SetDatastoreName sets the DatastoreName field's value.
  6434  func (s *DatastoreActivity) SetDatastoreName(v string) *DatastoreActivity {
  6435  	s.DatastoreName = &v
  6436  	return s
  6437  }
  6438  
  6439  // SetName sets the Name field's value.
  6440  func (s *DatastoreActivity) SetName(v string) *DatastoreActivity {
  6441  	s.Name = &v
  6442  	return s
  6443  }
  6444  
  6445  // Used to store data used by IoT SiteWise in an Amazon S3 bucket that you manage.
  6446  // You can't change the choice of Amazon S3 storage after your data store is
  6447  // created.
  6448  type DatastoreIotSiteWiseMultiLayerStorage struct {
  6449  	_ struct{} `type:"structure"`
  6450  
  6451  	// Used to store data used by IoT SiteWise in an Amazon S3 bucket that you manage.
  6452  	//
  6453  	// CustomerManagedS3Storage is a required field
  6454  	CustomerManagedS3Storage *IotSiteWiseCustomerManagedDatastoreS3Storage `locationName:"customerManagedS3Storage" type:"structure" required:"true"`
  6455  }
  6456  
  6457  // String returns the string representation.
  6458  //
  6459  // API parameter values that are decorated as "sensitive" in the API will not
  6460  // be included in the string output. The member name will be present, but the
  6461  // value will be replaced with "sensitive".
  6462  func (s DatastoreIotSiteWiseMultiLayerStorage) String() string {
  6463  	return awsutil.Prettify(s)
  6464  }
  6465  
  6466  // GoString returns the string representation.
  6467  //
  6468  // API parameter values that are decorated as "sensitive" in the API will not
  6469  // be included in the string output. The member name will be present, but the
  6470  // value will be replaced with "sensitive".
  6471  func (s DatastoreIotSiteWiseMultiLayerStorage) GoString() string {
  6472  	return s.String()
  6473  }
  6474  
  6475  // Validate inspects the fields of the type to determine if they are valid.
  6476  func (s *DatastoreIotSiteWiseMultiLayerStorage) Validate() error {
  6477  	invalidParams := request.ErrInvalidParams{Context: "DatastoreIotSiteWiseMultiLayerStorage"}
  6478  	if s.CustomerManagedS3Storage == nil {
  6479  		invalidParams.Add(request.NewErrParamRequired("CustomerManagedS3Storage"))
  6480  	}
  6481  	if s.CustomerManagedS3Storage != nil {
  6482  		if err := s.CustomerManagedS3Storage.Validate(); err != nil {
  6483  			invalidParams.AddNested("CustomerManagedS3Storage", err.(request.ErrInvalidParams))
  6484  		}
  6485  	}
  6486  
  6487  	if invalidParams.Len() > 0 {
  6488  		return invalidParams
  6489  	}
  6490  	return nil
  6491  }
  6492  
  6493  // SetCustomerManagedS3Storage sets the CustomerManagedS3Storage field's value.
  6494  func (s *DatastoreIotSiteWiseMultiLayerStorage) SetCustomerManagedS3Storage(v *IotSiteWiseCustomerManagedDatastoreS3Storage) *DatastoreIotSiteWiseMultiLayerStorage {
  6495  	s.CustomerManagedS3Storage = v
  6496  	return s
  6497  }
  6498  
  6499  // Contains information about the data store that you manage, which stores data
  6500  // used by IoT SiteWise.
  6501  type DatastoreIotSiteWiseMultiLayerStorageSummary struct {
  6502  	_ struct{} `type:"structure"`
  6503  
  6504  	// Used to store data used by IoT SiteWise in an Amazon S3 bucket that you manage.
  6505  	CustomerManagedS3Storage *IotSiteWiseCustomerManagedDatastoreS3StorageSummary `locationName:"customerManagedS3Storage" type:"structure"`
  6506  }
  6507  
  6508  // String returns the string representation.
  6509  //
  6510  // API parameter values that are decorated as "sensitive" in the API will not
  6511  // be included in the string output. The member name will be present, but the
  6512  // value will be replaced with "sensitive".
  6513  func (s DatastoreIotSiteWiseMultiLayerStorageSummary) String() string {
  6514  	return awsutil.Prettify(s)
  6515  }
  6516  
  6517  // GoString returns the string representation.
  6518  //
  6519  // API parameter values that are decorated as "sensitive" in the API will not
  6520  // be included in the string output. The member name will be present, but the
  6521  // value will be replaced with "sensitive".
  6522  func (s DatastoreIotSiteWiseMultiLayerStorageSummary) GoString() string {
  6523  	return s.String()
  6524  }
  6525  
  6526  // SetCustomerManagedS3Storage sets the CustomerManagedS3Storage field's value.
  6527  func (s *DatastoreIotSiteWiseMultiLayerStorageSummary) SetCustomerManagedS3Storage(v *IotSiteWiseCustomerManagedDatastoreS3StorageSummary) *DatastoreIotSiteWiseMultiLayerStorageSummary {
  6528  	s.CustomerManagedS3Storage = v
  6529  	return s
  6530  }
  6531  
  6532  // A single dimension to partition a data store. The dimension must be an AttributePartition
  6533  // or a TimestampPartition.
  6534  type DatastorePartition struct {
  6535  	_ struct{} `type:"structure"`
  6536  
  6537  	// A partition dimension defined by an attributeName.
  6538  	AttributePartition *Partition `locationName:"attributePartition" type:"structure"`
  6539  
  6540  	// A partition dimension defined by a timestamp attribute.
  6541  	TimestampPartition *TimestampPartition `locationName:"timestampPartition" type:"structure"`
  6542  }
  6543  
  6544  // String returns the string representation.
  6545  //
  6546  // API parameter values that are decorated as "sensitive" in the API will not
  6547  // be included in the string output. The member name will be present, but the
  6548  // value will be replaced with "sensitive".
  6549  func (s DatastorePartition) String() string {
  6550  	return awsutil.Prettify(s)
  6551  }
  6552  
  6553  // GoString returns the string representation.
  6554  //
  6555  // API parameter values that are decorated as "sensitive" in the API will not
  6556  // be included in the string output. The member name will be present, but the
  6557  // value will be replaced with "sensitive".
  6558  func (s DatastorePartition) GoString() string {
  6559  	return s.String()
  6560  }
  6561  
  6562  // Validate inspects the fields of the type to determine if they are valid.
  6563  func (s *DatastorePartition) Validate() error {
  6564  	invalidParams := request.ErrInvalidParams{Context: "DatastorePartition"}
  6565  	if s.AttributePartition != nil {
  6566  		if err := s.AttributePartition.Validate(); err != nil {
  6567  			invalidParams.AddNested("AttributePartition", err.(request.ErrInvalidParams))
  6568  		}
  6569  	}
  6570  	if s.TimestampPartition != nil {
  6571  		if err := s.TimestampPartition.Validate(); err != nil {
  6572  			invalidParams.AddNested("TimestampPartition", err.(request.ErrInvalidParams))
  6573  		}
  6574  	}
  6575  
  6576  	if invalidParams.Len() > 0 {
  6577  		return invalidParams
  6578  	}
  6579  	return nil
  6580  }
  6581  
  6582  // SetAttributePartition sets the AttributePartition field's value.
  6583  func (s *DatastorePartition) SetAttributePartition(v *Partition) *DatastorePartition {
  6584  	s.AttributePartition = v
  6585  	return s
  6586  }
  6587  
  6588  // SetTimestampPartition sets the TimestampPartition field's value.
  6589  func (s *DatastorePartition) SetTimestampPartition(v *TimestampPartition) *DatastorePartition {
  6590  	s.TimestampPartition = v
  6591  	return s
  6592  }
  6593  
  6594  // Contains information about the partition dimensions in a data store.
  6595  type DatastorePartitions struct {
  6596  	_ struct{} `type:"structure"`
  6597  
  6598  	// A list of partition dimensions in a data store.
  6599  	Partitions []*DatastorePartition `locationName:"partitions" type:"list"`
  6600  }
  6601  
  6602  // String returns the string representation.
  6603  //
  6604  // API parameter values that are decorated as "sensitive" in the API will not
  6605  // be included in the string output. The member name will be present, but the
  6606  // value will be replaced with "sensitive".
  6607  func (s DatastorePartitions) String() string {
  6608  	return awsutil.Prettify(s)
  6609  }
  6610  
  6611  // GoString returns the string representation.
  6612  //
  6613  // API parameter values that are decorated as "sensitive" in the API will not
  6614  // be included in the string output. The member name will be present, but the
  6615  // value will be replaced with "sensitive".
  6616  func (s DatastorePartitions) GoString() string {
  6617  	return s.String()
  6618  }
  6619  
  6620  // Validate inspects the fields of the type to determine if they are valid.
  6621  func (s *DatastorePartitions) Validate() error {
  6622  	invalidParams := request.ErrInvalidParams{Context: "DatastorePartitions"}
  6623  	if s.Partitions != nil {
  6624  		for i, v := range s.Partitions {
  6625  			if v == nil {
  6626  				continue
  6627  			}
  6628  			if err := v.Validate(); err != nil {
  6629  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Partitions", i), err.(request.ErrInvalidParams))
  6630  			}
  6631  		}
  6632  	}
  6633  
  6634  	if invalidParams.Len() > 0 {
  6635  		return invalidParams
  6636  	}
  6637  	return nil
  6638  }
  6639  
  6640  // SetPartitions sets the Partitions field's value.
  6641  func (s *DatastorePartitions) SetPartitions(v []*DatastorePartition) *DatastorePartitions {
  6642  	s.Partitions = v
  6643  	return s
  6644  }
  6645  
  6646  // Statistical information about the data store.
  6647  type DatastoreStatistics struct {
  6648  	_ struct{} `type:"structure"`
  6649  
  6650  	// The estimated size of the data store.
  6651  	Size *EstimatedResourceSize `locationName:"size" type:"structure"`
  6652  }
  6653  
  6654  // String returns the string representation.
  6655  //
  6656  // API parameter values that are decorated as "sensitive" in the API will not
  6657  // be included in the string output. The member name will be present, but the
  6658  // value will be replaced with "sensitive".
  6659  func (s DatastoreStatistics) String() string {
  6660  	return awsutil.Prettify(s)
  6661  }
  6662  
  6663  // GoString returns the string representation.
  6664  //
  6665  // API parameter values that are decorated as "sensitive" in the API will not
  6666  // be included in the string output. The member name will be present, but the
  6667  // value will be replaced with "sensitive".
  6668  func (s DatastoreStatistics) GoString() string {
  6669  	return s.String()
  6670  }
  6671  
  6672  // SetSize sets the Size field's value.
  6673  func (s *DatastoreStatistics) SetSize(v *EstimatedResourceSize) *DatastoreStatistics {
  6674  	s.Size = v
  6675  	return s
  6676  }
  6677  
  6678  // Where data in a data store is stored.. You can choose serviceManagedS3 storage,
  6679  // customerManagedS3 storage, or iotSiteWiseMultiLayerStorage storage. The default
  6680  // is serviceManagedS3. You can't change the choice of Amazon S3 storage after
  6681  // your data store is created.
  6682  type DatastoreStorage struct {
  6683  	_ struct{} `type:"structure"`
  6684  
  6685  	// S3-customer-managed; When you choose customer-managed storage, the retentionPeriod
  6686  	// parameter is ignored. You can't change the choice of Amazon S3 storage after
  6687  	// your data store is created.
  6688  	CustomerManagedS3 *CustomerManagedDatastoreS3Storage `locationName:"customerManagedS3" type:"structure"`
  6689  
  6690  	// Used to store data used by IoT SiteWise in an Amazon S3 bucket that you manage.
  6691  	// You can't change the choice of Amazon S3 storage after your data store is
  6692  	// created.
  6693  	IotSiteWiseMultiLayerStorage *DatastoreIotSiteWiseMultiLayerStorage `locationName:"iotSiteWiseMultiLayerStorage" type:"structure"`
  6694  
  6695  	// Used to store data in an Amazon S3 bucket managed by IoT Analytics. You can't
  6696  	// change the choice of Amazon S3 storage after your data store is created.
  6697  	ServiceManagedS3 *ServiceManagedDatastoreS3Storage `locationName:"serviceManagedS3" type:"structure"`
  6698  }
  6699  
  6700  // String returns the string representation.
  6701  //
  6702  // API parameter values that are decorated as "sensitive" in the API will not
  6703  // be included in the string output. The member name will be present, but the
  6704  // value will be replaced with "sensitive".
  6705  func (s DatastoreStorage) String() string {
  6706  	return awsutil.Prettify(s)
  6707  }
  6708  
  6709  // GoString returns the string representation.
  6710  //
  6711  // API parameter values that are decorated as "sensitive" in the API will not
  6712  // be included in the string output. The member name will be present, but the
  6713  // value will be replaced with "sensitive".
  6714  func (s DatastoreStorage) GoString() string {
  6715  	return s.String()
  6716  }
  6717  
  6718  // Validate inspects the fields of the type to determine if they are valid.
  6719  func (s *DatastoreStorage) Validate() error {
  6720  	invalidParams := request.ErrInvalidParams{Context: "DatastoreStorage"}
  6721  	if s.CustomerManagedS3 != nil {
  6722  		if err := s.CustomerManagedS3.Validate(); err != nil {
  6723  			invalidParams.AddNested("CustomerManagedS3", err.(request.ErrInvalidParams))
  6724  		}
  6725  	}
  6726  	if s.IotSiteWiseMultiLayerStorage != nil {
  6727  		if err := s.IotSiteWiseMultiLayerStorage.Validate(); err != nil {
  6728  			invalidParams.AddNested("IotSiteWiseMultiLayerStorage", err.(request.ErrInvalidParams))
  6729  		}
  6730  	}
  6731  
  6732  	if invalidParams.Len() > 0 {
  6733  		return invalidParams
  6734  	}
  6735  	return nil
  6736  }
  6737  
  6738  // SetCustomerManagedS3 sets the CustomerManagedS3 field's value.
  6739  func (s *DatastoreStorage) SetCustomerManagedS3(v *CustomerManagedDatastoreS3Storage) *DatastoreStorage {
  6740  	s.CustomerManagedS3 = v
  6741  	return s
  6742  }
  6743  
  6744  // SetIotSiteWiseMultiLayerStorage sets the IotSiteWiseMultiLayerStorage field's value.
  6745  func (s *DatastoreStorage) SetIotSiteWiseMultiLayerStorage(v *DatastoreIotSiteWiseMultiLayerStorage) *DatastoreStorage {
  6746  	s.IotSiteWiseMultiLayerStorage = v
  6747  	return s
  6748  }
  6749  
  6750  // SetServiceManagedS3 sets the ServiceManagedS3 field's value.
  6751  func (s *DatastoreStorage) SetServiceManagedS3(v *ServiceManagedDatastoreS3Storage) *DatastoreStorage {
  6752  	s.ServiceManagedS3 = v
  6753  	return s
  6754  }
  6755  
  6756  // Contains information about your data store.
  6757  type DatastoreStorageSummary struct {
  6758  	_ struct{} `type:"structure"`
  6759  
  6760  	// Used to store data in an Amazon S3 bucket managed by IoT Analytics.
  6761  	CustomerManagedS3 *CustomerManagedDatastoreS3StorageSummary `locationName:"customerManagedS3" type:"structure"`
  6762  
  6763  	// Used to store data used by IoT SiteWise in an Amazon S3 bucket that you manage.
  6764  	IotSiteWiseMultiLayerStorage *DatastoreIotSiteWiseMultiLayerStorageSummary `locationName:"iotSiteWiseMultiLayerStorage" type:"structure"`
  6765  
  6766  	// Used to store data in an Amazon S3 bucket managed by IoT Analytics.
  6767  	ServiceManagedS3 *ServiceManagedDatastoreS3StorageSummary `locationName:"serviceManagedS3" type:"structure"`
  6768  }
  6769  
  6770  // String returns the string representation.
  6771  //
  6772  // API parameter values that are decorated as "sensitive" in the API will not
  6773  // be included in the string output. The member name will be present, but the
  6774  // value will be replaced with "sensitive".
  6775  func (s DatastoreStorageSummary) String() string {
  6776  	return awsutil.Prettify(s)
  6777  }
  6778  
  6779  // GoString returns the string representation.
  6780  //
  6781  // API parameter values that are decorated as "sensitive" in the API will not
  6782  // be included in the string output. The member name will be present, but the
  6783  // value will be replaced with "sensitive".
  6784  func (s DatastoreStorageSummary) GoString() string {
  6785  	return s.String()
  6786  }
  6787  
  6788  // SetCustomerManagedS3 sets the CustomerManagedS3 field's value.
  6789  func (s *DatastoreStorageSummary) SetCustomerManagedS3(v *CustomerManagedDatastoreS3StorageSummary) *DatastoreStorageSummary {
  6790  	s.CustomerManagedS3 = v
  6791  	return s
  6792  }
  6793  
  6794  // SetIotSiteWiseMultiLayerStorage sets the IotSiteWiseMultiLayerStorage field's value.
  6795  func (s *DatastoreStorageSummary) SetIotSiteWiseMultiLayerStorage(v *DatastoreIotSiteWiseMultiLayerStorageSummary) *DatastoreStorageSummary {
  6796  	s.IotSiteWiseMultiLayerStorage = v
  6797  	return s
  6798  }
  6799  
  6800  // SetServiceManagedS3 sets the ServiceManagedS3 field's value.
  6801  func (s *DatastoreStorageSummary) SetServiceManagedS3(v *ServiceManagedDatastoreS3StorageSummary) *DatastoreStorageSummary {
  6802  	s.ServiceManagedS3 = v
  6803  	return s
  6804  }
  6805  
  6806  // A summary of information about a data store.
  6807  type DatastoreSummary struct {
  6808  	_ struct{} `type:"structure"`
  6809  
  6810  	// When the data store was created.
  6811  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  6812  
  6813  	// The name of the data store.
  6814  	DatastoreName *string `locationName:"datastoreName" min:"1" type:"string"`
  6815  
  6816  	// Contains information about the partition dimensions in a data store.
  6817  	DatastorePartitions *DatastorePartitions `locationName:"datastorePartitions" type:"structure"`
  6818  
  6819  	// Where data in a data store is stored.
  6820  	DatastoreStorage *DatastoreStorageSummary `locationName:"datastoreStorage" type:"structure"`
  6821  
  6822  	// The file format of the data in the data store.
  6823  	FileFormatType *string `locationName:"fileFormatType" type:"string" enum:"FileFormatType"`
  6824  
  6825  	// The last time when a new message arrived in the data store.
  6826  	//
  6827  	// IoT Analytics updates this value at most once per minute for Amazon Simple
  6828  	// Storage Service one data store. Hence, the lastMessageArrivalTime value is
  6829  	// an approximation.
  6830  	//
  6831  	// This feature only applies to messages that arrived in the data store after
  6832  	// October 23, 2020.
  6833  	LastMessageArrivalTime *time.Time `locationName:"lastMessageArrivalTime" type:"timestamp"`
  6834  
  6835  	// The last time the data store was updated.
  6836  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  6837  
  6838  	// The status of the data store.
  6839  	Status *string `locationName:"status" type:"string" enum:"DatastoreStatus"`
  6840  }
  6841  
  6842  // String returns the string representation.
  6843  //
  6844  // API parameter values that are decorated as "sensitive" in the API will not
  6845  // be included in the string output. The member name will be present, but the
  6846  // value will be replaced with "sensitive".
  6847  func (s DatastoreSummary) String() string {
  6848  	return awsutil.Prettify(s)
  6849  }
  6850  
  6851  // GoString returns the string representation.
  6852  //
  6853  // API parameter values that are decorated as "sensitive" in the API will not
  6854  // be included in the string output. The member name will be present, but the
  6855  // value will be replaced with "sensitive".
  6856  func (s DatastoreSummary) GoString() string {
  6857  	return s.String()
  6858  }
  6859  
  6860  // SetCreationTime sets the CreationTime field's value.
  6861  func (s *DatastoreSummary) SetCreationTime(v time.Time) *DatastoreSummary {
  6862  	s.CreationTime = &v
  6863  	return s
  6864  }
  6865  
  6866  // SetDatastoreName sets the DatastoreName field's value.
  6867  func (s *DatastoreSummary) SetDatastoreName(v string) *DatastoreSummary {
  6868  	s.DatastoreName = &v
  6869  	return s
  6870  }
  6871  
  6872  // SetDatastorePartitions sets the DatastorePartitions field's value.
  6873  func (s *DatastoreSummary) SetDatastorePartitions(v *DatastorePartitions) *DatastoreSummary {
  6874  	s.DatastorePartitions = v
  6875  	return s
  6876  }
  6877  
  6878  // SetDatastoreStorage sets the DatastoreStorage field's value.
  6879  func (s *DatastoreSummary) SetDatastoreStorage(v *DatastoreStorageSummary) *DatastoreSummary {
  6880  	s.DatastoreStorage = v
  6881  	return s
  6882  }
  6883  
  6884  // SetFileFormatType sets the FileFormatType field's value.
  6885  func (s *DatastoreSummary) SetFileFormatType(v string) *DatastoreSummary {
  6886  	s.FileFormatType = &v
  6887  	return s
  6888  }
  6889  
  6890  // SetLastMessageArrivalTime sets the LastMessageArrivalTime field's value.
  6891  func (s *DatastoreSummary) SetLastMessageArrivalTime(v time.Time) *DatastoreSummary {
  6892  	s.LastMessageArrivalTime = &v
  6893  	return s
  6894  }
  6895  
  6896  // SetLastUpdateTime sets the LastUpdateTime field's value.
  6897  func (s *DatastoreSummary) SetLastUpdateTime(v time.Time) *DatastoreSummary {
  6898  	s.LastUpdateTime = &v
  6899  	return s
  6900  }
  6901  
  6902  // SetStatus sets the Status field's value.
  6903  func (s *DatastoreSummary) SetStatus(v string) *DatastoreSummary {
  6904  	s.Status = &v
  6905  	return s
  6906  }
  6907  
  6908  type DeleteChannelInput struct {
  6909  	_ struct{} `type:"structure" nopayload:"true"`
  6910  
  6911  	// The name of the channel to delete.
  6912  	//
  6913  	// ChannelName is a required field
  6914  	ChannelName *string `location:"uri" locationName:"channelName" min:"1" type:"string" required:"true"`
  6915  }
  6916  
  6917  // String returns the string representation.
  6918  //
  6919  // API parameter values that are decorated as "sensitive" in the API will not
  6920  // be included in the string output. The member name will be present, but the
  6921  // value will be replaced with "sensitive".
  6922  func (s DeleteChannelInput) String() string {
  6923  	return awsutil.Prettify(s)
  6924  }
  6925  
  6926  // GoString returns the string representation.
  6927  //
  6928  // API parameter values that are decorated as "sensitive" in the API will not
  6929  // be included in the string output. The member name will be present, but the
  6930  // value will be replaced with "sensitive".
  6931  func (s DeleteChannelInput) GoString() string {
  6932  	return s.String()
  6933  }
  6934  
  6935  // Validate inspects the fields of the type to determine if they are valid.
  6936  func (s *DeleteChannelInput) Validate() error {
  6937  	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"}
  6938  	if s.ChannelName == nil {
  6939  		invalidParams.Add(request.NewErrParamRequired("ChannelName"))
  6940  	}
  6941  	if s.ChannelName != nil && len(*s.ChannelName) < 1 {
  6942  		invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1))
  6943  	}
  6944  
  6945  	if invalidParams.Len() > 0 {
  6946  		return invalidParams
  6947  	}
  6948  	return nil
  6949  }
  6950  
  6951  // SetChannelName sets the ChannelName field's value.
  6952  func (s *DeleteChannelInput) SetChannelName(v string) *DeleteChannelInput {
  6953  	s.ChannelName = &v
  6954  	return s
  6955  }
  6956  
  6957  type DeleteChannelOutput struct {
  6958  	_ struct{} `type:"structure" nopayload:"true"`
  6959  }
  6960  
  6961  // String returns the string representation.
  6962  //
  6963  // API parameter values that are decorated as "sensitive" in the API will not
  6964  // be included in the string output. The member name will be present, but the
  6965  // value will be replaced with "sensitive".
  6966  func (s DeleteChannelOutput) String() string {
  6967  	return awsutil.Prettify(s)
  6968  }
  6969  
  6970  // GoString returns the string representation.
  6971  //
  6972  // API parameter values that are decorated as "sensitive" in the API will not
  6973  // be included in the string output. The member name will be present, but the
  6974  // value will be replaced with "sensitive".
  6975  func (s DeleteChannelOutput) GoString() string {
  6976  	return s.String()
  6977  }
  6978  
  6979  type DeleteDatasetContentInput struct {
  6980  	_ struct{} `type:"structure" nopayload:"true"`
  6981  
  6982  	// The name of the dataset whose content is deleted.
  6983  	//
  6984  	// DatasetName is a required field
  6985  	DatasetName *string `location:"uri" locationName:"datasetName" min:"1" type:"string" required:"true"`
  6986  
  6987  	// The version of the dataset whose content is deleted. You can also use the
  6988  	// strings "$LATEST" or "$LATEST_SUCCEEDED" to delete the latest or latest successfully
  6989  	// completed data set. If not specified, "$LATEST_SUCCEEDED" is the default.
  6990  	VersionId *string `location:"querystring" locationName:"versionId" min:"7" type:"string"`
  6991  }
  6992  
  6993  // String returns the string representation.
  6994  //
  6995  // API parameter values that are decorated as "sensitive" in the API will not
  6996  // be included in the string output. The member name will be present, but the
  6997  // value will be replaced with "sensitive".
  6998  func (s DeleteDatasetContentInput) String() string {
  6999  	return awsutil.Prettify(s)
  7000  }
  7001  
  7002  // GoString returns the string representation.
  7003  //
  7004  // API parameter values that are decorated as "sensitive" in the API will not
  7005  // be included in the string output. The member name will be present, but the
  7006  // value will be replaced with "sensitive".
  7007  func (s DeleteDatasetContentInput) GoString() string {
  7008  	return s.String()
  7009  }
  7010  
  7011  // Validate inspects the fields of the type to determine if they are valid.
  7012  func (s *DeleteDatasetContentInput) Validate() error {
  7013  	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetContentInput"}
  7014  	if s.DatasetName == nil {
  7015  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
  7016  	}
  7017  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  7018  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  7019  	}
  7020  	if s.VersionId != nil && len(*s.VersionId) < 7 {
  7021  		invalidParams.Add(request.NewErrParamMinLen("VersionId", 7))
  7022  	}
  7023  
  7024  	if invalidParams.Len() > 0 {
  7025  		return invalidParams
  7026  	}
  7027  	return nil
  7028  }
  7029  
  7030  // SetDatasetName sets the DatasetName field's value.
  7031  func (s *DeleteDatasetContentInput) SetDatasetName(v string) *DeleteDatasetContentInput {
  7032  	s.DatasetName = &v
  7033  	return s
  7034  }
  7035  
  7036  // SetVersionId sets the VersionId field's value.
  7037  func (s *DeleteDatasetContentInput) SetVersionId(v string) *DeleteDatasetContentInput {
  7038  	s.VersionId = &v
  7039  	return s
  7040  }
  7041  
  7042  type DeleteDatasetContentOutput struct {
  7043  	_ struct{} `type:"structure" nopayload:"true"`
  7044  }
  7045  
  7046  // String returns the string representation.
  7047  //
  7048  // API parameter values that are decorated as "sensitive" in the API will not
  7049  // be included in the string output. The member name will be present, but the
  7050  // value will be replaced with "sensitive".
  7051  func (s DeleteDatasetContentOutput) String() string {
  7052  	return awsutil.Prettify(s)
  7053  }
  7054  
  7055  // GoString returns the string representation.
  7056  //
  7057  // API parameter values that are decorated as "sensitive" in the API will not
  7058  // be included in the string output. The member name will be present, but the
  7059  // value will be replaced with "sensitive".
  7060  func (s DeleteDatasetContentOutput) GoString() string {
  7061  	return s.String()
  7062  }
  7063  
  7064  type DeleteDatasetInput struct {
  7065  	_ struct{} `type:"structure" nopayload:"true"`
  7066  
  7067  	// The name of the dataset to delete.
  7068  	//
  7069  	// DatasetName is a required field
  7070  	DatasetName *string `location:"uri" locationName:"datasetName" min:"1" type:"string" required:"true"`
  7071  }
  7072  
  7073  // String returns the string representation.
  7074  //
  7075  // API parameter values that are decorated as "sensitive" in the API will not
  7076  // be included in the string output. The member name will be present, but the
  7077  // value will be replaced with "sensitive".
  7078  func (s DeleteDatasetInput) String() string {
  7079  	return awsutil.Prettify(s)
  7080  }
  7081  
  7082  // GoString returns the string representation.
  7083  //
  7084  // API parameter values that are decorated as "sensitive" in the API will not
  7085  // be included in the string output. The member name will be present, but the
  7086  // value will be replaced with "sensitive".
  7087  func (s DeleteDatasetInput) GoString() string {
  7088  	return s.String()
  7089  }
  7090  
  7091  // Validate inspects the fields of the type to determine if they are valid.
  7092  func (s *DeleteDatasetInput) Validate() error {
  7093  	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetInput"}
  7094  	if s.DatasetName == nil {
  7095  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
  7096  	}
  7097  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  7098  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  7099  	}
  7100  
  7101  	if invalidParams.Len() > 0 {
  7102  		return invalidParams
  7103  	}
  7104  	return nil
  7105  }
  7106  
  7107  // SetDatasetName sets the DatasetName field's value.
  7108  func (s *DeleteDatasetInput) SetDatasetName(v string) *DeleteDatasetInput {
  7109  	s.DatasetName = &v
  7110  	return s
  7111  }
  7112  
  7113  type DeleteDatasetOutput struct {
  7114  	_ struct{} `type:"structure" nopayload:"true"`
  7115  }
  7116  
  7117  // String returns the string representation.
  7118  //
  7119  // API parameter values that are decorated as "sensitive" in the API will not
  7120  // be included in the string output. The member name will be present, but the
  7121  // value will be replaced with "sensitive".
  7122  func (s DeleteDatasetOutput) String() string {
  7123  	return awsutil.Prettify(s)
  7124  }
  7125  
  7126  // GoString returns the string representation.
  7127  //
  7128  // API parameter values that are decorated as "sensitive" in the API will not
  7129  // be included in the string output. The member name will be present, but the
  7130  // value will be replaced with "sensitive".
  7131  func (s DeleteDatasetOutput) GoString() string {
  7132  	return s.String()
  7133  }
  7134  
  7135  type DeleteDatastoreInput struct {
  7136  	_ struct{} `type:"structure" nopayload:"true"`
  7137  
  7138  	// The name of the data store to delete.
  7139  	//
  7140  	// DatastoreName is a required field
  7141  	DatastoreName *string `location:"uri" locationName:"datastoreName" min:"1" type:"string" required:"true"`
  7142  }
  7143  
  7144  // String returns the string representation.
  7145  //
  7146  // API parameter values that are decorated as "sensitive" in the API will not
  7147  // be included in the string output. The member name will be present, but the
  7148  // value will be replaced with "sensitive".
  7149  func (s DeleteDatastoreInput) String() string {
  7150  	return awsutil.Prettify(s)
  7151  }
  7152  
  7153  // GoString returns the string representation.
  7154  //
  7155  // API parameter values that are decorated as "sensitive" in the API will not
  7156  // be included in the string output. The member name will be present, but the
  7157  // value will be replaced with "sensitive".
  7158  func (s DeleteDatastoreInput) GoString() string {
  7159  	return s.String()
  7160  }
  7161  
  7162  // Validate inspects the fields of the type to determine if they are valid.
  7163  func (s *DeleteDatastoreInput) Validate() error {
  7164  	invalidParams := request.ErrInvalidParams{Context: "DeleteDatastoreInput"}
  7165  	if s.DatastoreName == nil {
  7166  		invalidParams.Add(request.NewErrParamRequired("DatastoreName"))
  7167  	}
  7168  	if s.DatastoreName != nil && len(*s.DatastoreName) < 1 {
  7169  		invalidParams.Add(request.NewErrParamMinLen("DatastoreName", 1))
  7170  	}
  7171  
  7172  	if invalidParams.Len() > 0 {
  7173  		return invalidParams
  7174  	}
  7175  	return nil
  7176  }
  7177  
  7178  // SetDatastoreName sets the DatastoreName field's value.
  7179  func (s *DeleteDatastoreInput) SetDatastoreName(v string) *DeleteDatastoreInput {
  7180  	s.DatastoreName = &v
  7181  	return s
  7182  }
  7183  
  7184  type DeleteDatastoreOutput struct {
  7185  	_ struct{} `type:"structure" nopayload:"true"`
  7186  }
  7187  
  7188  // String returns the string representation.
  7189  //
  7190  // API parameter values that are decorated as "sensitive" in the API will not
  7191  // be included in the string output. The member name will be present, but the
  7192  // value will be replaced with "sensitive".
  7193  func (s DeleteDatastoreOutput) String() string {
  7194  	return awsutil.Prettify(s)
  7195  }
  7196  
  7197  // GoString returns the string representation.
  7198  //
  7199  // API parameter values that are decorated as "sensitive" in the API will not
  7200  // be included in the string output. The member name will be present, but the
  7201  // value will be replaced with "sensitive".
  7202  func (s DeleteDatastoreOutput) GoString() string {
  7203  	return s.String()
  7204  }
  7205  
  7206  type DeletePipelineInput struct {
  7207  	_ struct{} `type:"structure" nopayload:"true"`
  7208  
  7209  	// The name of the pipeline to delete.
  7210  	//
  7211  	// PipelineName is a required field
  7212  	PipelineName *string `location:"uri" locationName:"pipelineName" min:"1" type:"string" required:"true"`
  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 DeletePipelineInput) 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 DeletePipelineInput) GoString() string {
  7230  	return s.String()
  7231  }
  7232  
  7233  // Validate inspects the fields of the type to determine if they are valid.
  7234  func (s *DeletePipelineInput) Validate() error {
  7235  	invalidParams := request.ErrInvalidParams{Context: "DeletePipelineInput"}
  7236  	if s.PipelineName == nil {
  7237  		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
  7238  	}
  7239  	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
  7240  		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
  7241  	}
  7242  
  7243  	if invalidParams.Len() > 0 {
  7244  		return invalidParams
  7245  	}
  7246  	return nil
  7247  }
  7248  
  7249  // SetPipelineName sets the PipelineName field's value.
  7250  func (s *DeletePipelineInput) SetPipelineName(v string) *DeletePipelineInput {
  7251  	s.PipelineName = &v
  7252  	return s
  7253  }
  7254  
  7255  type DeletePipelineOutput struct {
  7256  	_ struct{} `type:"structure" nopayload:"true"`
  7257  }
  7258  
  7259  // String returns the string representation.
  7260  //
  7261  // API parameter values that are decorated as "sensitive" in the API will not
  7262  // be included in the string output. The member name will be present, but the
  7263  // value will be replaced with "sensitive".
  7264  func (s DeletePipelineOutput) String() string {
  7265  	return awsutil.Prettify(s)
  7266  }
  7267  
  7268  // GoString returns the string representation.
  7269  //
  7270  // API parameter values that are decorated as "sensitive" in the API will not
  7271  // be included in the string output. The member name will be present, but the
  7272  // value will be replaced with "sensitive".
  7273  func (s DeletePipelineOutput) GoString() string {
  7274  	return s.String()
  7275  }
  7276  
  7277  // Used to limit data to that which has arrived since the last execution of
  7278  // the action.
  7279  type DeltaTime struct {
  7280  	_ struct{} `type:"structure"`
  7281  
  7282  	// The number of seconds of estimated in-flight lag time of message data. When
  7283  	// you create dataset contents using message data from a specified timeframe,
  7284  	// some message data might still be in flight when processing begins, and so
  7285  	// do not arrive in time to be processed. Use this field to make allowances
  7286  	// for the in flight time of your message data, so that data not processed from
  7287  	// a previous timeframe is included with the next timeframe. Otherwise, missed
  7288  	// message data would be excluded from processing during the next timeframe
  7289  	// too, because its timestamp places it within the previous timeframe.
  7290  	//
  7291  	// OffsetSeconds is a required field
  7292  	OffsetSeconds *int64 `locationName:"offsetSeconds" type:"integer" required:"true"`
  7293  
  7294  	// An expression by which the time of the message data might be determined.
  7295  	// This can be the name of a timestamp field or a SQL expression that is used
  7296  	// to derive the time the message data was generated.
  7297  	//
  7298  	// TimeExpression is a required field
  7299  	TimeExpression *string `locationName:"timeExpression" type:"string" required:"true"`
  7300  }
  7301  
  7302  // String returns the string representation.
  7303  //
  7304  // API parameter values that are decorated as "sensitive" in the API will not
  7305  // be included in the string output. The member name will be present, but the
  7306  // value will be replaced with "sensitive".
  7307  func (s DeltaTime) String() string {
  7308  	return awsutil.Prettify(s)
  7309  }
  7310  
  7311  // GoString returns the string representation.
  7312  //
  7313  // API parameter values that are decorated as "sensitive" in the API will not
  7314  // be included in the string output. The member name will be present, but the
  7315  // value will be replaced with "sensitive".
  7316  func (s DeltaTime) GoString() string {
  7317  	return s.String()
  7318  }
  7319  
  7320  // Validate inspects the fields of the type to determine if they are valid.
  7321  func (s *DeltaTime) Validate() error {
  7322  	invalidParams := request.ErrInvalidParams{Context: "DeltaTime"}
  7323  	if s.OffsetSeconds == nil {
  7324  		invalidParams.Add(request.NewErrParamRequired("OffsetSeconds"))
  7325  	}
  7326  	if s.TimeExpression == nil {
  7327  		invalidParams.Add(request.NewErrParamRequired("TimeExpression"))
  7328  	}
  7329  
  7330  	if invalidParams.Len() > 0 {
  7331  		return invalidParams
  7332  	}
  7333  	return nil
  7334  }
  7335  
  7336  // SetOffsetSeconds sets the OffsetSeconds field's value.
  7337  func (s *DeltaTime) SetOffsetSeconds(v int64) *DeltaTime {
  7338  	s.OffsetSeconds = &v
  7339  	return s
  7340  }
  7341  
  7342  // SetTimeExpression sets the TimeExpression field's value.
  7343  func (s *DeltaTime) SetTimeExpression(v string) *DeltaTime {
  7344  	s.TimeExpression = &v
  7345  	return s
  7346  }
  7347  
  7348  // A structure that contains the configuration information of a delta time session
  7349  // window.
  7350  //
  7351  //  DeltaTime (https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html)
  7352  //  specifies a time interval. You can use DeltaTime to create dataset contents
  7353  //  with data that has arrived in the data store since the last execution. For
  7354  //  an example of DeltaTime, see Creating a SQL dataset with a delta window
  7355  //  (CLI) (https://docs.aws.amazon.com/iotanalytics/latest/userguide/automate-create-dataset.html#automate-example6)
  7356  //  in the IoT Analytics User Guide.
  7357  type DeltaTimeSessionWindowConfiguration struct {
  7358  	_ struct{} `type:"structure"`
  7359  
  7360  	// A time interval. You can use timeoutInMinutes so that IoT Analytics can batch
  7361  	// up late data notifications that have been generated since the last execution.
  7362  	// IoT Analytics sends one batch of notifications to Amazon CloudWatch Events
  7363  	// at one time.
  7364  	//
  7365  	// For more information about how to write a timestamp expression, see Date
  7366  	// and Time Functions and Operators (https://prestodb.io/docs/0.172/functions/datetime.html),
  7367  	// in the Presto 0.172 Documentation.
  7368  	//
  7369  	// TimeoutInMinutes is a required field
  7370  	TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"1" type:"integer" required:"true"`
  7371  }
  7372  
  7373  // String returns the string representation.
  7374  //
  7375  // API parameter values that are decorated as "sensitive" in the API will not
  7376  // be included in the string output. The member name will be present, but the
  7377  // value will be replaced with "sensitive".
  7378  func (s DeltaTimeSessionWindowConfiguration) String() string {
  7379  	return awsutil.Prettify(s)
  7380  }
  7381  
  7382  // GoString returns the string representation.
  7383  //
  7384  // API parameter values that are decorated as "sensitive" in the API will not
  7385  // be included in the string output. The member name will be present, but the
  7386  // value will be replaced with "sensitive".
  7387  func (s DeltaTimeSessionWindowConfiguration) GoString() string {
  7388  	return s.String()
  7389  }
  7390  
  7391  // Validate inspects the fields of the type to determine if they are valid.
  7392  func (s *DeltaTimeSessionWindowConfiguration) Validate() error {
  7393  	invalidParams := request.ErrInvalidParams{Context: "DeltaTimeSessionWindowConfiguration"}
  7394  	if s.TimeoutInMinutes == nil {
  7395  		invalidParams.Add(request.NewErrParamRequired("TimeoutInMinutes"))
  7396  	}
  7397  	if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 1 {
  7398  		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 1))
  7399  	}
  7400  
  7401  	if invalidParams.Len() > 0 {
  7402  		return invalidParams
  7403  	}
  7404  	return nil
  7405  }
  7406  
  7407  // SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
  7408  func (s *DeltaTimeSessionWindowConfiguration) SetTimeoutInMinutes(v int64) *DeltaTimeSessionWindowConfiguration {
  7409  	s.TimeoutInMinutes = &v
  7410  	return s
  7411  }
  7412  
  7413  type DescribeChannelInput struct {
  7414  	_ struct{} `type:"structure" nopayload:"true"`
  7415  
  7416  	// The name of the channel whose information is retrieved.
  7417  	//
  7418  	// ChannelName is a required field
  7419  	ChannelName *string `location:"uri" locationName:"channelName" min:"1" type:"string" required:"true"`
  7420  
  7421  	// If true, additional statistical information about the channel is included
  7422  	// in the response. This feature can't be used with a channel whose S3 storage
  7423  	// is customer-managed.
  7424  	IncludeStatistics *bool `location:"querystring" locationName:"includeStatistics" type:"boolean"`
  7425  }
  7426  
  7427  // String returns the string representation.
  7428  //
  7429  // API parameter values that are decorated as "sensitive" in the API will not
  7430  // be included in the string output. The member name will be present, but the
  7431  // value will be replaced with "sensitive".
  7432  func (s DescribeChannelInput) String() string {
  7433  	return awsutil.Prettify(s)
  7434  }
  7435  
  7436  // GoString returns the string representation.
  7437  //
  7438  // API parameter values that are decorated as "sensitive" in the API will not
  7439  // be included in the string output. The member name will be present, but the
  7440  // value will be replaced with "sensitive".
  7441  func (s DescribeChannelInput) GoString() string {
  7442  	return s.String()
  7443  }
  7444  
  7445  // Validate inspects the fields of the type to determine if they are valid.
  7446  func (s *DescribeChannelInput) Validate() error {
  7447  	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"}
  7448  	if s.ChannelName == nil {
  7449  		invalidParams.Add(request.NewErrParamRequired("ChannelName"))
  7450  	}
  7451  	if s.ChannelName != nil && len(*s.ChannelName) < 1 {
  7452  		invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1))
  7453  	}
  7454  
  7455  	if invalidParams.Len() > 0 {
  7456  		return invalidParams
  7457  	}
  7458  	return nil
  7459  }
  7460  
  7461  // SetChannelName sets the ChannelName field's value.
  7462  func (s *DescribeChannelInput) SetChannelName(v string) *DescribeChannelInput {
  7463  	s.ChannelName = &v
  7464  	return s
  7465  }
  7466  
  7467  // SetIncludeStatistics sets the IncludeStatistics field's value.
  7468  func (s *DescribeChannelInput) SetIncludeStatistics(v bool) *DescribeChannelInput {
  7469  	s.IncludeStatistics = &v
  7470  	return s
  7471  }
  7472  
  7473  type DescribeChannelOutput struct {
  7474  	_ struct{} `type:"structure"`
  7475  
  7476  	// An object that contains information about the channel.
  7477  	Channel *Channel `locationName:"channel" type:"structure"`
  7478  
  7479  	// Statistics about the channel. Included if the includeStatistics parameter
  7480  	// is set to true in the request.
  7481  	Statistics *ChannelStatistics `locationName:"statistics" type:"structure"`
  7482  }
  7483  
  7484  // String returns the string representation.
  7485  //
  7486  // API parameter values that are decorated as "sensitive" in the API will not
  7487  // be included in the string output. The member name will be present, but the
  7488  // value will be replaced with "sensitive".
  7489  func (s DescribeChannelOutput) String() string {
  7490  	return awsutil.Prettify(s)
  7491  }
  7492  
  7493  // GoString returns the string representation.
  7494  //
  7495  // API parameter values that are decorated as "sensitive" in the API will not
  7496  // be included in the string output. The member name will be present, but the
  7497  // value will be replaced with "sensitive".
  7498  func (s DescribeChannelOutput) GoString() string {
  7499  	return s.String()
  7500  }
  7501  
  7502  // SetChannel sets the Channel field's value.
  7503  func (s *DescribeChannelOutput) SetChannel(v *Channel) *DescribeChannelOutput {
  7504  	s.Channel = v
  7505  	return s
  7506  }
  7507  
  7508  // SetStatistics sets the Statistics field's value.
  7509  func (s *DescribeChannelOutput) SetStatistics(v *ChannelStatistics) *DescribeChannelOutput {
  7510  	s.Statistics = v
  7511  	return s
  7512  }
  7513  
  7514  type DescribeDatasetInput struct {
  7515  	_ struct{} `type:"structure" nopayload:"true"`
  7516  
  7517  	// The name of the dataset whose information is retrieved.
  7518  	//
  7519  	// DatasetName is a required field
  7520  	DatasetName *string `location:"uri" locationName:"datasetName" min:"1" type:"string" required:"true"`
  7521  }
  7522  
  7523  // String returns the string representation.
  7524  //
  7525  // API parameter values that are decorated as "sensitive" in the API will not
  7526  // be included in the string output. The member name will be present, but the
  7527  // value will be replaced with "sensitive".
  7528  func (s DescribeDatasetInput) String() string {
  7529  	return awsutil.Prettify(s)
  7530  }
  7531  
  7532  // GoString returns the string representation.
  7533  //
  7534  // API parameter values that are decorated as "sensitive" in the API will not
  7535  // be included in the string output. The member name will be present, but the
  7536  // value will be replaced with "sensitive".
  7537  func (s DescribeDatasetInput) GoString() string {
  7538  	return s.String()
  7539  }
  7540  
  7541  // Validate inspects the fields of the type to determine if they are valid.
  7542  func (s *DescribeDatasetInput) Validate() error {
  7543  	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetInput"}
  7544  	if s.DatasetName == nil {
  7545  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
  7546  	}
  7547  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  7548  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  7549  	}
  7550  
  7551  	if invalidParams.Len() > 0 {
  7552  		return invalidParams
  7553  	}
  7554  	return nil
  7555  }
  7556  
  7557  // SetDatasetName sets the DatasetName field's value.
  7558  func (s *DescribeDatasetInput) SetDatasetName(v string) *DescribeDatasetInput {
  7559  	s.DatasetName = &v
  7560  	return s
  7561  }
  7562  
  7563  type DescribeDatasetOutput struct {
  7564  	_ struct{} `type:"structure"`
  7565  
  7566  	// An object that contains information about the dataset.
  7567  	Dataset *Dataset `locationName:"dataset" type:"structure"`
  7568  }
  7569  
  7570  // String returns the string representation.
  7571  //
  7572  // API parameter values that are decorated as "sensitive" in the API will not
  7573  // be included in the string output. The member name will be present, but the
  7574  // value will be replaced with "sensitive".
  7575  func (s DescribeDatasetOutput) String() string {
  7576  	return awsutil.Prettify(s)
  7577  }
  7578  
  7579  // GoString returns the string representation.
  7580  //
  7581  // API parameter values that are decorated as "sensitive" in the API will not
  7582  // be included in the string output. The member name will be present, but the
  7583  // value will be replaced with "sensitive".
  7584  func (s DescribeDatasetOutput) GoString() string {
  7585  	return s.String()
  7586  }
  7587  
  7588  // SetDataset sets the Dataset field's value.
  7589  func (s *DescribeDatasetOutput) SetDataset(v *Dataset) *DescribeDatasetOutput {
  7590  	s.Dataset = v
  7591  	return s
  7592  }
  7593  
  7594  type DescribeDatastoreInput struct {
  7595  	_ struct{} `type:"structure" nopayload:"true"`
  7596  
  7597  	// The name of the data store
  7598  	//
  7599  	// DatastoreName is a required field
  7600  	DatastoreName *string `location:"uri" locationName:"datastoreName" min:"1" type:"string" required:"true"`
  7601  
  7602  	// If true, additional statistical information about the data store is included
  7603  	// in the response. This feature can't be used with a data store whose S3 storage
  7604  	// is customer-managed.
  7605  	IncludeStatistics *bool `location:"querystring" locationName:"includeStatistics" type:"boolean"`
  7606  }
  7607  
  7608  // String returns the string representation.
  7609  //
  7610  // API parameter values that are decorated as "sensitive" in the API will not
  7611  // be included in the string output. The member name will be present, but the
  7612  // value will be replaced with "sensitive".
  7613  func (s DescribeDatastoreInput) String() string {
  7614  	return awsutil.Prettify(s)
  7615  }
  7616  
  7617  // GoString returns the string representation.
  7618  //
  7619  // API parameter values that are decorated as "sensitive" in the API will not
  7620  // be included in the string output. The member name will be present, but the
  7621  // value will be replaced with "sensitive".
  7622  func (s DescribeDatastoreInput) GoString() string {
  7623  	return s.String()
  7624  }
  7625  
  7626  // Validate inspects the fields of the type to determine if they are valid.
  7627  func (s *DescribeDatastoreInput) Validate() error {
  7628  	invalidParams := request.ErrInvalidParams{Context: "DescribeDatastoreInput"}
  7629  	if s.DatastoreName == nil {
  7630  		invalidParams.Add(request.NewErrParamRequired("DatastoreName"))
  7631  	}
  7632  	if s.DatastoreName != nil && len(*s.DatastoreName) < 1 {
  7633  		invalidParams.Add(request.NewErrParamMinLen("DatastoreName", 1))
  7634  	}
  7635  
  7636  	if invalidParams.Len() > 0 {
  7637  		return invalidParams
  7638  	}
  7639  	return nil
  7640  }
  7641  
  7642  // SetDatastoreName sets the DatastoreName field's value.
  7643  func (s *DescribeDatastoreInput) SetDatastoreName(v string) *DescribeDatastoreInput {
  7644  	s.DatastoreName = &v
  7645  	return s
  7646  }
  7647  
  7648  // SetIncludeStatistics sets the IncludeStatistics field's value.
  7649  func (s *DescribeDatastoreInput) SetIncludeStatistics(v bool) *DescribeDatastoreInput {
  7650  	s.IncludeStatistics = &v
  7651  	return s
  7652  }
  7653  
  7654  type DescribeDatastoreOutput struct {
  7655  	_ struct{} `type:"structure"`
  7656  
  7657  	// Information about the data store.
  7658  	Datastore *Datastore `locationName:"datastore" type:"structure"`
  7659  
  7660  	// Additional statistical information about the data store. Included if the
  7661  	// includeStatistics parameter is set to true in the request.
  7662  	Statistics *DatastoreStatistics `locationName:"statistics" type:"structure"`
  7663  }
  7664  
  7665  // String 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 DescribeDatastoreOutput) String() string {
  7671  	return awsutil.Prettify(s)
  7672  }
  7673  
  7674  // GoString returns the string representation.
  7675  //
  7676  // API parameter values that are decorated as "sensitive" in the API will not
  7677  // be included in the string output. The member name will be present, but the
  7678  // value will be replaced with "sensitive".
  7679  func (s DescribeDatastoreOutput) GoString() string {
  7680  	return s.String()
  7681  }
  7682  
  7683  // SetDatastore sets the Datastore field's value.
  7684  func (s *DescribeDatastoreOutput) SetDatastore(v *Datastore) *DescribeDatastoreOutput {
  7685  	s.Datastore = v
  7686  	return s
  7687  }
  7688  
  7689  // SetStatistics sets the Statistics field's value.
  7690  func (s *DescribeDatastoreOutput) SetStatistics(v *DatastoreStatistics) *DescribeDatastoreOutput {
  7691  	s.Statistics = v
  7692  	return s
  7693  }
  7694  
  7695  type DescribeLoggingOptionsInput struct {
  7696  	_ struct{} `type:"structure" nopayload:"true"`
  7697  }
  7698  
  7699  // String returns the string representation.
  7700  //
  7701  // API parameter values that are decorated as "sensitive" in the API will not
  7702  // be included in the string output. The member name will be present, but the
  7703  // value will be replaced with "sensitive".
  7704  func (s DescribeLoggingOptionsInput) String() string {
  7705  	return awsutil.Prettify(s)
  7706  }
  7707  
  7708  // GoString returns the string representation.
  7709  //
  7710  // API parameter values that are decorated as "sensitive" in the API will not
  7711  // be included in the string output. The member name will be present, but the
  7712  // value will be replaced with "sensitive".
  7713  func (s DescribeLoggingOptionsInput) GoString() string {
  7714  	return s.String()
  7715  }
  7716  
  7717  type DescribeLoggingOptionsOutput struct {
  7718  	_ struct{} `type:"structure"`
  7719  
  7720  	// The current settings of the IoT Analytics logging options.
  7721  	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure"`
  7722  }
  7723  
  7724  // String returns the string representation.
  7725  //
  7726  // API parameter values that are decorated as "sensitive" in the API will not
  7727  // be included in the string output. The member name will be present, but the
  7728  // value will be replaced with "sensitive".
  7729  func (s DescribeLoggingOptionsOutput) String() string {
  7730  	return awsutil.Prettify(s)
  7731  }
  7732  
  7733  // GoString returns the string representation.
  7734  //
  7735  // API parameter values that are decorated as "sensitive" in the API will not
  7736  // be included in the string output. The member name will be present, but the
  7737  // value will be replaced with "sensitive".
  7738  func (s DescribeLoggingOptionsOutput) GoString() string {
  7739  	return s.String()
  7740  }
  7741  
  7742  // SetLoggingOptions sets the LoggingOptions field's value.
  7743  func (s *DescribeLoggingOptionsOutput) SetLoggingOptions(v *LoggingOptions) *DescribeLoggingOptionsOutput {
  7744  	s.LoggingOptions = v
  7745  	return s
  7746  }
  7747  
  7748  type DescribePipelineInput struct {
  7749  	_ struct{} `type:"structure" nopayload:"true"`
  7750  
  7751  	// The name of the pipeline whose information is retrieved.
  7752  	//
  7753  	// PipelineName is a required field
  7754  	PipelineName *string `location:"uri" locationName:"pipelineName" min:"1" type:"string" required:"true"`
  7755  }
  7756  
  7757  // String returns the string representation.
  7758  //
  7759  // API parameter values that are decorated as "sensitive" in the API will not
  7760  // be included in the string output. The member name will be present, but the
  7761  // value will be replaced with "sensitive".
  7762  func (s DescribePipelineInput) String() string {
  7763  	return awsutil.Prettify(s)
  7764  }
  7765  
  7766  // GoString returns the string representation.
  7767  //
  7768  // API parameter values that are decorated as "sensitive" in the API will not
  7769  // be included in the string output. The member name will be present, but the
  7770  // value will be replaced with "sensitive".
  7771  func (s DescribePipelineInput) GoString() string {
  7772  	return s.String()
  7773  }
  7774  
  7775  // Validate inspects the fields of the type to determine if they are valid.
  7776  func (s *DescribePipelineInput) Validate() error {
  7777  	invalidParams := request.ErrInvalidParams{Context: "DescribePipelineInput"}
  7778  	if s.PipelineName == nil {
  7779  		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
  7780  	}
  7781  	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
  7782  		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
  7783  	}
  7784  
  7785  	if invalidParams.Len() > 0 {
  7786  		return invalidParams
  7787  	}
  7788  	return nil
  7789  }
  7790  
  7791  // SetPipelineName sets the PipelineName field's value.
  7792  func (s *DescribePipelineInput) SetPipelineName(v string) *DescribePipelineInput {
  7793  	s.PipelineName = &v
  7794  	return s
  7795  }
  7796  
  7797  type DescribePipelineOutput struct {
  7798  	_ struct{} `type:"structure"`
  7799  
  7800  	// A Pipeline object that contains information about the pipeline.
  7801  	Pipeline *Pipeline `locationName:"pipeline" type:"structure"`
  7802  }
  7803  
  7804  // String returns the string representation.
  7805  //
  7806  // API parameter values that are decorated as "sensitive" in the API will not
  7807  // be included in the string output. The member name will be present, but the
  7808  // value will be replaced with "sensitive".
  7809  func (s DescribePipelineOutput) String() string {
  7810  	return awsutil.Prettify(s)
  7811  }
  7812  
  7813  // GoString returns the string representation.
  7814  //
  7815  // API parameter values that are decorated as "sensitive" in the API will not
  7816  // be included in the string output. The member name will be present, but the
  7817  // value will be replaced with "sensitive".
  7818  func (s DescribePipelineOutput) GoString() string {
  7819  	return s.String()
  7820  }
  7821  
  7822  // SetPipeline sets the Pipeline field's value.
  7823  func (s *DescribePipelineOutput) SetPipeline(v *Pipeline) *DescribePipelineOutput {
  7824  	s.Pipeline = v
  7825  	return s
  7826  }
  7827  
  7828  // An activity that adds data from the IoT device registry to your message.
  7829  type DeviceRegistryEnrichActivity struct {
  7830  	_ struct{} `type:"structure"`
  7831  
  7832  	// The name of the attribute that is added to the message.
  7833  	//
  7834  	// Attribute is a required field
  7835  	Attribute *string `locationName:"attribute" min:"1" type:"string" required:"true"`
  7836  
  7837  	// The name of the deviceRegistryEnrich activity.
  7838  	//
  7839  	// Name is a required field
  7840  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7841  
  7842  	// The next activity in the pipeline.
  7843  	Next *string `locationName:"next" min:"1" type:"string"`
  7844  
  7845  	// The ARN of the role that allows access to the device's registry information.
  7846  	//
  7847  	// RoleArn is a required field
  7848  	RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"`
  7849  
  7850  	// The name of the IoT device whose registry information is added to the message.
  7851  	//
  7852  	// ThingName is a required field
  7853  	ThingName *string `locationName:"thingName" min:"1" type:"string" required:"true"`
  7854  }
  7855  
  7856  // String returns the string representation.
  7857  //
  7858  // API parameter values that are decorated as "sensitive" in the API will not
  7859  // be included in the string output. The member name will be present, but the
  7860  // value will be replaced with "sensitive".
  7861  func (s DeviceRegistryEnrichActivity) String() string {
  7862  	return awsutil.Prettify(s)
  7863  }
  7864  
  7865  // GoString returns the string representation.
  7866  //
  7867  // API parameter values that are decorated as "sensitive" in the API will not
  7868  // be included in the string output. The member name will be present, but the
  7869  // value will be replaced with "sensitive".
  7870  func (s DeviceRegistryEnrichActivity) GoString() string {
  7871  	return s.String()
  7872  }
  7873  
  7874  // Validate inspects the fields of the type to determine if they are valid.
  7875  func (s *DeviceRegistryEnrichActivity) Validate() error {
  7876  	invalidParams := request.ErrInvalidParams{Context: "DeviceRegistryEnrichActivity"}
  7877  	if s.Attribute == nil {
  7878  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
  7879  	}
  7880  	if s.Attribute != nil && len(*s.Attribute) < 1 {
  7881  		invalidParams.Add(request.NewErrParamMinLen("Attribute", 1))
  7882  	}
  7883  	if s.Name == nil {
  7884  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7885  	}
  7886  	if s.Name != nil && len(*s.Name) < 1 {
  7887  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7888  	}
  7889  	if s.Next != nil && len(*s.Next) < 1 {
  7890  		invalidParams.Add(request.NewErrParamMinLen("Next", 1))
  7891  	}
  7892  	if s.RoleArn == nil {
  7893  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  7894  	}
  7895  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  7896  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  7897  	}
  7898  	if s.ThingName == nil {
  7899  		invalidParams.Add(request.NewErrParamRequired("ThingName"))
  7900  	}
  7901  	if s.ThingName != nil && len(*s.ThingName) < 1 {
  7902  		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
  7903  	}
  7904  
  7905  	if invalidParams.Len() > 0 {
  7906  		return invalidParams
  7907  	}
  7908  	return nil
  7909  }
  7910  
  7911  // SetAttribute sets the Attribute field's value.
  7912  func (s *DeviceRegistryEnrichActivity) SetAttribute(v string) *DeviceRegistryEnrichActivity {
  7913  	s.Attribute = &v
  7914  	return s
  7915  }
  7916  
  7917  // SetName sets the Name field's value.
  7918  func (s *DeviceRegistryEnrichActivity) SetName(v string) *DeviceRegistryEnrichActivity {
  7919  	s.Name = &v
  7920  	return s
  7921  }
  7922  
  7923  // SetNext sets the Next field's value.
  7924  func (s *DeviceRegistryEnrichActivity) SetNext(v string) *DeviceRegistryEnrichActivity {
  7925  	s.Next = &v
  7926  	return s
  7927  }
  7928  
  7929  // SetRoleArn sets the RoleArn field's value.
  7930  func (s *DeviceRegistryEnrichActivity) SetRoleArn(v string) *DeviceRegistryEnrichActivity {
  7931  	s.RoleArn = &v
  7932  	return s
  7933  }
  7934  
  7935  // SetThingName sets the ThingName field's value.
  7936  func (s *DeviceRegistryEnrichActivity) SetThingName(v string) *DeviceRegistryEnrichActivity {
  7937  	s.ThingName = &v
  7938  	return s
  7939  }
  7940  
  7941  // An activity that adds information from the IoT Device Shadow service to a
  7942  // message.
  7943  type DeviceShadowEnrichActivity struct {
  7944  	_ struct{} `type:"structure"`
  7945  
  7946  	// The name of the attribute that is added to the message.
  7947  	//
  7948  	// Attribute is a required field
  7949  	Attribute *string `locationName:"attribute" min:"1" type:"string" required:"true"`
  7950  
  7951  	// The name of the deviceShadowEnrich activity.
  7952  	//
  7953  	// Name is a required field
  7954  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7955  
  7956  	// The next activity in the pipeline.
  7957  	Next *string `locationName:"next" min:"1" type:"string"`
  7958  
  7959  	// The ARN of the role that allows access to the device's shadow.
  7960  	//
  7961  	// RoleArn is a required field
  7962  	RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"`
  7963  
  7964  	// The name of the IoT device whose shadow information is added to the message.
  7965  	//
  7966  	// ThingName is a required field
  7967  	ThingName *string `locationName:"thingName" min:"1" type:"string" required:"true"`
  7968  }
  7969  
  7970  // String returns the string representation.
  7971  //
  7972  // API parameter values that are decorated as "sensitive" in the API will not
  7973  // be included in the string output. The member name will be present, but the
  7974  // value will be replaced with "sensitive".
  7975  func (s DeviceShadowEnrichActivity) String() string {
  7976  	return awsutil.Prettify(s)
  7977  }
  7978  
  7979  // GoString returns the string representation.
  7980  //
  7981  // API parameter values that are decorated as "sensitive" in the API will not
  7982  // be included in the string output. The member name will be present, but the
  7983  // value will be replaced with "sensitive".
  7984  func (s DeviceShadowEnrichActivity) GoString() string {
  7985  	return s.String()
  7986  }
  7987  
  7988  // Validate inspects the fields of the type to determine if they are valid.
  7989  func (s *DeviceShadowEnrichActivity) Validate() error {
  7990  	invalidParams := request.ErrInvalidParams{Context: "DeviceShadowEnrichActivity"}
  7991  	if s.Attribute == nil {
  7992  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
  7993  	}
  7994  	if s.Attribute != nil && len(*s.Attribute) < 1 {
  7995  		invalidParams.Add(request.NewErrParamMinLen("Attribute", 1))
  7996  	}
  7997  	if s.Name == nil {
  7998  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7999  	}
  8000  	if s.Name != nil && len(*s.Name) < 1 {
  8001  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8002  	}
  8003  	if s.Next != nil && len(*s.Next) < 1 {
  8004  		invalidParams.Add(request.NewErrParamMinLen("Next", 1))
  8005  	}
  8006  	if s.RoleArn == nil {
  8007  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  8008  	}
  8009  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  8010  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  8011  	}
  8012  	if s.ThingName == nil {
  8013  		invalidParams.Add(request.NewErrParamRequired("ThingName"))
  8014  	}
  8015  	if s.ThingName != nil && len(*s.ThingName) < 1 {
  8016  		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
  8017  	}
  8018  
  8019  	if invalidParams.Len() > 0 {
  8020  		return invalidParams
  8021  	}
  8022  	return nil
  8023  }
  8024  
  8025  // SetAttribute sets the Attribute field's value.
  8026  func (s *DeviceShadowEnrichActivity) SetAttribute(v string) *DeviceShadowEnrichActivity {
  8027  	s.Attribute = &v
  8028  	return s
  8029  }
  8030  
  8031  // SetName sets the Name field's value.
  8032  func (s *DeviceShadowEnrichActivity) SetName(v string) *DeviceShadowEnrichActivity {
  8033  	s.Name = &v
  8034  	return s
  8035  }
  8036  
  8037  // SetNext sets the Next field's value.
  8038  func (s *DeviceShadowEnrichActivity) SetNext(v string) *DeviceShadowEnrichActivity {
  8039  	s.Next = &v
  8040  	return s
  8041  }
  8042  
  8043  // SetRoleArn sets the RoleArn field's value.
  8044  func (s *DeviceShadowEnrichActivity) SetRoleArn(v string) *DeviceShadowEnrichActivity {
  8045  	s.RoleArn = &v
  8046  	return s
  8047  }
  8048  
  8049  // SetThingName sets the ThingName field's value.
  8050  func (s *DeviceShadowEnrichActivity) SetThingName(v string) *DeviceShadowEnrichActivity {
  8051  	s.ThingName = &v
  8052  	return s
  8053  }
  8054  
  8055  // The estimated size of the resource.
  8056  type EstimatedResourceSize struct {
  8057  	_ struct{} `type:"structure"`
  8058  
  8059  	// The time when the estimate of the size of the resource was made.
  8060  	EstimatedOn *time.Time `locationName:"estimatedOn" type:"timestamp"`
  8061  
  8062  	// The estimated size of the resource, in bytes.
  8063  	EstimatedSizeInBytes *float64 `locationName:"estimatedSizeInBytes" type:"double"`
  8064  }
  8065  
  8066  // String 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 EstimatedResourceSize) String() string {
  8072  	return awsutil.Prettify(s)
  8073  }
  8074  
  8075  // GoString returns the string representation.
  8076  //
  8077  // API parameter values that are decorated as "sensitive" in the API will not
  8078  // be included in the string output. The member name will be present, but the
  8079  // value will be replaced with "sensitive".
  8080  func (s EstimatedResourceSize) GoString() string {
  8081  	return s.String()
  8082  }
  8083  
  8084  // SetEstimatedOn sets the EstimatedOn field's value.
  8085  func (s *EstimatedResourceSize) SetEstimatedOn(v time.Time) *EstimatedResourceSize {
  8086  	s.EstimatedOn = &v
  8087  	return s
  8088  }
  8089  
  8090  // SetEstimatedSizeInBytes sets the EstimatedSizeInBytes field's value.
  8091  func (s *EstimatedResourceSize) SetEstimatedSizeInBytes(v float64) *EstimatedResourceSize {
  8092  	s.EstimatedSizeInBytes = &v
  8093  	return s
  8094  }
  8095  
  8096  // Contains the configuration information of file formats. IoT Analytics data
  8097  // stores support JSON and Parquet (https://parquet.apache.org/).
  8098  //
  8099  // The default file format is JSON. You can specify only one format.
  8100  //
  8101  // You can't change the file format after you create the data store.
  8102  type FileFormatConfiguration struct {
  8103  	_ struct{} `type:"structure"`
  8104  
  8105  	// Contains the configuration information of the JSON format.
  8106  	JsonConfiguration *JsonConfiguration `locationName:"jsonConfiguration" type:"structure"`
  8107  
  8108  	// Contains the configuration information of the Parquet format.
  8109  	ParquetConfiguration *ParquetConfiguration `locationName:"parquetConfiguration" type:"structure"`
  8110  }
  8111  
  8112  // String returns the string representation.
  8113  //
  8114  // API parameter values that are decorated as "sensitive" in the API will not
  8115  // be included in the string output. The member name will be present, but the
  8116  // value will be replaced with "sensitive".
  8117  func (s FileFormatConfiguration) String() string {
  8118  	return awsutil.Prettify(s)
  8119  }
  8120  
  8121  // GoString returns the string representation.
  8122  //
  8123  // API parameter values that are decorated as "sensitive" in the API will not
  8124  // be included in the string output. The member name will be present, but the
  8125  // value will be replaced with "sensitive".
  8126  func (s FileFormatConfiguration) GoString() string {
  8127  	return s.String()
  8128  }
  8129  
  8130  // Validate inspects the fields of the type to determine if they are valid.
  8131  func (s *FileFormatConfiguration) Validate() error {
  8132  	invalidParams := request.ErrInvalidParams{Context: "FileFormatConfiguration"}
  8133  	if s.ParquetConfiguration != nil {
  8134  		if err := s.ParquetConfiguration.Validate(); err != nil {
  8135  			invalidParams.AddNested("ParquetConfiguration", err.(request.ErrInvalidParams))
  8136  		}
  8137  	}
  8138  
  8139  	if invalidParams.Len() > 0 {
  8140  		return invalidParams
  8141  	}
  8142  	return nil
  8143  }
  8144  
  8145  // SetJsonConfiguration sets the JsonConfiguration field's value.
  8146  func (s *FileFormatConfiguration) SetJsonConfiguration(v *JsonConfiguration) *FileFormatConfiguration {
  8147  	s.JsonConfiguration = v
  8148  	return s
  8149  }
  8150  
  8151  // SetParquetConfiguration sets the ParquetConfiguration field's value.
  8152  func (s *FileFormatConfiguration) SetParquetConfiguration(v *ParquetConfiguration) *FileFormatConfiguration {
  8153  	s.ParquetConfiguration = v
  8154  	return s
  8155  }
  8156  
  8157  // An activity that filters a message based on its attributes.
  8158  type FilterActivity struct {
  8159  	_ struct{} `type:"structure"`
  8160  
  8161  	// An expression that looks like a SQL WHERE clause that must return a Boolean
  8162  	// value. Messages that satisfy the condition are passed to the next activity.
  8163  	//
  8164  	// Filter is a required field
  8165  	Filter *string `locationName:"filter" min:"1" type:"string" required:"true"`
  8166  
  8167  	// The name of the filter activity.
  8168  	//
  8169  	// Name is a required field
  8170  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  8171  
  8172  	// The next activity in the pipeline.
  8173  	Next *string `locationName:"next" min:"1" type:"string"`
  8174  }
  8175  
  8176  // String returns the string representation.
  8177  //
  8178  // API parameter values that are decorated as "sensitive" in the API will not
  8179  // be included in the string output. The member name will be present, but the
  8180  // value will be replaced with "sensitive".
  8181  func (s FilterActivity) String() string {
  8182  	return awsutil.Prettify(s)
  8183  }
  8184  
  8185  // GoString returns the string representation.
  8186  //
  8187  // API parameter values that are decorated as "sensitive" in the API will not
  8188  // be included in the string output. The member name will be present, but the
  8189  // value will be replaced with "sensitive".
  8190  func (s FilterActivity) GoString() string {
  8191  	return s.String()
  8192  }
  8193  
  8194  // Validate inspects the fields of the type to determine if they are valid.
  8195  func (s *FilterActivity) Validate() error {
  8196  	invalidParams := request.ErrInvalidParams{Context: "FilterActivity"}
  8197  	if s.Filter == nil {
  8198  		invalidParams.Add(request.NewErrParamRequired("Filter"))
  8199  	}
  8200  	if s.Filter != nil && len(*s.Filter) < 1 {
  8201  		invalidParams.Add(request.NewErrParamMinLen("Filter", 1))
  8202  	}
  8203  	if s.Name == nil {
  8204  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8205  	}
  8206  	if s.Name != nil && len(*s.Name) < 1 {
  8207  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8208  	}
  8209  	if s.Next != nil && len(*s.Next) < 1 {
  8210  		invalidParams.Add(request.NewErrParamMinLen("Next", 1))
  8211  	}
  8212  
  8213  	if invalidParams.Len() > 0 {
  8214  		return invalidParams
  8215  	}
  8216  	return nil
  8217  }
  8218  
  8219  // SetFilter sets the Filter field's value.
  8220  func (s *FilterActivity) SetFilter(v string) *FilterActivity {
  8221  	s.Filter = &v
  8222  	return s
  8223  }
  8224  
  8225  // SetName sets the Name field's value.
  8226  func (s *FilterActivity) SetName(v string) *FilterActivity {
  8227  	s.Name = &v
  8228  	return s
  8229  }
  8230  
  8231  // SetNext sets the Next field's value.
  8232  func (s *FilterActivity) SetNext(v string) *FilterActivity {
  8233  	s.Next = &v
  8234  	return s
  8235  }
  8236  
  8237  type GetDatasetContentInput struct {
  8238  	_ struct{} `type:"structure" nopayload:"true"`
  8239  
  8240  	// The name of the dataset whose contents are retrieved.
  8241  	//
  8242  	// DatasetName is a required field
  8243  	DatasetName *string `location:"uri" locationName:"datasetName" min:"1" type:"string" required:"true"`
  8244  
  8245  	// The version of the dataset whose contents are retrieved. You can also use
  8246  	// the strings "$LATEST" or "$LATEST_SUCCEEDED" to retrieve the contents of
  8247  	// the latest or latest successfully completed dataset. If not specified, "$LATEST_SUCCEEDED"
  8248  	// is the default.
  8249  	VersionId *string `location:"querystring" locationName:"versionId" min:"7" type:"string"`
  8250  }
  8251  
  8252  // String returns the string representation.
  8253  //
  8254  // API parameter values that are decorated as "sensitive" in the API will not
  8255  // be included in the string output. The member name will be present, but the
  8256  // value will be replaced with "sensitive".
  8257  func (s GetDatasetContentInput) String() string {
  8258  	return awsutil.Prettify(s)
  8259  }
  8260  
  8261  // GoString returns the string representation.
  8262  //
  8263  // API parameter values that are decorated as "sensitive" in the API will not
  8264  // be included in the string output. The member name will be present, but the
  8265  // value will be replaced with "sensitive".
  8266  func (s GetDatasetContentInput) GoString() string {
  8267  	return s.String()
  8268  }
  8269  
  8270  // Validate inspects the fields of the type to determine if they are valid.
  8271  func (s *GetDatasetContentInput) Validate() error {
  8272  	invalidParams := request.ErrInvalidParams{Context: "GetDatasetContentInput"}
  8273  	if s.DatasetName == nil {
  8274  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
  8275  	}
  8276  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  8277  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  8278  	}
  8279  	if s.VersionId != nil && len(*s.VersionId) < 7 {
  8280  		invalidParams.Add(request.NewErrParamMinLen("VersionId", 7))
  8281  	}
  8282  
  8283  	if invalidParams.Len() > 0 {
  8284  		return invalidParams
  8285  	}
  8286  	return nil
  8287  }
  8288  
  8289  // SetDatasetName sets the DatasetName field's value.
  8290  func (s *GetDatasetContentInput) SetDatasetName(v string) *GetDatasetContentInput {
  8291  	s.DatasetName = &v
  8292  	return s
  8293  }
  8294  
  8295  // SetVersionId sets the VersionId field's value.
  8296  func (s *GetDatasetContentInput) SetVersionId(v string) *GetDatasetContentInput {
  8297  	s.VersionId = &v
  8298  	return s
  8299  }
  8300  
  8301  type GetDatasetContentOutput struct {
  8302  	_ struct{} `type:"structure"`
  8303  
  8304  	// A list of DatasetEntry objects.
  8305  	Entries []*DatasetEntry `locationName:"entries" type:"list"`
  8306  
  8307  	// The status of the dataset content.
  8308  	Status *DatasetContentStatus `locationName:"status" type:"structure"`
  8309  
  8310  	// The time when the request was made.
  8311  	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  8312  }
  8313  
  8314  // String returns the string representation.
  8315  //
  8316  // API parameter values that are decorated as "sensitive" in the API will not
  8317  // be included in the string output. The member name will be present, but the
  8318  // value will be replaced with "sensitive".
  8319  func (s GetDatasetContentOutput) String() string {
  8320  	return awsutil.Prettify(s)
  8321  }
  8322  
  8323  // GoString returns the string representation.
  8324  //
  8325  // API parameter values that are decorated as "sensitive" in the API will not
  8326  // be included in the string output. The member name will be present, but the
  8327  // value will be replaced with "sensitive".
  8328  func (s GetDatasetContentOutput) GoString() string {
  8329  	return s.String()
  8330  }
  8331  
  8332  // SetEntries sets the Entries field's value.
  8333  func (s *GetDatasetContentOutput) SetEntries(v []*DatasetEntry) *GetDatasetContentOutput {
  8334  	s.Entries = v
  8335  	return s
  8336  }
  8337  
  8338  // SetStatus sets the Status field's value.
  8339  func (s *GetDatasetContentOutput) SetStatus(v *DatasetContentStatus) *GetDatasetContentOutput {
  8340  	s.Status = v
  8341  	return s
  8342  }
  8343  
  8344  // SetTimestamp sets the Timestamp field's value.
  8345  func (s *GetDatasetContentOutput) SetTimestamp(v time.Time) *GetDatasetContentOutput {
  8346  	s.Timestamp = &v
  8347  	return s
  8348  }
  8349  
  8350  // Configuration information for coordination with Glue, a fully managed extract,
  8351  // transform and load (ETL) service.
  8352  type GlueConfiguration struct {
  8353  	_ struct{} `type:"structure"`
  8354  
  8355  	// The name of the database in your Glue Data Catalog in which the table is
  8356  	// located. An Glue Data Catalog database contains metadata tables.
  8357  	//
  8358  	// DatabaseName is a required field
  8359  	DatabaseName *string `locationName:"databaseName" min:"1" type:"string" required:"true"`
  8360  
  8361  	// The name of the table in your Glue Data Catalog that is used to perform the
  8362  	// ETL operations. An Glue Data Catalog table contains partitioned data and
  8363  	// descriptions of data sources and targets.
  8364  	//
  8365  	// TableName is a required field
  8366  	TableName *string `locationName:"tableName" min:"1" type:"string" required:"true"`
  8367  }
  8368  
  8369  // String returns the string representation.
  8370  //
  8371  // API parameter values that are decorated as "sensitive" in the API will not
  8372  // be included in the string output. The member name will be present, but the
  8373  // value will be replaced with "sensitive".
  8374  func (s GlueConfiguration) String() string {
  8375  	return awsutil.Prettify(s)
  8376  }
  8377  
  8378  // GoString returns the string representation.
  8379  //
  8380  // API parameter values that are decorated as "sensitive" in the API will not
  8381  // be included in the string output. The member name will be present, but the
  8382  // value will be replaced with "sensitive".
  8383  func (s GlueConfiguration) GoString() string {
  8384  	return s.String()
  8385  }
  8386  
  8387  // Validate inspects the fields of the type to determine if they are valid.
  8388  func (s *GlueConfiguration) Validate() error {
  8389  	invalidParams := request.ErrInvalidParams{Context: "GlueConfiguration"}
  8390  	if s.DatabaseName == nil {
  8391  		invalidParams.Add(request.NewErrParamRequired("DatabaseName"))
  8392  	}
  8393  	if s.DatabaseName != nil && len(*s.DatabaseName) < 1 {
  8394  		invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1))
  8395  	}
  8396  	if s.TableName == nil {
  8397  		invalidParams.Add(request.NewErrParamRequired("TableName"))
  8398  	}
  8399  	if s.TableName != nil && len(*s.TableName) < 1 {
  8400  		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
  8401  	}
  8402  
  8403  	if invalidParams.Len() > 0 {
  8404  		return invalidParams
  8405  	}
  8406  	return nil
  8407  }
  8408  
  8409  // SetDatabaseName sets the DatabaseName field's value.
  8410  func (s *GlueConfiguration) SetDatabaseName(v string) *GlueConfiguration {
  8411  	s.DatabaseName = &v
  8412  	return s
  8413  }
  8414  
  8415  // SetTableName sets the TableName field's value.
  8416  func (s *GlueConfiguration) SetTableName(v string) *GlueConfiguration {
  8417  	s.TableName = &v
  8418  	return s
  8419  }
  8420  
  8421  // There was an internal failure.
  8422  type InternalFailureException struct {
  8423  	_            struct{}                  `type:"structure"`
  8424  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8425  
  8426  	Message_ *string `locationName:"message" type:"string"`
  8427  }
  8428  
  8429  // String returns the string representation.
  8430  //
  8431  // API parameter values that are decorated as "sensitive" in the API will not
  8432  // be included in the string output. The member name will be present, but the
  8433  // value will be replaced with "sensitive".
  8434  func (s InternalFailureException) String() string {
  8435  	return awsutil.Prettify(s)
  8436  }
  8437  
  8438  // GoString returns the string representation.
  8439  //
  8440  // API parameter values that are decorated as "sensitive" in the API will not
  8441  // be included in the string output. The member name will be present, but the
  8442  // value will be replaced with "sensitive".
  8443  func (s InternalFailureException) GoString() string {
  8444  	return s.String()
  8445  }
  8446  
  8447  func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
  8448  	return &InternalFailureException{
  8449  		RespMetadata: v,
  8450  	}
  8451  }
  8452  
  8453  // Code returns the exception type name.
  8454  func (s *InternalFailureException) Code() string {
  8455  	return "InternalFailureException"
  8456  }
  8457  
  8458  // Message returns the exception's message.
  8459  func (s *InternalFailureException) Message() string {
  8460  	if s.Message_ != nil {
  8461  		return *s.Message_
  8462  	}
  8463  	return ""
  8464  }
  8465  
  8466  // OrigErr always returns nil, satisfies awserr.Error interface.
  8467  func (s *InternalFailureException) OrigErr() error {
  8468  	return nil
  8469  }
  8470  
  8471  func (s *InternalFailureException) Error() string {
  8472  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8473  }
  8474  
  8475  // Status code returns the HTTP status code for the request's response error.
  8476  func (s *InternalFailureException) StatusCode() int {
  8477  	return s.RespMetadata.StatusCode
  8478  }
  8479  
  8480  // RequestID returns the service's response RequestID for request.
  8481  func (s *InternalFailureException) RequestID() string {
  8482  	return s.RespMetadata.RequestID
  8483  }
  8484  
  8485  // The request was not valid.
  8486  type InvalidRequestException struct {
  8487  	_            struct{}                  `type:"structure"`
  8488  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8489  
  8490  	Message_ *string `locationName:"message" type:"string"`
  8491  }
  8492  
  8493  // String returns the string representation.
  8494  //
  8495  // API parameter values that are decorated as "sensitive" in the API will not
  8496  // be included in the string output. The member name will be present, but the
  8497  // value will be replaced with "sensitive".
  8498  func (s InvalidRequestException) String() string {
  8499  	return awsutil.Prettify(s)
  8500  }
  8501  
  8502  // GoString returns the string representation.
  8503  //
  8504  // API parameter values that are decorated as "sensitive" in the API will not
  8505  // be included in the string output. The member name will be present, but the
  8506  // value will be replaced with "sensitive".
  8507  func (s InvalidRequestException) GoString() string {
  8508  	return s.String()
  8509  }
  8510  
  8511  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
  8512  	return &InvalidRequestException{
  8513  		RespMetadata: v,
  8514  	}
  8515  }
  8516  
  8517  // Code returns the exception type name.
  8518  func (s *InvalidRequestException) Code() string {
  8519  	return "InvalidRequestException"
  8520  }
  8521  
  8522  // Message returns the exception's message.
  8523  func (s *InvalidRequestException) Message() string {
  8524  	if s.Message_ != nil {
  8525  		return *s.Message_
  8526  	}
  8527  	return ""
  8528  }
  8529  
  8530  // OrigErr always returns nil, satisfies awserr.Error interface.
  8531  func (s *InvalidRequestException) OrigErr() error {
  8532  	return nil
  8533  }
  8534  
  8535  func (s *InvalidRequestException) Error() string {
  8536  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8537  }
  8538  
  8539  // Status code returns the HTTP status code for the request's response error.
  8540  func (s *InvalidRequestException) StatusCode() int {
  8541  	return s.RespMetadata.StatusCode
  8542  }
  8543  
  8544  // RequestID returns the service's response RequestID for request.
  8545  func (s *InvalidRequestException) RequestID() string {
  8546  	return s.RespMetadata.RequestID
  8547  }
  8548  
  8549  // Configuration information for delivery of dataset contents to IoT Events.
  8550  type IotEventsDestinationConfiguration struct {
  8551  	_ struct{} `type:"structure"`
  8552  
  8553  	// The name of the IoT Events input to which dataset contents are delivered.
  8554  	//
  8555  	// InputName is a required field
  8556  	InputName *string `locationName:"inputName" min:"1" type:"string" required:"true"`
  8557  
  8558  	// The ARN of the role that grants IoT Analytics permission to deliver dataset
  8559  	// contents to an IoT Events input.
  8560  	//
  8561  	// RoleArn is a required field
  8562  	RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"`
  8563  }
  8564  
  8565  // String returns the string representation.
  8566  //
  8567  // API parameter values that are decorated as "sensitive" in the API will not
  8568  // be included in the string output. The member name will be present, but the
  8569  // value will be replaced with "sensitive".
  8570  func (s IotEventsDestinationConfiguration) String() string {
  8571  	return awsutil.Prettify(s)
  8572  }
  8573  
  8574  // GoString returns the string representation.
  8575  //
  8576  // API parameter values that are decorated as "sensitive" in the API will not
  8577  // be included in the string output. The member name will be present, but the
  8578  // value will be replaced with "sensitive".
  8579  func (s IotEventsDestinationConfiguration) GoString() string {
  8580  	return s.String()
  8581  }
  8582  
  8583  // Validate inspects the fields of the type to determine if they are valid.
  8584  func (s *IotEventsDestinationConfiguration) Validate() error {
  8585  	invalidParams := request.ErrInvalidParams{Context: "IotEventsDestinationConfiguration"}
  8586  	if s.InputName == nil {
  8587  		invalidParams.Add(request.NewErrParamRequired("InputName"))
  8588  	}
  8589  	if s.InputName != nil && len(*s.InputName) < 1 {
  8590  		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
  8591  	}
  8592  	if s.RoleArn == nil {
  8593  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  8594  	}
  8595  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  8596  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  8597  	}
  8598  
  8599  	if invalidParams.Len() > 0 {
  8600  		return invalidParams
  8601  	}
  8602  	return nil
  8603  }
  8604  
  8605  // SetInputName sets the InputName field's value.
  8606  func (s *IotEventsDestinationConfiguration) SetInputName(v string) *IotEventsDestinationConfiguration {
  8607  	s.InputName = &v
  8608  	return s
  8609  }
  8610  
  8611  // SetRoleArn sets the RoleArn field's value.
  8612  func (s *IotEventsDestinationConfiguration) SetRoleArn(v string) *IotEventsDestinationConfiguration {
  8613  	s.RoleArn = &v
  8614  	return s
  8615  }
  8616  
  8617  // Used to store data used by IoT SiteWise in an Amazon S3 bucket that you manage.
  8618  // You can't change the choice of Amazon S3 storage after your data store is
  8619  // created.
  8620  type IotSiteWiseCustomerManagedDatastoreS3Storage struct {
  8621  	_ struct{} `type:"structure"`
  8622  
  8623  	// The name of the Amazon S3 bucket where your data is stored.
  8624  	//
  8625  	// Bucket is a required field
  8626  	Bucket *string `locationName:"bucket" min:"3" type:"string" required:"true"`
  8627  
  8628  	// (Optional) The prefix used to create the keys of the data store data objects.
  8629  	// Each object in an Amazon S3 bucket has a key that is its unique identifier
  8630  	// in the bucket. Each object in a bucket has exactly one key. The prefix must
  8631  	// end with a forward slash (/).
  8632  	KeyPrefix *string `locationName:"keyPrefix" min:"1" type:"string"`
  8633  }
  8634  
  8635  // String returns the string representation.
  8636  //
  8637  // API parameter values that are decorated as "sensitive" in the API will not
  8638  // be included in the string output. The member name will be present, but the
  8639  // value will be replaced with "sensitive".
  8640  func (s IotSiteWiseCustomerManagedDatastoreS3Storage) String() string {
  8641  	return awsutil.Prettify(s)
  8642  }
  8643  
  8644  // GoString returns the string representation.
  8645  //
  8646  // API parameter values that are decorated as "sensitive" in the API will not
  8647  // be included in the string output. The member name will be present, but the
  8648  // value will be replaced with "sensitive".
  8649  func (s IotSiteWiseCustomerManagedDatastoreS3Storage) GoString() string {
  8650  	return s.String()
  8651  }
  8652  
  8653  // Validate inspects the fields of the type to determine if they are valid.
  8654  func (s *IotSiteWiseCustomerManagedDatastoreS3Storage) Validate() error {
  8655  	invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseCustomerManagedDatastoreS3Storage"}
  8656  	if s.Bucket == nil {
  8657  		invalidParams.Add(request.NewErrParamRequired("Bucket"))
  8658  	}
  8659  	if s.Bucket != nil && len(*s.Bucket) < 3 {
  8660  		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
  8661  	}
  8662  	if s.KeyPrefix != nil && len(*s.KeyPrefix) < 1 {
  8663  		invalidParams.Add(request.NewErrParamMinLen("KeyPrefix", 1))
  8664  	}
  8665  
  8666  	if invalidParams.Len() > 0 {
  8667  		return invalidParams
  8668  	}
  8669  	return nil
  8670  }
  8671  
  8672  // SetBucket sets the Bucket field's value.
  8673  func (s *IotSiteWiseCustomerManagedDatastoreS3Storage) SetBucket(v string) *IotSiteWiseCustomerManagedDatastoreS3Storage {
  8674  	s.Bucket = &v
  8675  	return s
  8676  }
  8677  
  8678  // SetKeyPrefix sets the KeyPrefix field's value.
  8679  func (s *IotSiteWiseCustomerManagedDatastoreS3Storage) SetKeyPrefix(v string) *IotSiteWiseCustomerManagedDatastoreS3Storage {
  8680  	s.KeyPrefix = &v
  8681  	return s
  8682  }
  8683  
  8684  // Contains information about the data store that you manage, which stores data
  8685  // used by IoT SiteWise.
  8686  type IotSiteWiseCustomerManagedDatastoreS3StorageSummary struct {
  8687  	_ struct{} `type:"structure"`
  8688  
  8689  	// The name of the Amazon S3 bucket where your data is stored.
  8690  	Bucket *string `locationName:"bucket" min:"3" type:"string"`
  8691  
  8692  	// (Optional) The prefix used to create the keys of the data store data objects.
  8693  	// Each object in an Amazon S3 bucket has a key that is its unique identifier
  8694  	// in the bucket. Each object in a bucket has exactly one key. The prefix must
  8695  	// end with a forward slash (/).
  8696  	KeyPrefix *string `locationName:"keyPrefix" min:"1" type:"string"`
  8697  }
  8698  
  8699  // String returns the string representation.
  8700  //
  8701  // API parameter values that are decorated as "sensitive" in the API will not
  8702  // be included in the string output. The member name will be present, but the
  8703  // value will be replaced with "sensitive".
  8704  func (s IotSiteWiseCustomerManagedDatastoreS3StorageSummary) String() string {
  8705  	return awsutil.Prettify(s)
  8706  }
  8707  
  8708  // GoString returns the string representation.
  8709  //
  8710  // API parameter values that are decorated as "sensitive" in the API will not
  8711  // be included in the string output. The member name will be present, but the
  8712  // value will be replaced with "sensitive".
  8713  func (s IotSiteWiseCustomerManagedDatastoreS3StorageSummary) GoString() string {
  8714  	return s.String()
  8715  }
  8716  
  8717  // SetBucket sets the Bucket field's value.
  8718  func (s *IotSiteWiseCustomerManagedDatastoreS3StorageSummary) SetBucket(v string) *IotSiteWiseCustomerManagedDatastoreS3StorageSummary {
  8719  	s.Bucket = &v
  8720  	return s
  8721  }
  8722  
  8723  // SetKeyPrefix sets the KeyPrefix field's value.
  8724  func (s *IotSiteWiseCustomerManagedDatastoreS3StorageSummary) SetKeyPrefix(v string) *IotSiteWiseCustomerManagedDatastoreS3StorageSummary {
  8725  	s.KeyPrefix = &v
  8726  	return s
  8727  }
  8728  
  8729  // Contains the configuration information of the JSON format.
  8730  type JsonConfiguration struct {
  8731  	_ struct{} `type:"structure" nopayload:"true"`
  8732  }
  8733  
  8734  // String returns the string representation.
  8735  //
  8736  // API parameter values that are decorated as "sensitive" in the API will not
  8737  // be included in the string output. The member name will be present, but the
  8738  // value will be replaced with "sensitive".
  8739  func (s JsonConfiguration) String() string {
  8740  	return awsutil.Prettify(s)
  8741  }
  8742  
  8743  // GoString returns the string representation.
  8744  //
  8745  // API parameter values that are decorated as "sensitive" in the API will not
  8746  // be included in the string output. The member name will be present, but the
  8747  // value will be replaced with "sensitive".
  8748  func (s JsonConfiguration) GoString() string {
  8749  	return s.String()
  8750  }
  8751  
  8752  // An activity that runs a Lambda function to modify the message.
  8753  type LambdaActivity struct {
  8754  	_ struct{} `type:"structure"`
  8755  
  8756  	// The number of messages passed to the Lambda function for processing.
  8757  	//
  8758  	// The Lambda function must be able to process all of these messages within
  8759  	// five minutes, which is the maximum timeout duration for Lambda functions.
  8760  	//
  8761  	// BatchSize is a required field
  8762  	BatchSize *int64 `locationName:"batchSize" min:"1" type:"integer" required:"true"`
  8763  
  8764  	// The name of the Lambda function that is run on the message.
  8765  	//
  8766  	// LambdaName is a required field
  8767  	LambdaName *string `locationName:"lambdaName" min:"1" type:"string" required:"true"`
  8768  
  8769  	// The name of the lambda activity.
  8770  	//
  8771  	// Name is a required field
  8772  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  8773  
  8774  	// The next activity in the pipeline.
  8775  	Next *string `locationName:"next" min:"1" type:"string"`
  8776  }
  8777  
  8778  // String returns the string representation.
  8779  //
  8780  // API parameter values that are decorated as "sensitive" in the API will not
  8781  // be included in the string output. The member name will be present, but the
  8782  // value will be replaced with "sensitive".
  8783  func (s LambdaActivity) String() string {
  8784  	return awsutil.Prettify(s)
  8785  }
  8786  
  8787  // GoString returns the string representation.
  8788  //
  8789  // API parameter values that are decorated as "sensitive" in the API will not
  8790  // be included in the string output. The member name will be present, but the
  8791  // value will be replaced with "sensitive".
  8792  func (s LambdaActivity) GoString() string {
  8793  	return s.String()
  8794  }
  8795  
  8796  // Validate inspects the fields of the type to determine if they are valid.
  8797  func (s *LambdaActivity) Validate() error {
  8798  	invalidParams := request.ErrInvalidParams{Context: "LambdaActivity"}
  8799  	if s.BatchSize == nil {
  8800  		invalidParams.Add(request.NewErrParamRequired("BatchSize"))
  8801  	}
  8802  	if s.BatchSize != nil && *s.BatchSize < 1 {
  8803  		invalidParams.Add(request.NewErrParamMinValue("BatchSize", 1))
  8804  	}
  8805  	if s.LambdaName == nil {
  8806  		invalidParams.Add(request.NewErrParamRequired("LambdaName"))
  8807  	}
  8808  	if s.LambdaName != nil && len(*s.LambdaName) < 1 {
  8809  		invalidParams.Add(request.NewErrParamMinLen("LambdaName", 1))
  8810  	}
  8811  	if s.Name == nil {
  8812  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8813  	}
  8814  	if s.Name != nil && len(*s.Name) < 1 {
  8815  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8816  	}
  8817  	if s.Next != nil && len(*s.Next) < 1 {
  8818  		invalidParams.Add(request.NewErrParamMinLen("Next", 1))
  8819  	}
  8820  
  8821  	if invalidParams.Len() > 0 {
  8822  		return invalidParams
  8823  	}
  8824  	return nil
  8825  }
  8826  
  8827  // SetBatchSize sets the BatchSize field's value.
  8828  func (s *LambdaActivity) SetBatchSize(v int64) *LambdaActivity {
  8829  	s.BatchSize = &v
  8830  	return s
  8831  }
  8832  
  8833  // SetLambdaName sets the LambdaName field's value.
  8834  func (s *LambdaActivity) SetLambdaName(v string) *LambdaActivity {
  8835  	s.LambdaName = &v
  8836  	return s
  8837  }
  8838  
  8839  // SetName sets the Name field's value.
  8840  func (s *LambdaActivity) SetName(v string) *LambdaActivity {
  8841  	s.Name = &v
  8842  	return s
  8843  }
  8844  
  8845  // SetNext sets the Next field's value.
  8846  func (s *LambdaActivity) SetNext(v string) *LambdaActivity {
  8847  	s.Next = &v
  8848  	return s
  8849  }
  8850  
  8851  // A structure that contains the name and configuration information of a late
  8852  // data rule.
  8853  type LateDataRule struct {
  8854  	_ struct{} `type:"structure"`
  8855  
  8856  	// The information needed to configure the late data rule.
  8857  	//
  8858  	// RuleConfiguration is a required field
  8859  	RuleConfiguration *LateDataRuleConfiguration `locationName:"ruleConfiguration" type:"structure" required:"true"`
  8860  
  8861  	// The name of the late data rule.
  8862  	RuleName *string `locationName:"ruleName" min:"1" type:"string"`
  8863  }
  8864  
  8865  // String returns the string representation.
  8866  //
  8867  // API parameter values that are decorated as "sensitive" in the API will not
  8868  // be included in the string output. The member name will be present, but the
  8869  // value will be replaced with "sensitive".
  8870  func (s LateDataRule) String() string {
  8871  	return awsutil.Prettify(s)
  8872  }
  8873  
  8874  // GoString returns the string representation.
  8875  //
  8876  // API parameter values that are decorated as "sensitive" in the API will not
  8877  // be included in the string output. The member name will be present, but the
  8878  // value will be replaced with "sensitive".
  8879  func (s LateDataRule) GoString() string {
  8880  	return s.String()
  8881  }
  8882  
  8883  // Validate inspects the fields of the type to determine if they are valid.
  8884  func (s *LateDataRule) Validate() error {
  8885  	invalidParams := request.ErrInvalidParams{Context: "LateDataRule"}
  8886  	if s.RuleConfiguration == nil {
  8887  		invalidParams.Add(request.NewErrParamRequired("RuleConfiguration"))
  8888  	}
  8889  	if s.RuleName != nil && len(*s.RuleName) < 1 {
  8890  		invalidParams.Add(request.NewErrParamMinLen("RuleName", 1))
  8891  	}
  8892  	if s.RuleConfiguration != nil {
  8893  		if err := s.RuleConfiguration.Validate(); err != nil {
  8894  			invalidParams.AddNested("RuleConfiguration", err.(request.ErrInvalidParams))
  8895  		}
  8896  	}
  8897  
  8898  	if invalidParams.Len() > 0 {
  8899  		return invalidParams
  8900  	}
  8901  	return nil
  8902  }
  8903  
  8904  // SetRuleConfiguration sets the RuleConfiguration field's value.
  8905  func (s *LateDataRule) SetRuleConfiguration(v *LateDataRuleConfiguration) *LateDataRule {
  8906  	s.RuleConfiguration = v
  8907  	return s
  8908  }
  8909  
  8910  // SetRuleName sets the RuleName field's value.
  8911  func (s *LateDataRule) SetRuleName(v string) *LateDataRule {
  8912  	s.RuleName = &v
  8913  	return s
  8914  }
  8915  
  8916  // The information needed to configure a delta time session window.
  8917  type LateDataRuleConfiguration struct {
  8918  	_ struct{} `type:"structure"`
  8919  
  8920  	// The information needed to configure a delta time session window.
  8921  	DeltaTimeSessionWindowConfiguration *DeltaTimeSessionWindowConfiguration `locationName:"deltaTimeSessionWindowConfiguration" type:"structure"`
  8922  }
  8923  
  8924  // String returns the string representation.
  8925  //
  8926  // API parameter values that are decorated as "sensitive" in the API will not
  8927  // be included in the string output. The member name will be present, but the
  8928  // value will be replaced with "sensitive".
  8929  func (s LateDataRuleConfiguration) String() string {
  8930  	return awsutil.Prettify(s)
  8931  }
  8932  
  8933  // GoString returns the string representation.
  8934  //
  8935  // API parameter values that are decorated as "sensitive" in the API will not
  8936  // be included in the string output. The member name will be present, but the
  8937  // value will be replaced with "sensitive".
  8938  func (s LateDataRuleConfiguration) GoString() string {
  8939  	return s.String()
  8940  }
  8941  
  8942  // Validate inspects the fields of the type to determine if they are valid.
  8943  func (s *LateDataRuleConfiguration) Validate() error {
  8944  	invalidParams := request.ErrInvalidParams{Context: "LateDataRuleConfiguration"}
  8945  	if s.DeltaTimeSessionWindowConfiguration != nil {
  8946  		if err := s.DeltaTimeSessionWindowConfiguration.Validate(); err != nil {
  8947  			invalidParams.AddNested("DeltaTimeSessionWindowConfiguration", err.(request.ErrInvalidParams))
  8948  		}
  8949  	}
  8950  
  8951  	if invalidParams.Len() > 0 {
  8952  		return invalidParams
  8953  	}
  8954  	return nil
  8955  }
  8956  
  8957  // SetDeltaTimeSessionWindowConfiguration sets the DeltaTimeSessionWindowConfiguration field's value.
  8958  func (s *LateDataRuleConfiguration) SetDeltaTimeSessionWindowConfiguration(v *DeltaTimeSessionWindowConfiguration) *LateDataRuleConfiguration {
  8959  	s.DeltaTimeSessionWindowConfiguration = v
  8960  	return s
  8961  }
  8962  
  8963  // The command caused an internal limit to be exceeded.
  8964  type LimitExceededException struct {
  8965  	_            struct{}                  `type:"structure"`
  8966  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8967  
  8968  	Message_ *string `locationName:"message" type:"string"`
  8969  }
  8970  
  8971  // String returns the string representation.
  8972  //
  8973  // API parameter values that are decorated as "sensitive" in the API will not
  8974  // be included in the string output. The member name will be present, but the
  8975  // value will be replaced with "sensitive".
  8976  func (s LimitExceededException) String() string {
  8977  	return awsutil.Prettify(s)
  8978  }
  8979  
  8980  // GoString returns the string representation.
  8981  //
  8982  // API parameter values that are decorated as "sensitive" in the API will not
  8983  // be included in the string output. The member name will be present, but the
  8984  // value will be replaced with "sensitive".
  8985  func (s LimitExceededException) GoString() string {
  8986  	return s.String()
  8987  }
  8988  
  8989  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
  8990  	return &LimitExceededException{
  8991  		RespMetadata: v,
  8992  	}
  8993  }
  8994  
  8995  // Code returns the exception type name.
  8996  func (s *LimitExceededException) Code() string {
  8997  	return "LimitExceededException"
  8998  }
  8999  
  9000  // Message returns the exception's message.
  9001  func (s *LimitExceededException) Message() string {
  9002  	if s.Message_ != nil {
  9003  		return *s.Message_
  9004  	}
  9005  	return ""
  9006  }
  9007  
  9008  // OrigErr always returns nil, satisfies awserr.Error interface.
  9009  func (s *LimitExceededException) OrigErr() error {
  9010  	return nil
  9011  }
  9012  
  9013  func (s *LimitExceededException) Error() string {
  9014  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9015  }
  9016  
  9017  // Status code returns the HTTP status code for the request's response error.
  9018  func (s *LimitExceededException) StatusCode() int {
  9019  	return s.RespMetadata.StatusCode
  9020  }
  9021  
  9022  // RequestID returns the service's response RequestID for request.
  9023  func (s *LimitExceededException) RequestID() string {
  9024  	return s.RespMetadata.RequestID
  9025  }
  9026  
  9027  type ListChannelsInput struct {
  9028  	_ struct{} `type:"structure" nopayload:"true"`
  9029  
  9030  	// The maximum number of results to return in this request.
  9031  	//
  9032  	// The default value is 100.
  9033  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  9034  
  9035  	// The token for the next set of results.
  9036  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  9037  }
  9038  
  9039  // String returns the string representation.
  9040  //
  9041  // API parameter values that are decorated as "sensitive" in the API will not
  9042  // be included in the string output. The member name will be present, but the
  9043  // value will be replaced with "sensitive".
  9044  func (s ListChannelsInput) String() string {
  9045  	return awsutil.Prettify(s)
  9046  }
  9047  
  9048  // GoString returns the string representation.
  9049  //
  9050  // API parameter values that are decorated as "sensitive" in the API will not
  9051  // be included in the string output. The member name will be present, but the
  9052  // value will be replaced with "sensitive".
  9053  func (s ListChannelsInput) GoString() string {
  9054  	return s.String()
  9055  }
  9056  
  9057  // Validate inspects the fields of the type to determine if they are valid.
  9058  func (s *ListChannelsInput) Validate() error {
  9059  	invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"}
  9060  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9061  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9062  	}
  9063  
  9064  	if invalidParams.Len() > 0 {
  9065  		return invalidParams
  9066  	}
  9067  	return nil
  9068  }
  9069  
  9070  // SetMaxResults sets the MaxResults field's value.
  9071  func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput {
  9072  	s.MaxResults = &v
  9073  	return s
  9074  }
  9075  
  9076  // SetNextToken sets the NextToken field's value.
  9077  func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput {
  9078  	s.NextToken = &v
  9079  	return s
  9080  }
  9081  
  9082  type ListChannelsOutput struct {
  9083  	_ struct{} `type:"structure"`
  9084  
  9085  	// A list of ChannelSummary objects.
  9086  	ChannelSummaries []*ChannelSummary `locationName:"channelSummaries" type:"list"`
  9087  
  9088  	// The token to retrieve the next set of results, or null if there are no more
  9089  	// results.
  9090  	NextToken *string `locationName:"nextToken" type:"string"`
  9091  }
  9092  
  9093  // String returns the string representation.
  9094  //
  9095  // API parameter values that are decorated as "sensitive" in the API will not
  9096  // be included in the string output. The member name will be present, but the
  9097  // value will be replaced with "sensitive".
  9098  func (s ListChannelsOutput) String() string {
  9099  	return awsutil.Prettify(s)
  9100  }
  9101  
  9102  // GoString returns the string representation.
  9103  //
  9104  // API parameter values that are decorated as "sensitive" in the API will not
  9105  // be included in the string output. The member name will be present, but the
  9106  // value will be replaced with "sensitive".
  9107  func (s ListChannelsOutput) GoString() string {
  9108  	return s.String()
  9109  }
  9110  
  9111  // SetChannelSummaries sets the ChannelSummaries field's value.
  9112  func (s *ListChannelsOutput) SetChannelSummaries(v []*ChannelSummary) *ListChannelsOutput {
  9113  	s.ChannelSummaries = v
  9114  	return s
  9115  }
  9116  
  9117  // SetNextToken sets the NextToken field's value.
  9118  func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput {
  9119  	s.NextToken = &v
  9120  	return s
  9121  }
  9122  
  9123  type ListDatasetContentsInput struct {
  9124  	_ struct{} `type:"structure" nopayload:"true"`
  9125  
  9126  	// The name of the dataset whose contents information you want to list.
  9127  	//
  9128  	// DatasetName is a required field
  9129  	DatasetName *string `location:"uri" locationName:"datasetName" min:"1" type:"string" required:"true"`
  9130  
  9131  	// The maximum number of results to return in this request.
  9132  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  9133  
  9134  	// The token for the next set of results.
  9135  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  9136  
  9137  	// A filter to limit results to those dataset contents whose creation is scheduled
  9138  	// before the given time. See the field triggers.schedule in the CreateDataset
  9139  	// request. (timestamp)
  9140  	ScheduledBefore *time.Time `location:"querystring" locationName:"scheduledBefore" type:"timestamp"`
  9141  
  9142  	// A filter to limit results to those dataset contents whose creation is scheduled
  9143  	// on or after the given time. See the field triggers.schedule in the CreateDataset
  9144  	// request. (timestamp)
  9145  	ScheduledOnOrAfter *time.Time `location:"querystring" locationName:"scheduledOnOrAfter" type:"timestamp"`
  9146  }
  9147  
  9148  // String returns the string representation.
  9149  //
  9150  // API parameter values that are decorated as "sensitive" in the API will not
  9151  // be included in the string output. The member name will be present, but the
  9152  // value will be replaced with "sensitive".
  9153  func (s ListDatasetContentsInput) String() string {
  9154  	return awsutil.Prettify(s)
  9155  }
  9156  
  9157  // GoString returns the string representation.
  9158  //
  9159  // API parameter values that are decorated as "sensitive" in the API will not
  9160  // be included in the string output. The member name will be present, but the
  9161  // value will be replaced with "sensitive".
  9162  func (s ListDatasetContentsInput) GoString() string {
  9163  	return s.String()
  9164  }
  9165  
  9166  // Validate inspects the fields of the type to determine if they are valid.
  9167  func (s *ListDatasetContentsInput) Validate() error {
  9168  	invalidParams := request.ErrInvalidParams{Context: "ListDatasetContentsInput"}
  9169  	if s.DatasetName == nil {
  9170  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
  9171  	}
  9172  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  9173  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  9174  	}
  9175  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9176  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9177  	}
  9178  
  9179  	if invalidParams.Len() > 0 {
  9180  		return invalidParams
  9181  	}
  9182  	return nil
  9183  }
  9184  
  9185  // SetDatasetName sets the DatasetName field's value.
  9186  func (s *ListDatasetContentsInput) SetDatasetName(v string) *ListDatasetContentsInput {
  9187  	s.DatasetName = &v
  9188  	return s
  9189  }
  9190  
  9191  // SetMaxResults sets the MaxResults field's value.
  9192  func (s *ListDatasetContentsInput) SetMaxResults(v int64) *ListDatasetContentsInput {
  9193  	s.MaxResults = &v
  9194  	return s
  9195  }
  9196  
  9197  // SetNextToken sets the NextToken field's value.
  9198  func (s *ListDatasetContentsInput) SetNextToken(v string) *ListDatasetContentsInput {
  9199  	s.NextToken = &v
  9200  	return s
  9201  }
  9202  
  9203  // SetScheduledBefore sets the ScheduledBefore field's value.
  9204  func (s *ListDatasetContentsInput) SetScheduledBefore(v time.Time) *ListDatasetContentsInput {
  9205  	s.ScheduledBefore = &v
  9206  	return s
  9207  }
  9208  
  9209  // SetScheduledOnOrAfter sets the ScheduledOnOrAfter field's value.
  9210  func (s *ListDatasetContentsInput) SetScheduledOnOrAfter(v time.Time) *ListDatasetContentsInput {
  9211  	s.ScheduledOnOrAfter = &v
  9212  	return s
  9213  }
  9214  
  9215  type ListDatasetContentsOutput struct {
  9216  	_ struct{} `type:"structure"`
  9217  
  9218  	// Summary information about dataset contents that have been created.
  9219  	DatasetContentSummaries []*DatasetContentSummary `locationName:"datasetContentSummaries" type:"list"`
  9220  
  9221  	// The token to retrieve the next set of results, or null if there are no more
  9222  	// results.
  9223  	NextToken *string `locationName:"nextToken" type:"string"`
  9224  }
  9225  
  9226  // String returns the string representation.
  9227  //
  9228  // API parameter values that are decorated as "sensitive" in the API will not
  9229  // be included in the string output. The member name will be present, but the
  9230  // value will be replaced with "sensitive".
  9231  func (s ListDatasetContentsOutput) String() string {
  9232  	return awsutil.Prettify(s)
  9233  }
  9234  
  9235  // GoString returns the string representation.
  9236  //
  9237  // API parameter values that are decorated as "sensitive" in the API will not
  9238  // be included in the string output. The member name will be present, but the
  9239  // value will be replaced with "sensitive".
  9240  func (s ListDatasetContentsOutput) GoString() string {
  9241  	return s.String()
  9242  }
  9243  
  9244  // SetDatasetContentSummaries sets the DatasetContentSummaries field's value.
  9245  func (s *ListDatasetContentsOutput) SetDatasetContentSummaries(v []*DatasetContentSummary) *ListDatasetContentsOutput {
  9246  	s.DatasetContentSummaries = v
  9247  	return s
  9248  }
  9249  
  9250  // SetNextToken sets the NextToken field's value.
  9251  func (s *ListDatasetContentsOutput) SetNextToken(v string) *ListDatasetContentsOutput {
  9252  	s.NextToken = &v
  9253  	return s
  9254  }
  9255  
  9256  type ListDatasetsInput struct {
  9257  	_ struct{} `type:"structure" nopayload:"true"`
  9258  
  9259  	// The maximum number of results to return in this request.
  9260  	//
  9261  	// The default value is 100.
  9262  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  9263  
  9264  	// The token for the next set of results.
  9265  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  9266  }
  9267  
  9268  // String returns the string representation.
  9269  //
  9270  // API parameter values that are decorated as "sensitive" in the API will not
  9271  // be included in the string output. The member name will be present, but the
  9272  // value will be replaced with "sensitive".
  9273  func (s ListDatasetsInput) String() string {
  9274  	return awsutil.Prettify(s)
  9275  }
  9276  
  9277  // GoString returns the string representation.
  9278  //
  9279  // API parameter values that are decorated as "sensitive" in the API will not
  9280  // be included in the string output. The member name will be present, but the
  9281  // value will be replaced with "sensitive".
  9282  func (s ListDatasetsInput) GoString() string {
  9283  	return s.String()
  9284  }
  9285  
  9286  // Validate inspects the fields of the type to determine if they are valid.
  9287  func (s *ListDatasetsInput) Validate() error {
  9288  	invalidParams := request.ErrInvalidParams{Context: "ListDatasetsInput"}
  9289  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9290  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9291  	}
  9292  
  9293  	if invalidParams.Len() > 0 {
  9294  		return invalidParams
  9295  	}
  9296  	return nil
  9297  }
  9298  
  9299  // SetMaxResults sets the MaxResults field's value.
  9300  func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput {
  9301  	s.MaxResults = &v
  9302  	return s
  9303  }
  9304  
  9305  // SetNextToken sets the NextToken field's value.
  9306  func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput {
  9307  	s.NextToken = &v
  9308  	return s
  9309  }
  9310  
  9311  type ListDatasetsOutput struct {
  9312  	_ struct{} `type:"structure"`
  9313  
  9314  	// A list of DatasetSummary objects.
  9315  	DatasetSummaries []*DatasetSummary `locationName:"datasetSummaries" type:"list"`
  9316  
  9317  	// The token to retrieve the next set of results, or null if there are no more
  9318  	// results.
  9319  	NextToken *string `locationName:"nextToken" type:"string"`
  9320  }
  9321  
  9322  // String returns the string representation.
  9323  //
  9324  // API parameter values that are decorated as "sensitive" in the API will not
  9325  // be included in the string output. The member name will be present, but the
  9326  // value will be replaced with "sensitive".
  9327  func (s ListDatasetsOutput) String() string {
  9328  	return awsutil.Prettify(s)
  9329  }
  9330  
  9331  // GoString returns the string representation.
  9332  //
  9333  // API parameter values that are decorated as "sensitive" in the API will not
  9334  // be included in the string output. The member name will be present, but the
  9335  // value will be replaced with "sensitive".
  9336  func (s ListDatasetsOutput) GoString() string {
  9337  	return s.String()
  9338  }
  9339  
  9340  // SetDatasetSummaries sets the DatasetSummaries field's value.
  9341  func (s *ListDatasetsOutput) SetDatasetSummaries(v []*DatasetSummary) *ListDatasetsOutput {
  9342  	s.DatasetSummaries = v
  9343  	return s
  9344  }
  9345  
  9346  // SetNextToken sets the NextToken field's value.
  9347  func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput {
  9348  	s.NextToken = &v
  9349  	return s
  9350  }
  9351  
  9352  type ListDatastoresInput struct {
  9353  	_ struct{} `type:"structure" nopayload:"true"`
  9354  
  9355  	// The maximum number of results to return in this request.
  9356  	//
  9357  	// The default value is 100.
  9358  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  9359  
  9360  	// The token for the next set of results.
  9361  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  9362  }
  9363  
  9364  // String returns the string representation.
  9365  //
  9366  // API parameter values that are decorated as "sensitive" in the API will not
  9367  // be included in the string output. The member name will be present, but the
  9368  // value will be replaced with "sensitive".
  9369  func (s ListDatastoresInput) String() string {
  9370  	return awsutil.Prettify(s)
  9371  }
  9372  
  9373  // GoString returns the string representation.
  9374  //
  9375  // API parameter values that are decorated as "sensitive" in the API will not
  9376  // be included in the string output. The member name will be present, but the
  9377  // value will be replaced with "sensitive".
  9378  func (s ListDatastoresInput) GoString() string {
  9379  	return s.String()
  9380  }
  9381  
  9382  // Validate inspects the fields of the type to determine if they are valid.
  9383  func (s *ListDatastoresInput) Validate() error {
  9384  	invalidParams := request.ErrInvalidParams{Context: "ListDatastoresInput"}
  9385  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9386  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9387  	}
  9388  
  9389  	if invalidParams.Len() > 0 {
  9390  		return invalidParams
  9391  	}
  9392  	return nil
  9393  }
  9394  
  9395  // SetMaxResults sets the MaxResults field's value.
  9396  func (s *ListDatastoresInput) SetMaxResults(v int64) *ListDatastoresInput {
  9397  	s.MaxResults = &v
  9398  	return s
  9399  }
  9400  
  9401  // SetNextToken sets the NextToken field's value.
  9402  func (s *ListDatastoresInput) SetNextToken(v string) *ListDatastoresInput {
  9403  	s.NextToken = &v
  9404  	return s
  9405  }
  9406  
  9407  type ListDatastoresOutput struct {
  9408  	_ struct{} `type:"structure"`
  9409  
  9410  	// A list of DatastoreSummary objects.
  9411  	DatastoreSummaries []*DatastoreSummary `locationName:"datastoreSummaries" type:"list"`
  9412  
  9413  	// The token to retrieve the next set of results, or null if there are no more
  9414  	// results.
  9415  	NextToken *string `locationName:"nextToken" type:"string"`
  9416  }
  9417  
  9418  // String returns the string representation.
  9419  //
  9420  // API parameter values that are decorated as "sensitive" in the API will not
  9421  // be included in the string output. The member name will be present, but the
  9422  // value will be replaced with "sensitive".
  9423  func (s ListDatastoresOutput) String() string {
  9424  	return awsutil.Prettify(s)
  9425  }
  9426  
  9427  // GoString returns the string representation.
  9428  //
  9429  // API parameter values that are decorated as "sensitive" in the API will not
  9430  // be included in the string output. The member name will be present, but the
  9431  // value will be replaced with "sensitive".
  9432  func (s ListDatastoresOutput) GoString() string {
  9433  	return s.String()
  9434  }
  9435  
  9436  // SetDatastoreSummaries sets the DatastoreSummaries field's value.
  9437  func (s *ListDatastoresOutput) SetDatastoreSummaries(v []*DatastoreSummary) *ListDatastoresOutput {
  9438  	s.DatastoreSummaries = v
  9439  	return s
  9440  }
  9441  
  9442  // SetNextToken sets the NextToken field's value.
  9443  func (s *ListDatastoresOutput) SetNextToken(v string) *ListDatastoresOutput {
  9444  	s.NextToken = &v
  9445  	return s
  9446  }
  9447  
  9448  type ListPipelinesInput struct {
  9449  	_ struct{} `type:"structure" nopayload:"true"`
  9450  
  9451  	// The maximum number of results to return in this request.
  9452  	//
  9453  	// The default value is 100.
  9454  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  9455  
  9456  	// The token for the next set of results.
  9457  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  9458  }
  9459  
  9460  // String returns the string representation.
  9461  //
  9462  // API parameter values that are decorated as "sensitive" in the API will not
  9463  // be included in the string output. The member name will be present, but the
  9464  // value will be replaced with "sensitive".
  9465  func (s ListPipelinesInput) String() string {
  9466  	return awsutil.Prettify(s)
  9467  }
  9468  
  9469  // GoString returns the string representation.
  9470  //
  9471  // API parameter values that are decorated as "sensitive" in the API will not
  9472  // be included in the string output. The member name will be present, but the
  9473  // value will be replaced with "sensitive".
  9474  func (s ListPipelinesInput) GoString() string {
  9475  	return s.String()
  9476  }
  9477  
  9478  // Validate inspects the fields of the type to determine if they are valid.
  9479  func (s *ListPipelinesInput) Validate() error {
  9480  	invalidParams := request.ErrInvalidParams{Context: "ListPipelinesInput"}
  9481  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9482  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9483  	}
  9484  
  9485  	if invalidParams.Len() > 0 {
  9486  		return invalidParams
  9487  	}
  9488  	return nil
  9489  }
  9490  
  9491  // SetMaxResults sets the MaxResults field's value.
  9492  func (s *ListPipelinesInput) SetMaxResults(v int64) *ListPipelinesInput {
  9493  	s.MaxResults = &v
  9494  	return s
  9495  }
  9496  
  9497  // SetNextToken sets the NextToken field's value.
  9498  func (s *ListPipelinesInput) SetNextToken(v string) *ListPipelinesInput {
  9499  	s.NextToken = &v
  9500  	return s
  9501  }
  9502  
  9503  type ListPipelinesOutput struct {
  9504  	_ struct{} `type:"structure"`
  9505  
  9506  	// The token to retrieve the next set of results, or null if there are no more
  9507  	// results.
  9508  	NextToken *string `locationName:"nextToken" type:"string"`
  9509  
  9510  	// A list of PipelineSummary objects.
  9511  	PipelineSummaries []*PipelineSummary `locationName:"pipelineSummaries" type:"list"`
  9512  }
  9513  
  9514  // String returns the string representation.
  9515  //
  9516  // API parameter values that are decorated as "sensitive" in the API will not
  9517  // be included in the string output. The member name will be present, but the
  9518  // value will be replaced with "sensitive".
  9519  func (s ListPipelinesOutput) String() string {
  9520  	return awsutil.Prettify(s)
  9521  }
  9522  
  9523  // GoString returns the string representation.
  9524  //
  9525  // API parameter values that are decorated as "sensitive" in the API will not
  9526  // be included in the string output. The member name will be present, but the
  9527  // value will be replaced with "sensitive".
  9528  func (s ListPipelinesOutput) GoString() string {
  9529  	return s.String()
  9530  }
  9531  
  9532  // SetNextToken sets the NextToken field's value.
  9533  func (s *ListPipelinesOutput) SetNextToken(v string) *ListPipelinesOutput {
  9534  	s.NextToken = &v
  9535  	return s
  9536  }
  9537  
  9538  // SetPipelineSummaries sets the PipelineSummaries field's value.
  9539  func (s *ListPipelinesOutput) SetPipelineSummaries(v []*PipelineSummary) *ListPipelinesOutput {
  9540  	s.PipelineSummaries = v
  9541  	return s
  9542  }
  9543  
  9544  type ListTagsForResourceInput struct {
  9545  	_ struct{} `type:"structure" nopayload:"true"`
  9546  
  9547  	// The ARN of the resource whose tags you want to list.
  9548  	//
  9549  	// ResourceArn is a required field
  9550  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"20" type:"string" required:"true"`
  9551  }
  9552  
  9553  // String returns the string representation.
  9554  //
  9555  // API parameter values that are decorated as "sensitive" in the API will not
  9556  // be included in the string output. The member name will be present, but the
  9557  // value will be replaced with "sensitive".
  9558  func (s ListTagsForResourceInput) String() string {
  9559  	return awsutil.Prettify(s)
  9560  }
  9561  
  9562  // GoString returns the string representation.
  9563  //
  9564  // API parameter values that are decorated as "sensitive" in the API will not
  9565  // be included in the string output. The member name will be present, but the
  9566  // value will be replaced with "sensitive".
  9567  func (s ListTagsForResourceInput) GoString() string {
  9568  	return s.String()
  9569  }
  9570  
  9571  // Validate inspects the fields of the type to determine if they are valid.
  9572  func (s *ListTagsForResourceInput) Validate() error {
  9573  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  9574  	if s.ResourceArn == nil {
  9575  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  9576  	}
  9577  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
  9578  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
  9579  	}
  9580  
  9581  	if invalidParams.Len() > 0 {
  9582  		return invalidParams
  9583  	}
  9584  	return nil
  9585  }
  9586  
  9587  // SetResourceArn sets the ResourceArn field's value.
  9588  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  9589  	s.ResourceArn = &v
  9590  	return s
  9591  }
  9592  
  9593  type ListTagsForResourceOutput struct {
  9594  	_ struct{} `type:"structure"`
  9595  
  9596  	// The tags (metadata) that you have assigned to the resource.
  9597  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
  9598  }
  9599  
  9600  // String returns the string representation.
  9601  //
  9602  // API parameter values that are decorated as "sensitive" in the API will not
  9603  // be included in the string output. The member name will be present, but the
  9604  // value will be replaced with "sensitive".
  9605  func (s ListTagsForResourceOutput) String() string {
  9606  	return awsutil.Prettify(s)
  9607  }
  9608  
  9609  // GoString returns the string representation.
  9610  //
  9611  // API parameter values that are decorated as "sensitive" in the API will not
  9612  // be included in the string output. The member name will be present, but the
  9613  // value will be replaced with "sensitive".
  9614  func (s ListTagsForResourceOutput) GoString() string {
  9615  	return s.String()
  9616  }
  9617  
  9618  // SetTags sets the Tags field's value.
  9619  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  9620  	s.Tags = v
  9621  	return s
  9622  }
  9623  
  9624  // Information about logging options.
  9625  type LoggingOptions struct {
  9626  	_ struct{} `type:"structure"`
  9627  
  9628  	// If true, logging is enabled for IoT Analytics.
  9629  	//
  9630  	// Enabled is a required field
  9631  	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  9632  
  9633  	// The logging level. Currently, only ERROR is supported.
  9634  	//
  9635  	// Level is a required field
  9636  	Level *string `locationName:"level" type:"string" required:"true" enum:"LoggingLevel"`
  9637  
  9638  	// The ARN of the role that grants permission to IoT Analytics to perform logging.
  9639  	//
  9640  	// RoleArn is a required field
  9641  	RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"`
  9642  }
  9643  
  9644  // String returns the string representation.
  9645  //
  9646  // API parameter values that are decorated as "sensitive" in the API will not
  9647  // be included in the string output. The member name will be present, but the
  9648  // value will be replaced with "sensitive".
  9649  func (s LoggingOptions) String() string {
  9650  	return awsutil.Prettify(s)
  9651  }
  9652  
  9653  // GoString returns the string representation.
  9654  //
  9655  // API parameter values that are decorated as "sensitive" in the API will not
  9656  // be included in the string output. The member name will be present, but the
  9657  // value will be replaced with "sensitive".
  9658  func (s LoggingOptions) GoString() string {
  9659  	return s.String()
  9660  }
  9661  
  9662  // Validate inspects the fields of the type to determine if they are valid.
  9663  func (s *LoggingOptions) Validate() error {
  9664  	invalidParams := request.ErrInvalidParams{Context: "LoggingOptions"}
  9665  	if s.Enabled == nil {
  9666  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  9667  	}
  9668  	if s.Level == nil {
  9669  		invalidParams.Add(request.NewErrParamRequired("Level"))
  9670  	}
  9671  	if s.RoleArn == nil {
  9672  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  9673  	}
  9674  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  9675  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  9676  	}
  9677  
  9678  	if invalidParams.Len() > 0 {
  9679  		return invalidParams
  9680  	}
  9681  	return nil
  9682  }
  9683  
  9684  // SetEnabled sets the Enabled field's value.
  9685  func (s *LoggingOptions) SetEnabled(v bool) *LoggingOptions {
  9686  	s.Enabled = &v
  9687  	return s
  9688  }
  9689  
  9690  // SetLevel sets the Level field's value.
  9691  func (s *LoggingOptions) SetLevel(v string) *LoggingOptions {
  9692  	s.Level = &v
  9693  	return s
  9694  }
  9695  
  9696  // SetRoleArn sets the RoleArn field's value.
  9697  func (s *LoggingOptions) SetRoleArn(v string) *LoggingOptions {
  9698  	s.RoleArn = &v
  9699  	return s
  9700  }
  9701  
  9702  // An activity that computes an arithmetic expression using the message's attributes.
  9703  type MathActivity struct {
  9704  	_ struct{} `type:"structure"`
  9705  
  9706  	// The name of the attribute that contains the result of the math operation.
  9707  	//
  9708  	// Attribute is a required field
  9709  	Attribute *string `locationName:"attribute" min:"1" type:"string" required:"true"`
  9710  
  9711  	// An expression that uses one or more existing attributes and must return an
  9712  	// integer value.
  9713  	//
  9714  	// Math is a required field
  9715  	Math *string `locationName:"math" min:"1" type:"string" required:"true"`
  9716  
  9717  	// The name of the math activity.
  9718  	//
  9719  	// Name is a required field
  9720  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  9721  
  9722  	// The next activity in the pipeline.
  9723  	Next *string `locationName:"next" min:"1" type:"string"`
  9724  }
  9725  
  9726  // String returns the string representation.
  9727  //
  9728  // API parameter values that are decorated as "sensitive" in the API will not
  9729  // be included in the string output. The member name will be present, but the
  9730  // value will be replaced with "sensitive".
  9731  func (s MathActivity) String() string {
  9732  	return awsutil.Prettify(s)
  9733  }
  9734  
  9735  // GoString returns the string representation.
  9736  //
  9737  // API parameter values that are decorated as "sensitive" in the API will not
  9738  // be included in the string output. The member name will be present, but the
  9739  // value will be replaced with "sensitive".
  9740  func (s MathActivity) GoString() string {
  9741  	return s.String()
  9742  }
  9743  
  9744  // Validate inspects the fields of the type to determine if they are valid.
  9745  func (s *MathActivity) Validate() error {
  9746  	invalidParams := request.ErrInvalidParams{Context: "MathActivity"}
  9747  	if s.Attribute == nil {
  9748  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
  9749  	}
  9750  	if s.Attribute != nil && len(*s.Attribute) < 1 {
  9751  		invalidParams.Add(request.NewErrParamMinLen("Attribute", 1))
  9752  	}
  9753  	if s.Math == nil {
  9754  		invalidParams.Add(request.NewErrParamRequired("Math"))
  9755  	}
  9756  	if s.Math != nil && len(*s.Math) < 1 {
  9757  		invalidParams.Add(request.NewErrParamMinLen("Math", 1))
  9758  	}
  9759  	if s.Name == nil {
  9760  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9761  	}
  9762  	if s.Name != nil && len(*s.Name) < 1 {
  9763  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9764  	}
  9765  	if s.Next != nil && len(*s.Next) < 1 {
  9766  		invalidParams.Add(request.NewErrParamMinLen("Next", 1))
  9767  	}
  9768  
  9769  	if invalidParams.Len() > 0 {
  9770  		return invalidParams
  9771  	}
  9772  	return nil
  9773  }
  9774  
  9775  // SetAttribute sets the Attribute field's value.
  9776  func (s *MathActivity) SetAttribute(v string) *MathActivity {
  9777  	s.Attribute = &v
  9778  	return s
  9779  }
  9780  
  9781  // SetMath sets the Math field's value.
  9782  func (s *MathActivity) SetMath(v string) *MathActivity {
  9783  	s.Math = &v
  9784  	return s
  9785  }
  9786  
  9787  // SetName sets the Name field's value.
  9788  func (s *MathActivity) SetName(v string) *MathActivity {
  9789  	s.Name = &v
  9790  	return s
  9791  }
  9792  
  9793  // SetNext sets the Next field's value.
  9794  func (s *MathActivity) SetNext(v string) *MathActivity {
  9795  	s.Next = &v
  9796  	return s
  9797  }
  9798  
  9799  // Information about a message.
  9800  type Message struct {
  9801  	_ struct{} `type:"structure"`
  9802  
  9803  	// The ID you want to assign to the message. Each messageId must be unique within
  9804  	// each batch sent.
  9805  	//
  9806  	// MessageId is a required field
  9807  	MessageId *string `locationName:"messageId" min:"1" type:"string" required:"true"`
  9808  
  9809  	// The payload of the message. This can be a JSON string or a base64-encoded
  9810  	// string representing binary data, in which case you must decode it by means
  9811  	// of a pipeline activity.
  9812  	// Payload is automatically base64 encoded/decoded by the SDK.
  9813  	//
  9814  	// Payload is a required field
  9815  	Payload []byte `locationName:"payload" type:"blob" required:"true"`
  9816  }
  9817  
  9818  // String returns the string representation.
  9819  //
  9820  // API parameter values that are decorated as "sensitive" in the API will not
  9821  // be included in the string output. The member name will be present, but the
  9822  // value will be replaced with "sensitive".
  9823  func (s Message) String() string {
  9824  	return awsutil.Prettify(s)
  9825  }
  9826  
  9827  // GoString returns the string representation.
  9828  //
  9829  // API parameter values that are decorated as "sensitive" in the API will not
  9830  // be included in the string output. The member name will be present, but the
  9831  // value will be replaced with "sensitive".
  9832  func (s Message) GoString() string {
  9833  	return s.String()
  9834  }
  9835  
  9836  // Validate inspects the fields of the type to determine if they are valid.
  9837  func (s *Message) Validate() error {
  9838  	invalidParams := request.ErrInvalidParams{Context: "Message"}
  9839  	if s.MessageId == nil {
  9840  		invalidParams.Add(request.NewErrParamRequired("MessageId"))
  9841  	}
  9842  	if s.MessageId != nil && len(*s.MessageId) < 1 {
  9843  		invalidParams.Add(request.NewErrParamMinLen("MessageId", 1))
  9844  	}
  9845  	if s.Payload == nil {
  9846  		invalidParams.Add(request.NewErrParamRequired("Payload"))
  9847  	}
  9848  
  9849  	if invalidParams.Len() > 0 {
  9850  		return invalidParams
  9851  	}
  9852  	return nil
  9853  }
  9854  
  9855  // SetMessageId sets the MessageId field's value.
  9856  func (s *Message) SetMessageId(v string) *Message {
  9857  	s.MessageId = &v
  9858  	return s
  9859  }
  9860  
  9861  // SetPayload sets the Payload field's value.
  9862  func (s *Message) SetPayload(v []byte) *Message {
  9863  	s.Payload = v
  9864  	return s
  9865  }
  9866  
  9867  // The value of the variable as a structure that specifies an output file URI.
  9868  type OutputFileUriValue struct {
  9869  	_ struct{} `type:"structure"`
  9870  
  9871  	// The URI of the location where dataset contents are stored, usually the URI
  9872  	// of a file in an S3 bucket.
  9873  	//
  9874  	// FileName is a required field
  9875  	FileName *string `locationName:"fileName" type:"string" required:"true"`
  9876  }
  9877  
  9878  // String returns the string representation.
  9879  //
  9880  // API parameter values that are decorated as "sensitive" in the API will not
  9881  // be included in the string output. The member name will be present, but the
  9882  // value will be replaced with "sensitive".
  9883  func (s OutputFileUriValue) String() string {
  9884  	return awsutil.Prettify(s)
  9885  }
  9886  
  9887  // GoString returns the string representation.
  9888  //
  9889  // API parameter values that are decorated as "sensitive" in the API will not
  9890  // be included in the string output. The member name will be present, but the
  9891  // value will be replaced with "sensitive".
  9892  func (s OutputFileUriValue) GoString() string {
  9893  	return s.String()
  9894  }
  9895  
  9896  // Validate inspects the fields of the type to determine if they are valid.
  9897  func (s *OutputFileUriValue) Validate() error {
  9898  	invalidParams := request.ErrInvalidParams{Context: "OutputFileUriValue"}
  9899  	if s.FileName == nil {
  9900  		invalidParams.Add(request.NewErrParamRequired("FileName"))
  9901  	}
  9902  
  9903  	if invalidParams.Len() > 0 {
  9904  		return invalidParams
  9905  	}
  9906  	return nil
  9907  }
  9908  
  9909  // SetFileName sets the FileName field's value.
  9910  func (s *OutputFileUriValue) SetFileName(v string) *OutputFileUriValue {
  9911  	s.FileName = &v
  9912  	return s
  9913  }
  9914  
  9915  // Contains the configuration information of the Parquet format.
  9916  type ParquetConfiguration struct {
  9917  	_ struct{} `type:"structure"`
  9918  
  9919  	// Information needed to define a schema.
  9920  	SchemaDefinition *SchemaDefinition `locationName:"schemaDefinition" type:"structure"`
  9921  }
  9922  
  9923  // String returns the string representation.
  9924  //
  9925  // API parameter values that are decorated as "sensitive" in the API will not
  9926  // be included in the string output. The member name will be present, but the
  9927  // value will be replaced with "sensitive".
  9928  func (s ParquetConfiguration) String() string {
  9929  	return awsutil.Prettify(s)
  9930  }
  9931  
  9932  // GoString returns the string representation.
  9933  //
  9934  // API parameter values that are decorated as "sensitive" in the API will not
  9935  // be included in the string output. The member name will be present, but the
  9936  // value will be replaced with "sensitive".
  9937  func (s ParquetConfiguration) GoString() string {
  9938  	return s.String()
  9939  }
  9940  
  9941  // Validate inspects the fields of the type to determine if they are valid.
  9942  func (s *ParquetConfiguration) Validate() error {
  9943  	invalidParams := request.ErrInvalidParams{Context: "ParquetConfiguration"}
  9944  	if s.SchemaDefinition != nil {
  9945  		if err := s.SchemaDefinition.Validate(); err != nil {
  9946  			invalidParams.AddNested("SchemaDefinition", err.(request.ErrInvalidParams))
  9947  		}
  9948  	}
  9949  
  9950  	if invalidParams.Len() > 0 {
  9951  		return invalidParams
  9952  	}
  9953  	return nil
  9954  }
  9955  
  9956  // SetSchemaDefinition sets the SchemaDefinition field's value.
  9957  func (s *ParquetConfiguration) SetSchemaDefinition(v *SchemaDefinition) *ParquetConfiguration {
  9958  	s.SchemaDefinition = v
  9959  	return s
  9960  }
  9961  
  9962  // A partition dimension defined by an attribute.
  9963  type Partition struct {
  9964  	_ struct{} `type:"structure"`
  9965  
  9966  	// The name of the attribute that defines a partition dimension.
  9967  	//
  9968  	// AttributeName is a required field
  9969  	AttributeName *string `locationName:"attributeName" min:"1" type:"string" required:"true"`
  9970  }
  9971  
  9972  // String returns the string representation.
  9973  //
  9974  // API parameter values that are decorated as "sensitive" in the API will not
  9975  // be included in the string output. The member name will be present, but the
  9976  // value will be replaced with "sensitive".
  9977  func (s Partition) String() string {
  9978  	return awsutil.Prettify(s)
  9979  }
  9980  
  9981  // GoString returns the string representation.
  9982  //
  9983  // API parameter values that are decorated as "sensitive" in the API will not
  9984  // be included in the string output. The member name will be present, but the
  9985  // value will be replaced with "sensitive".
  9986  func (s Partition) GoString() string {
  9987  	return s.String()
  9988  }
  9989  
  9990  // Validate inspects the fields of the type to determine if they are valid.
  9991  func (s *Partition) Validate() error {
  9992  	invalidParams := request.ErrInvalidParams{Context: "Partition"}
  9993  	if s.AttributeName == nil {
  9994  		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
  9995  	}
  9996  	if s.AttributeName != nil && len(*s.AttributeName) < 1 {
  9997  		invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
  9998  	}
  9999  
 10000  	if invalidParams.Len() > 0 {
 10001  		return invalidParams
 10002  	}
 10003  	return nil
 10004  }
 10005  
 10006  // SetAttributeName sets the AttributeName field's value.
 10007  func (s *Partition) SetAttributeName(v string) *Partition {
 10008  	s.AttributeName = &v
 10009  	return s
 10010  }
 10011  
 10012  // Contains information about a pipeline.
 10013  type Pipeline struct {
 10014  	_ struct{} `type:"structure"`
 10015  
 10016  	// The activities that perform transformations on the messages.
 10017  	Activities []*PipelineActivity `locationName:"activities" min:"1" type:"list"`
 10018  
 10019  	// The ARN of the pipeline.
 10020  	Arn *string `locationName:"arn" type:"string"`
 10021  
 10022  	// When the pipeline was created.
 10023  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
 10024  
 10025  	// The last time the pipeline was updated.
 10026  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
 10027  
 10028  	// The name of the pipeline.
 10029  	Name *string `locationName:"name" min:"1" type:"string"`
 10030  
 10031  	// A summary of information about the pipeline reprocessing.
 10032  	ReprocessingSummaries []*ReprocessingSummary `locationName:"reprocessingSummaries" type:"list"`
 10033  }
 10034  
 10035  // String returns the string representation.
 10036  //
 10037  // API parameter values that are decorated as "sensitive" in the API will not
 10038  // be included in the string output. The member name will be present, but the
 10039  // value will be replaced with "sensitive".
 10040  func (s Pipeline) String() string {
 10041  	return awsutil.Prettify(s)
 10042  }
 10043  
 10044  // GoString returns the string representation.
 10045  //
 10046  // API parameter values that are decorated as "sensitive" in the API will not
 10047  // be included in the string output. The member name will be present, but the
 10048  // value will be replaced with "sensitive".
 10049  func (s Pipeline) GoString() string {
 10050  	return s.String()
 10051  }
 10052  
 10053  // SetActivities sets the Activities field's value.
 10054  func (s *Pipeline) SetActivities(v []*PipelineActivity) *Pipeline {
 10055  	s.Activities = v
 10056  	return s
 10057  }
 10058  
 10059  // SetArn sets the Arn field's value.
 10060  func (s *Pipeline) SetArn(v string) *Pipeline {
 10061  	s.Arn = &v
 10062  	return s
 10063  }
 10064  
 10065  // SetCreationTime sets the CreationTime field's value.
 10066  func (s *Pipeline) SetCreationTime(v time.Time) *Pipeline {
 10067  	s.CreationTime = &v
 10068  	return s
 10069  }
 10070  
 10071  // SetLastUpdateTime sets the LastUpdateTime field's value.
 10072  func (s *Pipeline) SetLastUpdateTime(v time.Time) *Pipeline {
 10073  	s.LastUpdateTime = &v
 10074  	return s
 10075  }
 10076  
 10077  // SetName sets the Name field's value.
 10078  func (s *Pipeline) SetName(v string) *Pipeline {
 10079  	s.Name = &v
 10080  	return s
 10081  }
 10082  
 10083  // SetReprocessingSummaries sets the ReprocessingSummaries field's value.
 10084  func (s *Pipeline) SetReprocessingSummaries(v []*ReprocessingSummary) *Pipeline {
 10085  	s.ReprocessingSummaries = v
 10086  	return s
 10087  }
 10088  
 10089  // An activity that performs a transformation on a message.
 10090  type PipelineActivity struct {
 10091  	_ struct{} `type:"structure"`
 10092  
 10093  	// Adds other attributes based on existing attributes in the message.
 10094  	AddAttributes *AddAttributesActivity `locationName:"addAttributes" type:"structure"`
 10095  
 10096  	// Determines the source of the messages to be processed.
 10097  	Channel *ChannelActivity `locationName:"channel" type:"structure"`
 10098  
 10099  	// Specifies where to store the processed message data.
 10100  	Datastore *DatastoreActivity `locationName:"datastore" type:"structure"`
 10101  
 10102  	// Adds data from the IoT device registry to your message.
 10103  	DeviceRegistryEnrich *DeviceRegistryEnrichActivity `locationName:"deviceRegistryEnrich" type:"structure"`
 10104  
 10105  	// Adds information from the IoT Device Shadow service to a message.
 10106  	DeviceShadowEnrich *DeviceShadowEnrichActivity `locationName:"deviceShadowEnrich" type:"structure"`
 10107  
 10108  	// Filters a message based on its attributes.
 10109  	Filter *FilterActivity `locationName:"filter" type:"structure"`
 10110  
 10111  	// Runs a Lambda function to modify the message.
 10112  	Lambda *LambdaActivity `locationName:"lambda" type:"structure"`
 10113  
 10114  	// Computes an arithmetic expression using the message's attributes and adds
 10115  	// it to the message.
 10116  	Math *MathActivity `locationName:"math" type:"structure"`
 10117  
 10118  	// Removes attributes from a message.
 10119  	RemoveAttributes *RemoveAttributesActivity `locationName:"removeAttributes" type:"structure"`
 10120  
 10121  	// Used to create a new message using only the specified attributes from the
 10122  	// original message.
 10123  	SelectAttributes *SelectAttributesActivity `locationName:"selectAttributes" type:"structure"`
 10124  }
 10125  
 10126  // String returns the string representation.
 10127  //
 10128  // API parameter values that are decorated as "sensitive" in the API will not
 10129  // be included in the string output. The member name will be present, but the
 10130  // value will be replaced with "sensitive".
 10131  func (s PipelineActivity) String() string {
 10132  	return awsutil.Prettify(s)
 10133  }
 10134  
 10135  // GoString returns the string representation.
 10136  //
 10137  // API parameter values that are decorated as "sensitive" in the API will not
 10138  // be included in the string output. The member name will be present, but the
 10139  // value will be replaced with "sensitive".
 10140  func (s PipelineActivity) GoString() string {
 10141  	return s.String()
 10142  }
 10143  
 10144  // Validate inspects the fields of the type to determine if they are valid.
 10145  func (s *PipelineActivity) Validate() error {
 10146  	invalidParams := request.ErrInvalidParams{Context: "PipelineActivity"}
 10147  	if s.AddAttributes != nil {
 10148  		if err := s.AddAttributes.Validate(); err != nil {
 10149  			invalidParams.AddNested("AddAttributes", err.(request.ErrInvalidParams))
 10150  		}
 10151  	}
 10152  	if s.Channel != nil {
 10153  		if err := s.Channel.Validate(); err != nil {
 10154  			invalidParams.AddNested("Channel", err.(request.ErrInvalidParams))
 10155  		}
 10156  	}
 10157  	if s.Datastore != nil {
 10158  		if err := s.Datastore.Validate(); err != nil {
 10159  			invalidParams.AddNested("Datastore", err.(request.ErrInvalidParams))
 10160  		}
 10161  	}
 10162  	if s.DeviceRegistryEnrich != nil {
 10163  		if err := s.DeviceRegistryEnrich.Validate(); err != nil {
 10164  			invalidParams.AddNested("DeviceRegistryEnrich", err.(request.ErrInvalidParams))
 10165  		}
 10166  	}
 10167  	if s.DeviceShadowEnrich != nil {
 10168  		if err := s.DeviceShadowEnrich.Validate(); err != nil {
 10169  			invalidParams.AddNested("DeviceShadowEnrich", err.(request.ErrInvalidParams))
 10170  		}
 10171  	}
 10172  	if s.Filter != nil {
 10173  		if err := s.Filter.Validate(); err != nil {
 10174  			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
 10175  		}
 10176  	}
 10177  	if s.Lambda != nil {
 10178  		if err := s.Lambda.Validate(); err != nil {
 10179  			invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams))
 10180  		}
 10181  	}
 10182  	if s.Math != nil {
 10183  		if err := s.Math.Validate(); err != nil {
 10184  			invalidParams.AddNested("Math", err.(request.ErrInvalidParams))
 10185  		}
 10186  	}
 10187  	if s.RemoveAttributes != nil {
 10188  		if err := s.RemoveAttributes.Validate(); err != nil {
 10189  			invalidParams.AddNested("RemoveAttributes", err.(request.ErrInvalidParams))
 10190  		}
 10191  	}
 10192  	if s.SelectAttributes != nil {
 10193  		if err := s.SelectAttributes.Validate(); err != nil {
 10194  			invalidParams.AddNested("SelectAttributes", err.(request.ErrInvalidParams))
 10195  		}
 10196  	}
 10197  
 10198  	if invalidParams.Len() > 0 {
 10199  		return invalidParams
 10200  	}
 10201  	return nil
 10202  }
 10203  
 10204  // SetAddAttributes sets the AddAttributes field's value.
 10205  func (s *PipelineActivity) SetAddAttributes(v *AddAttributesActivity) *PipelineActivity {
 10206  	s.AddAttributes = v
 10207  	return s
 10208  }
 10209  
 10210  // SetChannel sets the Channel field's value.
 10211  func (s *PipelineActivity) SetChannel(v *ChannelActivity) *PipelineActivity {
 10212  	s.Channel = v
 10213  	return s
 10214  }
 10215  
 10216  // SetDatastore sets the Datastore field's value.
 10217  func (s *PipelineActivity) SetDatastore(v *DatastoreActivity) *PipelineActivity {
 10218  	s.Datastore = v
 10219  	return s
 10220  }
 10221  
 10222  // SetDeviceRegistryEnrich sets the DeviceRegistryEnrich field's value.
 10223  func (s *PipelineActivity) SetDeviceRegistryEnrich(v *DeviceRegistryEnrichActivity) *PipelineActivity {
 10224  	s.DeviceRegistryEnrich = v
 10225  	return s
 10226  }
 10227  
 10228  // SetDeviceShadowEnrich sets the DeviceShadowEnrich field's value.
 10229  func (s *PipelineActivity) SetDeviceShadowEnrich(v *DeviceShadowEnrichActivity) *PipelineActivity {
 10230  	s.DeviceShadowEnrich = v
 10231  	return s
 10232  }
 10233  
 10234  // SetFilter sets the Filter field's value.
 10235  func (s *PipelineActivity) SetFilter(v *FilterActivity) *PipelineActivity {
 10236  	s.Filter = v
 10237  	return s
 10238  }
 10239  
 10240  // SetLambda sets the Lambda field's value.
 10241  func (s *PipelineActivity) SetLambda(v *LambdaActivity) *PipelineActivity {
 10242  	s.Lambda = v
 10243  	return s
 10244  }
 10245  
 10246  // SetMath sets the Math field's value.
 10247  func (s *PipelineActivity) SetMath(v *MathActivity) *PipelineActivity {
 10248  	s.Math = v
 10249  	return s
 10250  }
 10251  
 10252  // SetRemoveAttributes sets the RemoveAttributes field's value.
 10253  func (s *PipelineActivity) SetRemoveAttributes(v *RemoveAttributesActivity) *PipelineActivity {
 10254  	s.RemoveAttributes = v
 10255  	return s
 10256  }
 10257  
 10258  // SetSelectAttributes sets the SelectAttributes field's value.
 10259  func (s *PipelineActivity) SetSelectAttributes(v *SelectAttributesActivity) *PipelineActivity {
 10260  	s.SelectAttributes = v
 10261  	return s
 10262  }
 10263  
 10264  // A summary of information about a pipeline.
 10265  type PipelineSummary struct {
 10266  	_ struct{} `type:"structure"`
 10267  
 10268  	// When the pipeline was created.
 10269  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
 10270  
 10271  	// When the pipeline was last updated.
 10272  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
 10273  
 10274  	// The name of the pipeline.
 10275  	PipelineName *string `locationName:"pipelineName" min:"1" type:"string"`
 10276  
 10277  	// A summary of information about the pipeline reprocessing.
 10278  	ReprocessingSummaries []*ReprocessingSummary `locationName:"reprocessingSummaries" type:"list"`
 10279  }
 10280  
 10281  // String returns the string representation.
 10282  //
 10283  // API parameter values that are decorated as "sensitive" in the API will not
 10284  // be included in the string output. The member name will be present, but the
 10285  // value will be replaced with "sensitive".
 10286  func (s PipelineSummary) String() string {
 10287  	return awsutil.Prettify(s)
 10288  }
 10289  
 10290  // GoString returns the string representation.
 10291  //
 10292  // API parameter values that are decorated as "sensitive" in the API will not
 10293  // be included in the string output. The member name will be present, but the
 10294  // value will be replaced with "sensitive".
 10295  func (s PipelineSummary) GoString() string {
 10296  	return s.String()
 10297  }
 10298  
 10299  // SetCreationTime sets the CreationTime field's value.
 10300  func (s *PipelineSummary) SetCreationTime(v time.Time) *PipelineSummary {
 10301  	s.CreationTime = &v
 10302  	return s
 10303  }
 10304  
 10305  // SetLastUpdateTime sets the LastUpdateTime field's value.
 10306  func (s *PipelineSummary) SetLastUpdateTime(v time.Time) *PipelineSummary {
 10307  	s.LastUpdateTime = &v
 10308  	return s
 10309  }
 10310  
 10311  // SetPipelineName sets the PipelineName field's value.
 10312  func (s *PipelineSummary) SetPipelineName(v string) *PipelineSummary {
 10313  	s.PipelineName = &v
 10314  	return s
 10315  }
 10316  
 10317  // SetReprocessingSummaries sets the ReprocessingSummaries field's value.
 10318  func (s *PipelineSummary) SetReprocessingSummaries(v []*ReprocessingSummary) *PipelineSummary {
 10319  	s.ReprocessingSummaries = v
 10320  	return s
 10321  }
 10322  
 10323  type PutLoggingOptionsInput struct {
 10324  	_ struct{} `type:"structure"`
 10325  
 10326  	// The new values of the IoT Analytics logging options.
 10327  	//
 10328  	// LoggingOptions is a required field
 10329  	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure" required:"true"`
 10330  }
 10331  
 10332  // String returns the string representation.
 10333  //
 10334  // API parameter values that are decorated as "sensitive" in the API will not
 10335  // be included in the string output. The member name will be present, but the
 10336  // value will be replaced with "sensitive".
 10337  func (s PutLoggingOptionsInput) String() string {
 10338  	return awsutil.Prettify(s)
 10339  }
 10340  
 10341  // GoString returns the string representation.
 10342  //
 10343  // API parameter values that are decorated as "sensitive" in the API will not
 10344  // be included in the string output. The member name will be present, but the
 10345  // value will be replaced with "sensitive".
 10346  func (s PutLoggingOptionsInput) GoString() string {
 10347  	return s.String()
 10348  }
 10349  
 10350  // Validate inspects the fields of the type to determine if they are valid.
 10351  func (s *PutLoggingOptionsInput) Validate() error {
 10352  	invalidParams := request.ErrInvalidParams{Context: "PutLoggingOptionsInput"}
 10353  	if s.LoggingOptions == nil {
 10354  		invalidParams.Add(request.NewErrParamRequired("LoggingOptions"))
 10355  	}
 10356  	if s.LoggingOptions != nil {
 10357  		if err := s.LoggingOptions.Validate(); err != nil {
 10358  			invalidParams.AddNested("LoggingOptions", err.(request.ErrInvalidParams))
 10359  		}
 10360  	}
 10361  
 10362  	if invalidParams.Len() > 0 {
 10363  		return invalidParams
 10364  	}
 10365  	return nil
 10366  }
 10367  
 10368  // SetLoggingOptions sets the LoggingOptions field's value.
 10369  func (s *PutLoggingOptionsInput) SetLoggingOptions(v *LoggingOptions) *PutLoggingOptionsInput {
 10370  	s.LoggingOptions = v
 10371  	return s
 10372  }
 10373  
 10374  type PutLoggingOptionsOutput struct {
 10375  	_ struct{} `type:"structure" nopayload:"true"`
 10376  }
 10377  
 10378  // String returns the string representation.
 10379  //
 10380  // API parameter values that are decorated as "sensitive" in the API will not
 10381  // be included in the string output. The member name will be present, but the
 10382  // value will be replaced with "sensitive".
 10383  func (s PutLoggingOptionsOutput) String() string {
 10384  	return awsutil.Prettify(s)
 10385  }
 10386  
 10387  // GoString returns the string representation.
 10388  //
 10389  // API parameter values that are decorated as "sensitive" in the API will not
 10390  // be included in the string output. The member name will be present, but the
 10391  // value will be replaced with "sensitive".
 10392  func (s PutLoggingOptionsOutput) GoString() string {
 10393  	return s.String()
 10394  }
 10395  
 10396  // Information that is used to filter message data, to segregate it according
 10397  // to the timeframe in which it arrives.
 10398  type QueryFilter struct {
 10399  	_ struct{} `type:"structure"`
 10400  
 10401  	// Used to limit data to that which has arrived since the last execution of
 10402  	// the action.
 10403  	DeltaTime *DeltaTime `locationName:"deltaTime" type:"structure"`
 10404  }
 10405  
 10406  // String returns the string representation.
 10407  //
 10408  // API parameter values that are decorated as "sensitive" in the API will not
 10409  // be included in the string output. The member name will be present, but the
 10410  // value will be replaced with "sensitive".
 10411  func (s QueryFilter) String() string {
 10412  	return awsutil.Prettify(s)
 10413  }
 10414  
 10415  // GoString returns the string representation.
 10416  //
 10417  // API parameter values that are decorated as "sensitive" in the API will not
 10418  // be included in the string output. The member name will be present, but the
 10419  // value will be replaced with "sensitive".
 10420  func (s QueryFilter) GoString() string {
 10421  	return s.String()
 10422  }
 10423  
 10424  // Validate inspects the fields of the type to determine if they are valid.
 10425  func (s *QueryFilter) Validate() error {
 10426  	invalidParams := request.ErrInvalidParams{Context: "QueryFilter"}
 10427  	if s.DeltaTime != nil {
 10428  		if err := s.DeltaTime.Validate(); err != nil {
 10429  			invalidParams.AddNested("DeltaTime", err.(request.ErrInvalidParams))
 10430  		}
 10431  	}
 10432  
 10433  	if invalidParams.Len() > 0 {
 10434  		return invalidParams
 10435  	}
 10436  	return nil
 10437  }
 10438  
 10439  // SetDeltaTime sets the DeltaTime field's value.
 10440  func (s *QueryFilter) SetDeltaTime(v *DeltaTime) *QueryFilter {
 10441  	s.DeltaTime = v
 10442  	return s
 10443  }
 10444  
 10445  // An activity that removes attributes from a message.
 10446  type RemoveAttributesActivity struct {
 10447  	_ struct{} `type:"structure"`
 10448  
 10449  	// A list of 1-50 attributes to remove from the message.
 10450  	//
 10451  	// Attributes is a required field
 10452  	Attributes []*string `locationName:"attributes" min:"1" type:"list" required:"true"`
 10453  
 10454  	// The name of the removeAttributes activity.
 10455  	//
 10456  	// Name is a required field
 10457  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 10458  
 10459  	// The next activity in the pipeline.
 10460  	Next *string `locationName:"next" min:"1" type:"string"`
 10461  }
 10462  
 10463  // String returns the string representation.
 10464  //
 10465  // API parameter values that are decorated as "sensitive" in the API will not
 10466  // be included in the string output. The member name will be present, but the
 10467  // value will be replaced with "sensitive".
 10468  func (s RemoveAttributesActivity) String() string {
 10469  	return awsutil.Prettify(s)
 10470  }
 10471  
 10472  // GoString returns the string representation.
 10473  //
 10474  // API parameter values that are decorated as "sensitive" in the API will not
 10475  // be included in the string output. The member name will be present, but the
 10476  // value will be replaced with "sensitive".
 10477  func (s RemoveAttributesActivity) GoString() string {
 10478  	return s.String()
 10479  }
 10480  
 10481  // Validate inspects the fields of the type to determine if they are valid.
 10482  func (s *RemoveAttributesActivity) Validate() error {
 10483  	invalidParams := request.ErrInvalidParams{Context: "RemoveAttributesActivity"}
 10484  	if s.Attributes == nil {
 10485  		invalidParams.Add(request.NewErrParamRequired("Attributes"))
 10486  	}
 10487  	if s.Attributes != nil && len(s.Attributes) < 1 {
 10488  		invalidParams.Add(request.NewErrParamMinLen("Attributes", 1))
 10489  	}
 10490  	if s.Name == nil {
 10491  		invalidParams.Add(request.NewErrParamRequired("Name"))
 10492  	}
 10493  	if s.Name != nil && len(*s.Name) < 1 {
 10494  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 10495  	}
 10496  	if s.Next != nil && len(*s.Next) < 1 {
 10497  		invalidParams.Add(request.NewErrParamMinLen("Next", 1))
 10498  	}
 10499  
 10500  	if invalidParams.Len() > 0 {
 10501  		return invalidParams
 10502  	}
 10503  	return nil
 10504  }
 10505  
 10506  // SetAttributes sets the Attributes field's value.
 10507  func (s *RemoveAttributesActivity) SetAttributes(v []*string) *RemoveAttributesActivity {
 10508  	s.Attributes = v
 10509  	return s
 10510  }
 10511  
 10512  // SetName sets the Name field's value.
 10513  func (s *RemoveAttributesActivity) SetName(v string) *RemoveAttributesActivity {
 10514  	s.Name = &v
 10515  	return s
 10516  }
 10517  
 10518  // SetNext sets the Next field's value.
 10519  func (s *RemoveAttributesActivity) SetNext(v string) *RemoveAttributesActivity {
 10520  	s.Next = &v
 10521  	return s
 10522  }
 10523  
 10524  // Information about pipeline reprocessing.
 10525  type ReprocessingSummary struct {
 10526  	_ struct{} `type:"structure"`
 10527  
 10528  	// The time the pipeline reprocessing was created.
 10529  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
 10530  
 10531  	// The reprocessingId returned by StartPipelineReprocessing.
 10532  	Id *string `locationName:"id" type:"string"`
 10533  
 10534  	// The status of the pipeline reprocessing.
 10535  	Status *string `locationName:"status" type:"string" enum:"ReprocessingStatus"`
 10536  }
 10537  
 10538  // String returns the string representation.
 10539  //
 10540  // API parameter values that are decorated as "sensitive" in the API will not
 10541  // be included in the string output. The member name will be present, but the
 10542  // value will be replaced with "sensitive".
 10543  func (s ReprocessingSummary) String() string {
 10544  	return awsutil.Prettify(s)
 10545  }
 10546  
 10547  // GoString returns the string representation.
 10548  //
 10549  // API parameter values that are decorated as "sensitive" in the API will not
 10550  // be included in the string output. The member name will be present, but the
 10551  // value will be replaced with "sensitive".
 10552  func (s ReprocessingSummary) GoString() string {
 10553  	return s.String()
 10554  }
 10555  
 10556  // SetCreationTime sets the CreationTime field's value.
 10557  func (s *ReprocessingSummary) SetCreationTime(v time.Time) *ReprocessingSummary {
 10558  	s.CreationTime = &v
 10559  	return s
 10560  }
 10561  
 10562  // SetId sets the Id field's value.
 10563  func (s *ReprocessingSummary) SetId(v string) *ReprocessingSummary {
 10564  	s.Id = &v
 10565  	return s
 10566  }
 10567  
 10568  // SetStatus sets the Status field's value.
 10569  func (s *ReprocessingSummary) SetStatus(v string) *ReprocessingSummary {
 10570  	s.Status = &v
 10571  	return s
 10572  }
 10573  
 10574  // A resource with the same name already exists.
 10575  type ResourceAlreadyExistsException struct {
 10576  	_            struct{}                  `type:"structure"`
 10577  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10578  
 10579  	Message_ *string `locationName:"message" type:"string"`
 10580  
 10581  	// The ARN of the resource.
 10582  	ResourceArn *string `locationName:"resourceArn" type:"string"`
 10583  
 10584  	// The ID of the resource.
 10585  	ResourceId *string `locationName:"resourceId" type:"string"`
 10586  }
 10587  
 10588  // String returns the string representation.
 10589  //
 10590  // API parameter values that are decorated as "sensitive" in the API will not
 10591  // be included in the string output. The member name will be present, but the
 10592  // value will be replaced with "sensitive".
 10593  func (s ResourceAlreadyExistsException) String() string {
 10594  	return awsutil.Prettify(s)
 10595  }
 10596  
 10597  // GoString returns the string representation.
 10598  //
 10599  // API parameter values that are decorated as "sensitive" in the API will not
 10600  // be included in the string output. The member name will be present, but the
 10601  // value will be replaced with "sensitive".
 10602  func (s ResourceAlreadyExistsException) GoString() string {
 10603  	return s.String()
 10604  }
 10605  
 10606  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 10607  	return &ResourceAlreadyExistsException{
 10608  		RespMetadata: v,
 10609  	}
 10610  }
 10611  
 10612  // Code returns the exception type name.
 10613  func (s *ResourceAlreadyExistsException) Code() string {
 10614  	return "ResourceAlreadyExistsException"
 10615  }
 10616  
 10617  // Message returns the exception's message.
 10618  func (s *ResourceAlreadyExistsException) Message() string {
 10619  	if s.Message_ != nil {
 10620  		return *s.Message_
 10621  	}
 10622  	return ""
 10623  }
 10624  
 10625  // OrigErr always returns nil, satisfies awserr.Error interface.
 10626  func (s *ResourceAlreadyExistsException) OrigErr() error {
 10627  	return nil
 10628  }
 10629  
 10630  func (s *ResourceAlreadyExistsException) Error() string {
 10631  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 10632  }
 10633  
 10634  // Status code returns the HTTP status code for the request's response error.
 10635  func (s *ResourceAlreadyExistsException) StatusCode() int {
 10636  	return s.RespMetadata.StatusCode
 10637  }
 10638  
 10639  // RequestID returns the service's response RequestID for request.
 10640  func (s *ResourceAlreadyExistsException) RequestID() string {
 10641  	return s.RespMetadata.RequestID
 10642  }
 10643  
 10644  // The configuration of the resource used to execute the containerAction.
 10645  type ResourceConfiguration struct {
 10646  	_ struct{} `type:"structure"`
 10647  
 10648  	// The type of the compute resource used to execute the containerAction. Possible
 10649  	// values are: ACU_1 (vCPU=4, memory=16 GiB) or ACU_2 (vCPU=8, memory=32 GiB).
 10650  	//
 10651  	// ComputeType is a required field
 10652  	ComputeType *string `locationName:"computeType" type:"string" required:"true" enum:"ComputeType"`
 10653  
 10654  	// The size, in GB, of the persistent storage available to the resource instance
 10655  	// used to execute the containerAction (min: 1, max: 50).
 10656  	//
 10657  	// VolumeSizeInGB is a required field
 10658  	VolumeSizeInGB *int64 `locationName:"volumeSizeInGB" min:"1" type:"integer" required:"true"`
 10659  }
 10660  
 10661  // String returns the string representation.
 10662  //
 10663  // API parameter values that are decorated as "sensitive" in the API will not
 10664  // be included in the string output. The member name will be present, but the
 10665  // value will be replaced with "sensitive".
 10666  func (s ResourceConfiguration) String() string {
 10667  	return awsutil.Prettify(s)
 10668  }
 10669  
 10670  // GoString returns the string representation.
 10671  //
 10672  // API parameter values that are decorated as "sensitive" in the API will not
 10673  // be included in the string output. The member name will be present, but the
 10674  // value will be replaced with "sensitive".
 10675  func (s ResourceConfiguration) GoString() string {
 10676  	return s.String()
 10677  }
 10678  
 10679  // Validate inspects the fields of the type to determine if they are valid.
 10680  func (s *ResourceConfiguration) Validate() error {
 10681  	invalidParams := request.ErrInvalidParams{Context: "ResourceConfiguration"}
 10682  	if s.ComputeType == nil {
 10683  		invalidParams.Add(request.NewErrParamRequired("ComputeType"))
 10684  	}
 10685  	if s.VolumeSizeInGB == nil {
 10686  		invalidParams.Add(request.NewErrParamRequired("VolumeSizeInGB"))
 10687  	}
 10688  	if s.VolumeSizeInGB != nil && *s.VolumeSizeInGB < 1 {
 10689  		invalidParams.Add(request.NewErrParamMinValue("VolumeSizeInGB", 1))
 10690  	}
 10691  
 10692  	if invalidParams.Len() > 0 {
 10693  		return invalidParams
 10694  	}
 10695  	return nil
 10696  }
 10697  
 10698  // SetComputeType sets the ComputeType field's value.
 10699  func (s *ResourceConfiguration) SetComputeType(v string) *ResourceConfiguration {
 10700  	s.ComputeType = &v
 10701  	return s
 10702  }
 10703  
 10704  // SetVolumeSizeInGB sets the VolumeSizeInGB field's value.
 10705  func (s *ResourceConfiguration) SetVolumeSizeInGB(v int64) *ResourceConfiguration {
 10706  	s.VolumeSizeInGB = &v
 10707  	return s
 10708  }
 10709  
 10710  // A resource with the specified name could not be found.
 10711  type ResourceNotFoundException struct {
 10712  	_            struct{}                  `type:"structure"`
 10713  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10714  
 10715  	Message_ *string `locationName:"message" type:"string"`
 10716  }
 10717  
 10718  // String returns the string representation.
 10719  //
 10720  // API parameter values that are decorated as "sensitive" in the API will not
 10721  // be included in the string output. The member name will be present, but the
 10722  // value will be replaced with "sensitive".
 10723  func (s ResourceNotFoundException) String() string {
 10724  	return awsutil.Prettify(s)
 10725  }
 10726  
 10727  // GoString returns the string representation.
 10728  //
 10729  // API parameter values that are decorated as "sensitive" in the API will not
 10730  // be included in the string output. The member name will be present, but the
 10731  // value will be replaced with "sensitive".
 10732  func (s ResourceNotFoundException) GoString() string {
 10733  	return s.String()
 10734  }
 10735  
 10736  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 10737  	return &ResourceNotFoundException{
 10738  		RespMetadata: v,
 10739  	}
 10740  }
 10741  
 10742  // Code returns the exception type name.
 10743  func (s *ResourceNotFoundException) Code() string {
 10744  	return "ResourceNotFoundException"
 10745  }
 10746  
 10747  // Message returns the exception's message.
 10748  func (s *ResourceNotFoundException) Message() string {
 10749  	if s.Message_ != nil {
 10750  		return *s.Message_
 10751  	}
 10752  	return ""
 10753  }
 10754  
 10755  // OrigErr always returns nil, satisfies awserr.Error interface.
 10756  func (s *ResourceNotFoundException) OrigErr() error {
 10757  	return nil
 10758  }
 10759  
 10760  func (s *ResourceNotFoundException) Error() string {
 10761  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10762  }
 10763  
 10764  // Status code returns the HTTP status code for the request's response error.
 10765  func (s *ResourceNotFoundException) StatusCode() int {
 10766  	return s.RespMetadata.StatusCode
 10767  }
 10768  
 10769  // RequestID returns the service's response RequestID for request.
 10770  func (s *ResourceNotFoundException) RequestID() string {
 10771  	return s.RespMetadata.RequestID
 10772  }
 10773  
 10774  // How long, in days, message data is kept.
 10775  type RetentionPeriod struct {
 10776  	_ struct{} `type:"structure"`
 10777  
 10778  	// The number of days that message data is kept. The unlimited parameter must
 10779  	// be false.
 10780  	NumberOfDays *int64 `locationName:"numberOfDays" min:"1" type:"integer"`
 10781  
 10782  	// If true, message data is kept indefinitely.
 10783  	Unlimited *bool `locationName:"unlimited" type:"boolean"`
 10784  }
 10785  
 10786  // String returns the string representation.
 10787  //
 10788  // API parameter values that are decorated as "sensitive" in the API will not
 10789  // be included in the string output. The member name will be present, but the
 10790  // value will be replaced with "sensitive".
 10791  func (s RetentionPeriod) String() string {
 10792  	return awsutil.Prettify(s)
 10793  }
 10794  
 10795  // GoString returns the string representation.
 10796  //
 10797  // API parameter values that are decorated as "sensitive" in the API will not
 10798  // be included in the string output. The member name will be present, but the
 10799  // value will be replaced with "sensitive".
 10800  func (s RetentionPeriod) GoString() string {
 10801  	return s.String()
 10802  }
 10803  
 10804  // Validate inspects the fields of the type to determine if they are valid.
 10805  func (s *RetentionPeriod) Validate() error {
 10806  	invalidParams := request.ErrInvalidParams{Context: "RetentionPeriod"}
 10807  	if s.NumberOfDays != nil && *s.NumberOfDays < 1 {
 10808  		invalidParams.Add(request.NewErrParamMinValue("NumberOfDays", 1))
 10809  	}
 10810  
 10811  	if invalidParams.Len() > 0 {
 10812  		return invalidParams
 10813  	}
 10814  	return nil
 10815  }
 10816  
 10817  // SetNumberOfDays sets the NumberOfDays field's value.
 10818  func (s *RetentionPeriod) SetNumberOfDays(v int64) *RetentionPeriod {
 10819  	s.NumberOfDays = &v
 10820  	return s
 10821  }
 10822  
 10823  // SetUnlimited sets the Unlimited field's value.
 10824  func (s *RetentionPeriod) SetUnlimited(v bool) *RetentionPeriod {
 10825  	s.Unlimited = &v
 10826  	return s
 10827  }
 10828  
 10829  type RunPipelineActivityInput struct {
 10830  	_ struct{} `type:"structure"`
 10831  
 10832  	// The sample message payloads on which the pipeline activity is run.
 10833  	//
 10834  	// Payloads is a required field
 10835  	Payloads [][]byte `locationName:"payloads" min:"1" type:"list" required:"true"`
 10836  
 10837  	// The pipeline activity that is run. This must not be a channel activity or
 10838  	// a data store activity because these activities are used in a pipeline only
 10839  	// to load the original message and to store the (possibly) transformed message.
 10840  	// If a Lambda activity is specified, only short-running Lambda functions (those
 10841  	// with a timeout of less than 30 seconds or less) can be used.
 10842  	//
 10843  	// PipelineActivity is a required field
 10844  	PipelineActivity *PipelineActivity `locationName:"pipelineActivity" type:"structure" required:"true"`
 10845  }
 10846  
 10847  // String returns the string representation.
 10848  //
 10849  // API parameter values that are decorated as "sensitive" in the API will not
 10850  // be included in the string output. The member name will be present, but the
 10851  // value will be replaced with "sensitive".
 10852  func (s RunPipelineActivityInput) String() string {
 10853  	return awsutil.Prettify(s)
 10854  }
 10855  
 10856  // GoString returns the string representation.
 10857  //
 10858  // API parameter values that are decorated as "sensitive" in the API will not
 10859  // be included in the string output. The member name will be present, but the
 10860  // value will be replaced with "sensitive".
 10861  func (s RunPipelineActivityInput) GoString() string {
 10862  	return s.String()
 10863  }
 10864  
 10865  // Validate inspects the fields of the type to determine if they are valid.
 10866  func (s *RunPipelineActivityInput) Validate() error {
 10867  	invalidParams := request.ErrInvalidParams{Context: "RunPipelineActivityInput"}
 10868  	if s.Payloads == nil {
 10869  		invalidParams.Add(request.NewErrParamRequired("Payloads"))
 10870  	}
 10871  	if s.Payloads != nil && len(s.Payloads) < 1 {
 10872  		invalidParams.Add(request.NewErrParamMinLen("Payloads", 1))
 10873  	}
 10874  	if s.PipelineActivity == nil {
 10875  		invalidParams.Add(request.NewErrParamRequired("PipelineActivity"))
 10876  	}
 10877  	if s.PipelineActivity != nil {
 10878  		if err := s.PipelineActivity.Validate(); err != nil {
 10879  			invalidParams.AddNested("PipelineActivity", err.(request.ErrInvalidParams))
 10880  		}
 10881  	}
 10882  
 10883  	if invalidParams.Len() > 0 {
 10884  		return invalidParams
 10885  	}
 10886  	return nil
 10887  }
 10888  
 10889  // SetPayloads sets the Payloads field's value.
 10890  func (s *RunPipelineActivityInput) SetPayloads(v [][]byte) *RunPipelineActivityInput {
 10891  	s.Payloads = v
 10892  	return s
 10893  }
 10894  
 10895  // SetPipelineActivity sets the PipelineActivity field's value.
 10896  func (s *RunPipelineActivityInput) SetPipelineActivity(v *PipelineActivity) *RunPipelineActivityInput {
 10897  	s.PipelineActivity = v
 10898  	return s
 10899  }
 10900  
 10901  type RunPipelineActivityOutput struct {
 10902  	_ struct{} `type:"structure"`
 10903  
 10904  	// In case the pipeline activity fails, the log message that is generated.
 10905  	LogResult *string `locationName:"logResult" type:"string"`
 10906  
 10907  	// The enriched or transformed sample message payloads as base64-encoded strings.
 10908  	// (The results of running the pipeline activity on each input sample message
 10909  	// payload, encoded in base64.)
 10910  	Payloads [][]byte `locationName:"payloads" min:"1" type:"list"`
 10911  }
 10912  
 10913  // String returns the string representation.
 10914  //
 10915  // API parameter values that are decorated as "sensitive" in the API will not
 10916  // be included in the string output. The member name will be present, but the
 10917  // value will be replaced with "sensitive".
 10918  func (s RunPipelineActivityOutput) String() string {
 10919  	return awsutil.Prettify(s)
 10920  }
 10921  
 10922  // GoString returns the string representation.
 10923  //
 10924  // API parameter values that are decorated as "sensitive" in the API will not
 10925  // be included in the string output. The member name will be present, but the
 10926  // value will be replaced with "sensitive".
 10927  func (s RunPipelineActivityOutput) GoString() string {
 10928  	return s.String()
 10929  }
 10930  
 10931  // SetLogResult sets the LogResult field's value.
 10932  func (s *RunPipelineActivityOutput) SetLogResult(v string) *RunPipelineActivityOutput {
 10933  	s.LogResult = &v
 10934  	return s
 10935  }
 10936  
 10937  // SetPayloads sets the Payloads field's value.
 10938  func (s *RunPipelineActivityOutput) SetPayloads(v [][]byte) *RunPipelineActivityOutput {
 10939  	s.Payloads = v
 10940  	return s
 10941  }
 10942  
 10943  // Configuration information for delivery of dataset contents to Amazon Simple
 10944  // Storage Service (Amazon S3).
 10945  type S3DestinationConfiguration struct {
 10946  	_ struct{} `type:"structure"`
 10947  
 10948  	// The name of the S3 bucket to which dataset contents are delivered.
 10949  	//
 10950  	// Bucket is a required field
 10951  	Bucket *string `locationName:"bucket" min:"3" type:"string" required:"true"`
 10952  
 10953  	// Configuration information for coordination with Glue, a fully managed extract,
 10954  	// transform and load (ETL) service.
 10955  	GlueConfiguration *GlueConfiguration `locationName:"glueConfiguration" type:"structure"`
 10956  
 10957  	// The key of the dataset contents object in an S3 bucket. Each object has a
 10958  	// key that is a unique identifier. Each object has exactly one key.
 10959  	//
 10960  	// You can create a unique key with the following options:
 10961  	//
 10962  	//    * Use !{iotanalytics:scheduleTime} to insert the time of a scheduled SQL
 10963  	//    query run.
 10964  	//
 10965  	//    * Use !{iotanalytics:versionId} to insert a unique hash that identifies
 10966  	//    a dataset content.
 10967  	//
 10968  	//    * Use !{iotanalytics:creationTime} to insert the creation time of a dataset
 10969  	//    content.
 10970  	//
 10971  	// The following example creates a unique key for a CSV file: dataset/mydataset/!{iotanalytics:scheduleTime}/!{iotanalytics:versionId}.csv
 10972  	//
 10973  	// If you don't use !{iotanalytics:versionId} to specify the key, you might
 10974  	// get duplicate keys. For example, you might have two dataset contents with
 10975  	// the same scheduleTime but different versionIds. This means that one dataset
 10976  	// content overwrites the other.
 10977  	//
 10978  	// Key is a required field
 10979  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
 10980  
 10981  	// The ARN of the role that grants IoT Analytics permission to interact with
 10982  	// your Amazon S3 and Glue resources.
 10983  	//
 10984  	// RoleArn is a required field
 10985  	RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"`
 10986  }
 10987  
 10988  // String returns the string representation.
 10989  //
 10990  // API parameter values that are decorated as "sensitive" in the API will not
 10991  // be included in the string output. The member name will be present, but the
 10992  // value will be replaced with "sensitive".
 10993  func (s S3DestinationConfiguration) String() string {
 10994  	return awsutil.Prettify(s)
 10995  }
 10996  
 10997  // GoString returns the string representation.
 10998  //
 10999  // API parameter values that are decorated as "sensitive" in the API will not
 11000  // be included in the string output. The member name will be present, but the
 11001  // value will be replaced with "sensitive".
 11002  func (s S3DestinationConfiguration) GoString() string {
 11003  	return s.String()
 11004  }
 11005  
 11006  // Validate inspects the fields of the type to determine if they are valid.
 11007  func (s *S3DestinationConfiguration) Validate() error {
 11008  	invalidParams := request.ErrInvalidParams{Context: "S3DestinationConfiguration"}
 11009  	if s.Bucket == nil {
 11010  		invalidParams.Add(request.NewErrParamRequired("Bucket"))
 11011  	}
 11012  	if s.Bucket != nil && len(*s.Bucket) < 3 {
 11013  		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
 11014  	}
 11015  	if s.Key == nil {
 11016  		invalidParams.Add(request.NewErrParamRequired("Key"))
 11017  	}
 11018  	if s.Key != nil && len(*s.Key) < 1 {
 11019  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 11020  	}
 11021  	if s.RoleArn == nil {
 11022  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 11023  	}
 11024  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
 11025  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
 11026  	}
 11027  	if s.GlueConfiguration != nil {
 11028  		if err := s.GlueConfiguration.Validate(); err != nil {
 11029  			invalidParams.AddNested("GlueConfiguration", err.(request.ErrInvalidParams))
 11030  		}
 11031  	}
 11032  
 11033  	if invalidParams.Len() > 0 {
 11034  		return invalidParams
 11035  	}
 11036  	return nil
 11037  }
 11038  
 11039  // SetBucket sets the Bucket field's value.
 11040  func (s *S3DestinationConfiguration) SetBucket(v string) *S3DestinationConfiguration {
 11041  	s.Bucket = &v
 11042  	return s
 11043  }
 11044  
 11045  // SetGlueConfiguration sets the GlueConfiguration field's value.
 11046  func (s *S3DestinationConfiguration) SetGlueConfiguration(v *GlueConfiguration) *S3DestinationConfiguration {
 11047  	s.GlueConfiguration = v
 11048  	return s
 11049  }
 11050  
 11051  // SetKey sets the Key field's value.
 11052  func (s *S3DestinationConfiguration) SetKey(v string) *S3DestinationConfiguration {
 11053  	s.Key = &v
 11054  	return s
 11055  }
 11056  
 11057  // SetRoleArn sets the RoleArn field's value.
 11058  func (s *S3DestinationConfiguration) SetRoleArn(v string) *S3DestinationConfiguration {
 11059  	s.RoleArn = &v
 11060  	return s
 11061  }
 11062  
 11063  type SampleChannelDataInput struct {
 11064  	_ struct{} `type:"structure" nopayload:"true"`
 11065  
 11066  	// The name of the channel whose message samples are retrieved.
 11067  	//
 11068  	// ChannelName is a required field
 11069  	ChannelName *string `location:"uri" locationName:"channelName" min:"1" type:"string" required:"true"`
 11070  
 11071  	// The end of the time window from which sample messages are retrieved.
 11072  	EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp"`
 11073  
 11074  	// The number of sample messages to be retrieved. The limit is 10. The default
 11075  	// is also 10.
 11076  	MaxMessages *int64 `location:"querystring" locationName:"maxMessages" min:"1" type:"integer"`
 11077  
 11078  	// The start of the time window from which sample messages are retrieved.
 11079  	StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp"`
 11080  }
 11081  
 11082  // String returns the string representation.
 11083  //
 11084  // API parameter values that are decorated as "sensitive" in the API will not
 11085  // be included in the string output. The member name will be present, but the
 11086  // value will be replaced with "sensitive".
 11087  func (s SampleChannelDataInput) String() string {
 11088  	return awsutil.Prettify(s)
 11089  }
 11090  
 11091  // GoString returns the string representation.
 11092  //
 11093  // API parameter values that are decorated as "sensitive" in the API will not
 11094  // be included in the string output. The member name will be present, but the
 11095  // value will be replaced with "sensitive".
 11096  func (s SampleChannelDataInput) GoString() string {
 11097  	return s.String()
 11098  }
 11099  
 11100  // Validate inspects the fields of the type to determine if they are valid.
 11101  func (s *SampleChannelDataInput) Validate() error {
 11102  	invalidParams := request.ErrInvalidParams{Context: "SampleChannelDataInput"}
 11103  	if s.ChannelName == nil {
 11104  		invalidParams.Add(request.NewErrParamRequired("ChannelName"))
 11105  	}
 11106  	if s.ChannelName != nil && len(*s.ChannelName) < 1 {
 11107  		invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1))
 11108  	}
 11109  	if s.MaxMessages != nil && *s.MaxMessages < 1 {
 11110  		invalidParams.Add(request.NewErrParamMinValue("MaxMessages", 1))
 11111  	}
 11112  
 11113  	if invalidParams.Len() > 0 {
 11114  		return invalidParams
 11115  	}
 11116  	return nil
 11117  }
 11118  
 11119  // SetChannelName sets the ChannelName field's value.
 11120  func (s *SampleChannelDataInput) SetChannelName(v string) *SampleChannelDataInput {
 11121  	s.ChannelName = &v
 11122  	return s
 11123  }
 11124  
 11125  // SetEndTime sets the EndTime field's value.
 11126  func (s *SampleChannelDataInput) SetEndTime(v time.Time) *SampleChannelDataInput {
 11127  	s.EndTime = &v
 11128  	return s
 11129  }
 11130  
 11131  // SetMaxMessages sets the MaxMessages field's value.
 11132  func (s *SampleChannelDataInput) SetMaxMessages(v int64) *SampleChannelDataInput {
 11133  	s.MaxMessages = &v
 11134  	return s
 11135  }
 11136  
 11137  // SetStartTime sets the StartTime field's value.
 11138  func (s *SampleChannelDataInput) SetStartTime(v time.Time) *SampleChannelDataInput {
 11139  	s.StartTime = &v
 11140  	return s
 11141  }
 11142  
 11143  type SampleChannelDataOutput struct {
 11144  	_ struct{} `type:"structure"`
 11145  
 11146  	// The list of message samples. Each sample message is returned as a base64-encoded
 11147  	// string.
 11148  	Payloads [][]byte `locationName:"payloads" min:"1" type:"list"`
 11149  }
 11150  
 11151  // String returns the string representation.
 11152  //
 11153  // API parameter values that are decorated as "sensitive" in the API will not
 11154  // be included in the string output. The member name will be present, but the
 11155  // value will be replaced with "sensitive".
 11156  func (s SampleChannelDataOutput) String() string {
 11157  	return awsutil.Prettify(s)
 11158  }
 11159  
 11160  // GoString returns the string representation.
 11161  //
 11162  // API parameter values that are decorated as "sensitive" in the API will not
 11163  // be included in the string output. The member name will be present, but the
 11164  // value will be replaced with "sensitive".
 11165  func (s SampleChannelDataOutput) GoString() string {
 11166  	return s.String()
 11167  }
 11168  
 11169  // SetPayloads sets the Payloads field's value.
 11170  func (s *SampleChannelDataOutput) SetPayloads(v [][]byte) *SampleChannelDataOutput {
 11171  	s.Payloads = v
 11172  	return s
 11173  }
 11174  
 11175  // The schedule for when to trigger an update.
 11176  type Schedule struct {
 11177  	_ struct{} `type:"structure"`
 11178  
 11179  	// The expression that defines when to trigger an update. For more information,
 11180  	// see Schedule Expressions for Rules (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html)
 11181  	// in the Amazon CloudWatch Events User Guide.
 11182  	Expression *string `locationName:"expression" type:"string"`
 11183  }
 11184  
 11185  // String returns the string representation.
 11186  //
 11187  // API parameter values that are decorated as "sensitive" in the API will not
 11188  // be included in the string output. The member name will be present, but the
 11189  // value will be replaced with "sensitive".
 11190  func (s Schedule) String() string {
 11191  	return awsutil.Prettify(s)
 11192  }
 11193  
 11194  // GoString returns the string representation.
 11195  //
 11196  // API parameter values that are decorated as "sensitive" in the API will not
 11197  // be included in the string output. The member name will be present, but the
 11198  // value will be replaced with "sensitive".
 11199  func (s Schedule) GoString() string {
 11200  	return s.String()
 11201  }
 11202  
 11203  // SetExpression sets the Expression field's value.
 11204  func (s *Schedule) SetExpression(v string) *Schedule {
 11205  	s.Expression = &v
 11206  	return s
 11207  }
 11208  
 11209  // Information needed to define a schema.
 11210  type SchemaDefinition struct {
 11211  	_ struct{} `type:"structure"`
 11212  
 11213  	// Specifies one or more columns that store your data.
 11214  	//
 11215  	// Each schema can have up to 100 columns. Each column can have up to 100 nested
 11216  	// types.
 11217  	Columns []*Column `locationName:"columns" type:"list"`
 11218  }
 11219  
 11220  // String returns the string representation.
 11221  //
 11222  // API parameter values that are decorated as "sensitive" in the API will not
 11223  // be included in the string output. The member name will be present, but the
 11224  // value will be replaced with "sensitive".
 11225  func (s SchemaDefinition) String() string {
 11226  	return awsutil.Prettify(s)
 11227  }
 11228  
 11229  // GoString returns the string representation.
 11230  //
 11231  // API parameter values that are decorated as "sensitive" in the API will not
 11232  // be included in the string output. The member name will be present, but the
 11233  // value will be replaced with "sensitive".
 11234  func (s SchemaDefinition) GoString() string {
 11235  	return s.String()
 11236  }
 11237  
 11238  // Validate inspects the fields of the type to determine if they are valid.
 11239  func (s *SchemaDefinition) Validate() error {
 11240  	invalidParams := request.ErrInvalidParams{Context: "SchemaDefinition"}
 11241  	if s.Columns != nil {
 11242  		for i, v := range s.Columns {
 11243  			if v == nil {
 11244  				continue
 11245  			}
 11246  			if err := v.Validate(); err != nil {
 11247  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams))
 11248  			}
 11249  		}
 11250  	}
 11251  
 11252  	if invalidParams.Len() > 0 {
 11253  		return invalidParams
 11254  	}
 11255  	return nil
 11256  }
 11257  
 11258  // SetColumns sets the Columns field's value.
 11259  func (s *SchemaDefinition) SetColumns(v []*Column) *SchemaDefinition {
 11260  	s.Columns = v
 11261  	return s
 11262  }
 11263  
 11264  // Used to create a new message using only the specified attributes from the
 11265  // original message.
 11266  type SelectAttributesActivity struct {
 11267  	_ struct{} `type:"structure"`
 11268  
 11269  	// A list of the attributes to select from the message.
 11270  	//
 11271  	// Attributes is a required field
 11272  	Attributes []*string `locationName:"attributes" min:"1" type:"list" required:"true"`
 11273  
 11274  	// The name of the selectAttributes activity.
 11275  	//
 11276  	// Name is a required field
 11277  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 11278  
 11279  	// The next activity in the pipeline.
 11280  	Next *string `locationName:"next" min:"1" type:"string"`
 11281  }
 11282  
 11283  // String returns the string representation.
 11284  //
 11285  // API parameter values that are decorated as "sensitive" in the API will not
 11286  // be included in the string output. The member name will be present, but the
 11287  // value will be replaced with "sensitive".
 11288  func (s SelectAttributesActivity) String() string {
 11289  	return awsutil.Prettify(s)
 11290  }
 11291  
 11292  // GoString returns the string representation.
 11293  //
 11294  // API parameter values that are decorated as "sensitive" in the API will not
 11295  // be included in the string output. The member name will be present, but the
 11296  // value will be replaced with "sensitive".
 11297  func (s SelectAttributesActivity) GoString() string {
 11298  	return s.String()
 11299  }
 11300  
 11301  // Validate inspects the fields of the type to determine if they are valid.
 11302  func (s *SelectAttributesActivity) Validate() error {
 11303  	invalidParams := request.ErrInvalidParams{Context: "SelectAttributesActivity"}
 11304  	if s.Attributes == nil {
 11305  		invalidParams.Add(request.NewErrParamRequired("Attributes"))
 11306  	}
 11307  	if s.Attributes != nil && len(s.Attributes) < 1 {
 11308  		invalidParams.Add(request.NewErrParamMinLen("Attributes", 1))
 11309  	}
 11310  	if s.Name == nil {
 11311  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11312  	}
 11313  	if s.Name != nil && len(*s.Name) < 1 {
 11314  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11315  	}
 11316  	if s.Next != nil && len(*s.Next) < 1 {
 11317  		invalidParams.Add(request.NewErrParamMinLen("Next", 1))
 11318  	}
 11319  
 11320  	if invalidParams.Len() > 0 {
 11321  		return invalidParams
 11322  	}
 11323  	return nil
 11324  }
 11325  
 11326  // SetAttributes sets the Attributes field's value.
 11327  func (s *SelectAttributesActivity) SetAttributes(v []*string) *SelectAttributesActivity {
 11328  	s.Attributes = v
 11329  	return s
 11330  }
 11331  
 11332  // SetName sets the Name field's value.
 11333  func (s *SelectAttributesActivity) SetName(v string) *SelectAttributesActivity {
 11334  	s.Name = &v
 11335  	return s
 11336  }
 11337  
 11338  // SetNext sets the Next field's value.
 11339  func (s *SelectAttributesActivity) SetNext(v string) *SelectAttributesActivity {
 11340  	s.Next = &v
 11341  	return s
 11342  }
 11343  
 11344  // Used to store channel data in an S3 bucket managed by IoT Analytics. You
 11345  // can't change the choice of S3 storage after the data store is created.
 11346  type ServiceManagedChannelS3Storage struct {
 11347  	_ struct{} `type:"structure" nopayload:"true"`
 11348  }
 11349  
 11350  // String returns the string representation.
 11351  //
 11352  // API parameter values that are decorated as "sensitive" in the API will not
 11353  // be included in the string output. The member name will be present, but the
 11354  // value will be replaced with "sensitive".
 11355  func (s ServiceManagedChannelS3Storage) String() string {
 11356  	return awsutil.Prettify(s)
 11357  }
 11358  
 11359  // GoString returns the string representation.
 11360  //
 11361  // API parameter values that are decorated as "sensitive" in the API will not
 11362  // be included in the string output. The member name will be present, but the
 11363  // value will be replaced with "sensitive".
 11364  func (s ServiceManagedChannelS3Storage) GoString() string {
 11365  	return s.String()
 11366  }
 11367  
 11368  // Used to store channel data in an S3 bucket managed by IoT Analytics.
 11369  type ServiceManagedChannelS3StorageSummary struct {
 11370  	_ struct{} `type:"structure" nopayload:"true"`
 11371  }
 11372  
 11373  // String returns the string representation.
 11374  //
 11375  // API parameter values that are decorated as "sensitive" in the API will not
 11376  // be included in the string output. The member name will be present, but the
 11377  // value will be replaced with "sensitive".
 11378  func (s ServiceManagedChannelS3StorageSummary) String() string {
 11379  	return awsutil.Prettify(s)
 11380  }
 11381  
 11382  // GoString returns the string representation.
 11383  //
 11384  // API parameter values that are decorated as "sensitive" in the API will not
 11385  // be included in the string output. The member name will be present, but the
 11386  // value will be replaced with "sensitive".
 11387  func (s ServiceManagedChannelS3StorageSummary) GoString() string {
 11388  	return s.String()
 11389  }
 11390  
 11391  // Used to store data in an Amazon S3 bucket managed by IoT Analytics. You can't
 11392  // change the choice of Amazon S3 storage after your data store is created.
 11393  type ServiceManagedDatastoreS3Storage struct {
 11394  	_ struct{} `type:"structure" nopayload:"true"`
 11395  }
 11396  
 11397  // String returns the string representation.
 11398  //
 11399  // API parameter values that are decorated as "sensitive" in the API will not
 11400  // be included in the string output. The member name will be present, but the
 11401  // value will be replaced with "sensitive".
 11402  func (s ServiceManagedDatastoreS3Storage) String() string {
 11403  	return awsutil.Prettify(s)
 11404  }
 11405  
 11406  // GoString returns the string representation.
 11407  //
 11408  // API parameter values that are decorated as "sensitive" in the API will not
 11409  // be included in the string output. The member name will be present, but the
 11410  // value will be replaced with "sensitive".
 11411  func (s ServiceManagedDatastoreS3Storage) GoString() string {
 11412  	return s.String()
 11413  }
 11414  
 11415  // Contains information about the data store that is managed by IoT Analytics.
 11416  type ServiceManagedDatastoreS3StorageSummary struct {
 11417  	_ struct{} `type:"structure" nopayload:"true"`
 11418  }
 11419  
 11420  // String returns the string representation.
 11421  //
 11422  // API parameter values that are decorated as "sensitive" in the API will not
 11423  // be included in the string output. The member name will be present, but the
 11424  // value will be replaced with "sensitive".
 11425  func (s ServiceManagedDatastoreS3StorageSummary) String() string {
 11426  	return awsutil.Prettify(s)
 11427  }
 11428  
 11429  // GoString returns the string representation.
 11430  //
 11431  // API parameter values that are decorated as "sensitive" in the API will not
 11432  // be included in the string output. The member name will be present, but the
 11433  // value will be replaced with "sensitive".
 11434  func (s ServiceManagedDatastoreS3StorageSummary) GoString() string {
 11435  	return s.String()
 11436  }
 11437  
 11438  // The service is temporarily unavailable.
 11439  type ServiceUnavailableException struct {
 11440  	_            struct{}                  `type:"structure"`
 11441  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11442  
 11443  	Message_ *string `locationName:"message" type:"string"`
 11444  }
 11445  
 11446  // String returns the string representation.
 11447  //
 11448  // API parameter values that are decorated as "sensitive" in the API will not
 11449  // be included in the string output. The member name will be present, but the
 11450  // value will be replaced with "sensitive".
 11451  func (s ServiceUnavailableException) String() string {
 11452  	return awsutil.Prettify(s)
 11453  }
 11454  
 11455  // GoString returns the string representation.
 11456  //
 11457  // API parameter values that are decorated as "sensitive" in the API will not
 11458  // be included in the string output. The member name will be present, but the
 11459  // value will be replaced with "sensitive".
 11460  func (s ServiceUnavailableException) GoString() string {
 11461  	return s.String()
 11462  }
 11463  
 11464  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
 11465  	return &ServiceUnavailableException{
 11466  		RespMetadata: v,
 11467  	}
 11468  }
 11469  
 11470  // Code returns the exception type name.
 11471  func (s *ServiceUnavailableException) Code() string {
 11472  	return "ServiceUnavailableException"
 11473  }
 11474  
 11475  // Message returns the exception's message.
 11476  func (s *ServiceUnavailableException) Message() string {
 11477  	if s.Message_ != nil {
 11478  		return *s.Message_
 11479  	}
 11480  	return ""
 11481  }
 11482  
 11483  // OrigErr always returns nil, satisfies awserr.Error interface.
 11484  func (s *ServiceUnavailableException) OrigErr() error {
 11485  	return nil
 11486  }
 11487  
 11488  func (s *ServiceUnavailableException) Error() string {
 11489  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11490  }
 11491  
 11492  // Status code returns the HTTP status code for the request's response error.
 11493  func (s *ServiceUnavailableException) StatusCode() int {
 11494  	return s.RespMetadata.StatusCode
 11495  }
 11496  
 11497  // RequestID returns the service's response RequestID for request.
 11498  func (s *ServiceUnavailableException) RequestID() string {
 11499  	return s.RespMetadata.RequestID
 11500  }
 11501  
 11502  // The SQL query to modify the message.
 11503  type SqlQueryDatasetAction struct {
 11504  	_ struct{} `type:"structure"`
 11505  
 11506  	// Prefilters applied to message data.
 11507  	Filters []*QueryFilter `locationName:"filters" type:"list"`
 11508  
 11509  	// A SQL query string.
 11510  	//
 11511  	// SqlQuery is a required field
 11512  	SqlQuery *string `locationName:"sqlQuery" type:"string" required:"true"`
 11513  }
 11514  
 11515  // String returns the string representation.
 11516  //
 11517  // API parameter values that are decorated as "sensitive" in the API will not
 11518  // be included in the string output. The member name will be present, but the
 11519  // value will be replaced with "sensitive".
 11520  func (s SqlQueryDatasetAction) String() string {
 11521  	return awsutil.Prettify(s)
 11522  }
 11523  
 11524  // GoString returns the string representation.
 11525  //
 11526  // API parameter values that are decorated as "sensitive" in the API will not
 11527  // be included in the string output. The member name will be present, but the
 11528  // value will be replaced with "sensitive".
 11529  func (s SqlQueryDatasetAction) GoString() string {
 11530  	return s.String()
 11531  }
 11532  
 11533  // Validate inspects the fields of the type to determine if they are valid.
 11534  func (s *SqlQueryDatasetAction) Validate() error {
 11535  	invalidParams := request.ErrInvalidParams{Context: "SqlQueryDatasetAction"}
 11536  	if s.SqlQuery == nil {
 11537  		invalidParams.Add(request.NewErrParamRequired("SqlQuery"))
 11538  	}
 11539  	if s.Filters != nil {
 11540  		for i, v := range s.Filters {
 11541  			if v == nil {
 11542  				continue
 11543  			}
 11544  			if err := v.Validate(); err != nil {
 11545  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 11546  			}
 11547  		}
 11548  	}
 11549  
 11550  	if invalidParams.Len() > 0 {
 11551  		return invalidParams
 11552  	}
 11553  	return nil
 11554  }
 11555  
 11556  // SetFilters sets the Filters field's value.
 11557  func (s *SqlQueryDatasetAction) SetFilters(v []*QueryFilter) *SqlQueryDatasetAction {
 11558  	s.Filters = v
 11559  	return s
 11560  }
 11561  
 11562  // SetSqlQuery sets the SqlQuery field's value.
 11563  func (s *SqlQueryDatasetAction) SetSqlQuery(v string) *SqlQueryDatasetAction {
 11564  	s.SqlQuery = &v
 11565  	return s
 11566  }
 11567  
 11568  type StartPipelineReprocessingInput struct {
 11569  	_ struct{} `type:"structure"`
 11570  
 11571  	// Specifies one or more sets of channel messages that you want to reprocess.
 11572  	//
 11573  	// If you use the channelMessages object, you must not specify a value for startTime
 11574  	// and endTime.
 11575  	ChannelMessages *ChannelMessages `locationName:"channelMessages" type:"structure"`
 11576  
 11577  	// The end time (exclusive) of raw message data that is reprocessed.
 11578  	//
 11579  	// If you specify a value for the endTime parameter, you must not use the channelMessages
 11580  	// object.
 11581  	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
 11582  
 11583  	// The name of the pipeline on which to start reprocessing.
 11584  	//
 11585  	// PipelineName is a required field
 11586  	PipelineName *string `location:"uri" locationName:"pipelineName" min:"1" type:"string" required:"true"`
 11587  
 11588  	// The start time (inclusive) of raw message data that is reprocessed.
 11589  	//
 11590  	// If you specify a value for the startTime parameter, you must not use the
 11591  	// channelMessages object.
 11592  	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
 11593  }
 11594  
 11595  // String returns the string representation.
 11596  //
 11597  // API parameter values that are decorated as "sensitive" in the API will not
 11598  // be included in the string output. The member name will be present, but the
 11599  // value will be replaced with "sensitive".
 11600  func (s StartPipelineReprocessingInput) String() string {
 11601  	return awsutil.Prettify(s)
 11602  }
 11603  
 11604  // GoString returns the string representation.
 11605  //
 11606  // API parameter values that are decorated as "sensitive" in the API will not
 11607  // be included in the string output. The member name will be present, but the
 11608  // value will be replaced with "sensitive".
 11609  func (s StartPipelineReprocessingInput) GoString() string {
 11610  	return s.String()
 11611  }
 11612  
 11613  // Validate inspects the fields of the type to determine if they are valid.
 11614  func (s *StartPipelineReprocessingInput) Validate() error {
 11615  	invalidParams := request.ErrInvalidParams{Context: "StartPipelineReprocessingInput"}
 11616  	if s.PipelineName == nil {
 11617  		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
 11618  	}
 11619  	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
 11620  		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
 11621  	}
 11622  	if s.ChannelMessages != nil {
 11623  		if err := s.ChannelMessages.Validate(); err != nil {
 11624  			invalidParams.AddNested("ChannelMessages", err.(request.ErrInvalidParams))
 11625  		}
 11626  	}
 11627  
 11628  	if invalidParams.Len() > 0 {
 11629  		return invalidParams
 11630  	}
 11631  	return nil
 11632  }
 11633  
 11634  // SetChannelMessages sets the ChannelMessages field's value.
 11635  func (s *StartPipelineReprocessingInput) SetChannelMessages(v *ChannelMessages) *StartPipelineReprocessingInput {
 11636  	s.ChannelMessages = v
 11637  	return s
 11638  }
 11639  
 11640  // SetEndTime sets the EndTime field's value.
 11641  func (s *StartPipelineReprocessingInput) SetEndTime(v time.Time) *StartPipelineReprocessingInput {
 11642  	s.EndTime = &v
 11643  	return s
 11644  }
 11645  
 11646  // SetPipelineName sets the PipelineName field's value.
 11647  func (s *StartPipelineReprocessingInput) SetPipelineName(v string) *StartPipelineReprocessingInput {
 11648  	s.PipelineName = &v
 11649  	return s
 11650  }
 11651  
 11652  // SetStartTime sets the StartTime field's value.
 11653  func (s *StartPipelineReprocessingInput) SetStartTime(v time.Time) *StartPipelineReprocessingInput {
 11654  	s.StartTime = &v
 11655  	return s
 11656  }
 11657  
 11658  type StartPipelineReprocessingOutput struct {
 11659  	_ struct{} `type:"structure"`
 11660  
 11661  	// The ID of the pipeline reprocessing activity that was started.
 11662  	ReprocessingId *string `locationName:"reprocessingId" type:"string"`
 11663  }
 11664  
 11665  // String returns the string representation.
 11666  //
 11667  // API parameter values that are decorated as "sensitive" in the API will not
 11668  // be included in the string output. The member name will be present, but the
 11669  // value will be replaced with "sensitive".
 11670  func (s StartPipelineReprocessingOutput) String() string {
 11671  	return awsutil.Prettify(s)
 11672  }
 11673  
 11674  // GoString returns the string representation.
 11675  //
 11676  // API parameter values that are decorated as "sensitive" in the API will not
 11677  // be included in the string output. The member name will be present, but the
 11678  // value will be replaced with "sensitive".
 11679  func (s StartPipelineReprocessingOutput) GoString() string {
 11680  	return s.String()
 11681  }
 11682  
 11683  // SetReprocessingId sets the ReprocessingId field's value.
 11684  func (s *StartPipelineReprocessingOutput) SetReprocessingId(v string) *StartPipelineReprocessingOutput {
 11685  	s.ReprocessingId = &v
 11686  	return s
 11687  }
 11688  
 11689  // A set of key-value pairs that are used to manage the resource.
 11690  type Tag struct {
 11691  	_ struct{} `type:"structure"`
 11692  
 11693  	// The tag's key.
 11694  	//
 11695  	// Key is a required field
 11696  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
 11697  
 11698  	// The tag's value.
 11699  	//
 11700  	// Value is a required field
 11701  	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
 11702  }
 11703  
 11704  // String returns the string representation.
 11705  //
 11706  // API parameter values that are decorated as "sensitive" in the API will not
 11707  // be included in the string output. The member name will be present, but the
 11708  // value will be replaced with "sensitive".
 11709  func (s Tag) String() string {
 11710  	return awsutil.Prettify(s)
 11711  }
 11712  
 11713  // GoString returns the string representation.
 11714  //
 11715  // API parameter values that are decorated as "sensitive" in the API will not
 11716  // be included in the string output. The member name will be present, but the
 11717  // value will be replaced with "sensitive".
 11718  func (s Tag) GoString() string {
 11719  	return s.String()
 11720  }
 11721  
 11722  // Validate inspects the fields of the type to determine if they are valid.
 11723  func (s *Tag) Validate() error {
 11724  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 11725  	if s.Key == nil {
 11726  		invalidParams.Add(request.NewErrParamRequired("Key"))
 11727  	}
 11728  	if s.Key != nil && len(*s.Key) < 1 {
 11729  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 11730  	}
 11731  	if s.Value == nil {
 11732  		invalidParams.Add(request.NewErrParamRequired("Value"))
 11733  	}
 11734  	if s.Value != nil && len(*s.Value) < 1 {
 11735  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
 11736  	}
 11737  
 11738  	if invalidParams.Len() > 0 {
 11739  		return invalidParams
 11740  	}
 11741  	return nil
 11742  }
 11743  
 11744  // SetKey sets the Key field's value.
 11745  func (s *Tag) SetKey(v string) *Tag {
 11746  	s.Key = &v
 11747  	return s
 11748  }
 11749  
 11750  // SetValue sets the Value field's value.
 11751  func (s *Tag) SetValue(v string) *Tag {
 11752  	s.Value = &v
 11753  	return s
 11754  }
 11755  
 11756  type TagResourceInput struct {
 11757  	_ struct{} `type:"structure"`
 11758  
 11759  	// The ARN of the resource whose tags you want to modify.
 11760  	//
 11761  	// ResourceArn is a required field
 11762  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"20" type:"string" required:"true"`
 11763  
 11764  	// The new or modified tags for the resource.
 11765  	//
 11766  	// Tags is a required field
 11767  	Tags []*Tag `locationName:"tags" min:"1" type:"list" required:"true"`
 11768  }
 11769  
 11770  // String returns the string representation.
 11771  //
 11772  // API parameter values that are decorated as "sensitive" in the API will not
 11773  // be included in the string output. The member name will be present, but the
 11774  // value will be replaced with "sensitive".
 11775  func (s TagResourceInput) String() string {
 11776  	return awsutil.Prettify(s)
 11777  }
 11778  
 11779  // GoString returns the string representation.
 11780  //
 11781  // API parameter values that are decorated as "sensitive" in the API will not
 11782  // be included in the string output. The member name will be present, but the
 11783  // value will be replaced with "sensitive".
 11784  func (s TagResourceInput) GoString() string {
 11785  	return s.String()
 11786  }
 11787  
 11788  // Validate inspects the fields of the type to determine if they are valid.
 11789  func (s *TagResourceInput) Validate() error {
 11790  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 11791  	if s.ResourceArn == nil {
 11792  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11793  	}
 11794  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
 11795  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
 11796  	}
 11797  	if s.Tags == nil {
 11798  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 11799  	}
 11800  	if s.Tags != nil && len(s.Tags) < 1 {
 11801  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 11802  	}
 11803  	if s.Tags != nil {
 11804  		for i, v := range s.Tags {
 11805  			if v == nil {
 11806  				continue
 11807  			}
 11808  			if err := v.Validate(); err != nil {
 11809  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 11810  			}
 11811  		}
 11812  	}
 11813  
 11814  	if invalidParams.Len() > 0 {
 11815  		return invalidParams
 11816  	}
 11817  	return nil
 11818  }
 11819  
 11820  // SetResourceArn sets the ResourceArn field's value.
 11821  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 11822  	s.ResourceArn = &v
 11823  	return s
 11824  }
 11825  
 11826  // SetTags sets the Tags field's value.
 11827  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 11828  	s.Tags = v
 11829  	return s
 11830  }
 11831  
 11832  type TagResourceOutput struct {
 11833  	_ struct{} `type:"structure" nopayload:"true"`
 11834  }
 11835  
 11836  // String returns the string representation.
 11837  //
 11838  // API parameter values that are decorated as "sensitive" in the API will not
 11839  // be included in the string output. The member name will be present, but the
 11840  // value will be replaced with "sensitive".
 11841  func (s TagResourceOutput) String() string {
 11842  	return awsutil.Prettify(s)
 11843  }
 11844  
 11845  // GoString returns the string representation.
 11846  //
 11847  // API parameter values that are decorated as "sensitive" in the API will not
 11848  // be included in the string output. The member name will be present, but the
 11849  // value will be replaced with "sensitive".
 11850  func (s TagResourceOutput) GoString() string {
 11851  	return s.String()
 11852  }
 11853  
 11854  // The request was denied due to request throttling.
 11855  type ThrottlingException struct {
 11856  	_            struct{}                  `type:"structure"`
 11857  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11858  
 11859  	Message_ *string `locationName:"message" type:"string"`
 11860  }
 11861  
 11862  // String returns the string representation.
 11863  //
 11864  // API parameter values that are decorated as "sensitive" in the API will not
 11865  // be included in the string output. The member name will be present, but the
 11866  // value will be replaced with "sensitive".
 11867  func (s ThrottlingException) String() string {
 11868  	return awsutil.Prettify(s)
 11869  }
 11870  
 11871  // GoString returns the string representation.
 11872  //
 11873  // API parameter values that are decorated as "sensitive" in the API will not
 11874  // be included in the string output. The member name will be present, but the
 11875  // value will be replaced with "sensitive".
 11876  func (s ThrottlingException) GoString() string {
 11877  	return s.String()
 11878  }
 11879  
 11880  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
 11881  	return &ThrottlingException{
 11882  		RespMetadata: v,
 11883  	}
 11884  }
 11885  
 11886  // Code returns the exception type name.
 11887  func (s *ThrottlingException) Code() string {
 11888  	return "ThrottlingException"
 11889  }
 11890  
 11891  // Message returns the exception's message.
 11892  func (s *ThrottlingException) Message() string {
 11893  	if s.Message_ != nil {
 11894  		return *s.Message_
 11895  	}
 11896  	return ""
 11897  }
 11898  
 11899  // OrigErr always returns nil, satisfies awserr.Error interface.
 11900  func (s *ThrottlingException) OrigErr() error {
 11901  	return nil
 11902  }
 11903  
 11904  func (s *ThrottlingException) Error() string {
 11905  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11906  }
 11907  
 11908  // Status code returns the HTTP status code for the request's response error.
 11909  func (s *ThrottlingException) StatusCode() int {
 11910  	return s.RespMetadata.StatusCode
 11911  }
 11912  
 11913  // RequestID returns the service's response RequestID for request.
 11914  func (s *ThrottlingException) RequestID() string {
 11915  	return s.RespMetadata.RequestID
 11916  }
 11917  
 11918  // A partition dimension defined by a timestamp attribute.
 11919  type TimestampPartition struct {
 11920  	_ struct{} `type:"structure"`
 11921  
 11922  	// The attribute name of the partition defined by a timestamp.
 11923  	//
 11924  	// AttributeName is a required field
 11925  	AttributeName *string `locationName:"attributeName" min:"1" type:"string" required:"true"`
 11926  
 11927  	// The timestamp format of a partition defined by a timestamp. The default format
 11928  	// is seconds since epoch (January 1, 1970 at midnight UTC time).
 11929  	TimestampFormat *string `locationName:"timestampFormat" min:"1" type:"string"`
 11930  }
 11931  
 11932  // String returns the string representation.
 11933  //
 11934  // API parameter values that are decorated as "sensitive" in the API will not
 11935  // be included in the string output. The member name will be present, but the
 11936  // value will be replaced with "sensitive".
 11937  func (s TimestampPartition) String() string {
 11938  	return awsutil.Prettify(s)
 11939  }
 11940  
 11941  // GoString returns the string representation.
 11942  //
 11943  // API parameter values that are decorated as "sensitive" in the API will not
 11944  // be included in the string output. The member name will be present, but the
 11945  // value will be replaced with "sensitive".
 11946  func (s TimestampPartition) GoString() string {
 11947  	return s.String()
 11948  }
 11949  
 11950  // Validate inspects the fields of the type to determine if they are valid.
 11951  func (s *TimestampPartition) Validate() error {
 11952  	invalidParams := request.ErrInvalidParams{Context: "TimestampPartition"}
 11953  	if s.AttributeName == nil {
 11954  		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
 11955  	}
 11956  	if s.AttributeName != nil && len(*s.AttributeName) < 1 {
 11957  		invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
 11958  	}
 11959  	if s.TimestampFormat != nil && len(*s.TimestampFormat) < 1 {
 11960  		invalidParams.Add(request.NewErrParamMinLen("TimestampFormat", 1))
 11961  	}
 11962  
 11963  	if invalidParams.Len() > 0 {
 11964  		return invalidParams
 11965  	}
 11966  	return nil
 11967  }
 11968  
 11969  // SetAttributeName sets the AttributeName field's value.
 11970  func (s *TimestampPartition) SetAttributeName(v string) *TimestampPartition {
 11971  	s.AttributeName = &v
 11972  	return s
 11973  }
 11974  
 11975  // SetTimestampFormat sets the TimestampFormat field's value.
 11976  func (s *TimestampPartition) SetTimestampFormat(v string) *TimestampPartition {
 11977  	s.TimestampFormat = &v
 11978  	return s
 11979  }
 11980  
 11981  // Information about the dataset whose content generation triggers the new dataset
 11982  // content generation.
 11983  type TriggeringDataset struct {
 11984  	_ struct{} `type:"structure"`
 11985  
 11986  	// The name of the dataset whose content generation triggers the new dataset
 11987  	// content generation.
 11988  	//
 11989  	// Name is a required field
 11990  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 11991  }
 11992  
 11993  // String returns the string representation.
 11994  //
 11995  // API parameter values that are decorated as "sensitive" in the API will not
 11996  // be included in the string output. The member name will be present, but the
 11997  // value will be replaced with "sensitive".
 11998  func (s TriggeringDataset) String() string {
 11999  	return awsutil.Prettify(s)
 12000  }
 12001  
 12002  // GoString returns the string representation.
 12003  //
 12004  // API parameter values that are decorated as "sensitive" in the API will not
 12005  // be included in the string output. The member name will be present, but the
 12006  // value will be replaced with "sensitive".
 12007  func (s TriggeringDataset) GoString() string {
 12008  	return s.String()
 12009  }
 12010  
 12011  // Validate inspects the fields of the type to determine if they are valid.
 12012  func (s *TriggeringDataset) Validate() error {
 12013  	invalidParams := request.ErrInvalidParams{Context: "TriggeringDataset"}
 12014  	if s.Name == nil {
 12015  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12016  	}
 12017  	if s.Name != nil && len(*s.Name) < 1 {
 12018  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12019  	}
 12020  
 12021  	if invalidParams.Len() > 0 {
 12022  		return invalidParams
 12023  	}
 12024  	return nil
 12025  }
 12026  
 12027  // SetName sets the Name field's value.
 12028  func (s *TriggeringDataset) SetName(v string) *TriggeringDataset {
 12029  	s.Name = &v
 12030  	return s
 12031  }
 12032  
 12033  type UntagResourceInput struct {
 12034  	_ struct{} `type:"structure" nopayload:"true"`
 12035  
 12036  	// The ARN of the resource whose tags you want to remove.
 12037  	//
 12038  	// ResourceArn is a required field
 12039  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"20" type:"string" required:"true"`
 12040  
 12041  	// The keys of those tags which you want to remove.
 12042  	//
 12043  	// TagKeys is a required field
 12044  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
 12045  }
 12046  
 12047  // String returns the string representation.
 12048  //
 12049  // API parameter values that are decorated as "sensitive" in the API will not
 12050  // be included in the string output. The member name will be present, but the
 12051  // value will be replaced with "sensitive".
 12052  func (s UntagResourceInput) String() string {
 12053  	return awsutil.Prettify(s)
 12054  }
 12055  
 12056  // GoString returns the string representation.
 12057  //
 12058  // API parameter values that are decorated as "sensitive" in the API will not
 12059  // be included in the string output. The member name will be present, but the
 12060  // value will be replaced with "sensitive".
 12061  func (s UntagResourceInput) GoString() string {
 12062  	return s.String()
 12063  }
 12064  
 12065  // Validate inspects the fields of the type to determine if they are valid.
 12066  func (s *UntagResourceInput) Validate() error {
 12067  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 12068  	if s.ResourceArn == nil {
 12069  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 12070  	}
 12071  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
 12072  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
 12073  	}
 12074  	if s.TagKeys == nil {
 12075  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 12076  	}
 12077  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 12078  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 12079  	}
 12080  
 12081  	if invalidParams.Len() > 0 {
 12082  		return invalidParams
 12083  	}
 12084  	return nil
 12085  }
 12086  
 12087  // SetResourceArn sets the ResourceArn field's value.
 12088  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 12089  	s.ResourceArn = &v
 12090  	return s
 12091  }
 12092  
 12093  // SetTagKeys sets the TagKeys field's value.
 12094  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 12095  	s.TagKeys = v
 12096  	return s
 12097  }
 12098  
 12099  type UntagResourceOutput struct {
 12100  	_ struct{} `type:"structure" nopayload:"true"`
 12101  }
 12102  
 12103  // String returns the string representation.
 12104  //
 12105  // API parameter values that are decorated as "sensitive" in the API will not
 12106  // be included in the string output. The member name will be present, but the
 12107  // value will be replaced with "sensitive".
 12108  func (s UntagResourceOutput) String() string {
 12109  	return awsutil.Prettify(s)
 12110  }
 12111  
 12112  // GoString returns the string representation.
 12113  //
 12114  // API parameter values that are decorated as "sensitive" in the API will not
 12115  // be included in the string output. The member name will be present, but the
 12116  // value will be replaced with "sensitive".
 12117  func (s UntagResourceOutput) GoString() string {
 12118  	return s.String()
 12119  }
 12120  
 12121  type UpdateChannelInput struct {
 12122  	_ struct{} `type:"structure"`
 12123  
 12124  	// The name of the channel to be updated.
 12125  	//
 12126  	// ChannelName is a required field
 12127  	ChannelName *string `location:"uri" locationName:"channelName" min:"1" type:"string" required:"true"`
 12128  
 12129  	// Where channel data is stored. You can choose one of serviceManagedS3 or customerManagedS3
 12130  	// storage. If not specified, the default is serviceManagedS3. You can't change
 12131  	// this storage option after the channel is created.
 12132  	ChannelStorage *ChannelStorage `locationName:"channelStorage" type:"structure"`
 12133  
 12134  	// How long, in days, message data is kept for the channel. The retention period
 12135  	// can't be updated if the channel's Amazon S3 storage is customer-managed.
 12136  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
 12137  }
 12138  
 12139  // String returns the string representation.
 12140  //
 12141  // API parameter values that are decorated as "sensitive" in the API will not
 12142  // be included in the string output. The member name will be present, but the
 12143  // value will be replaced with "sensitive".
 12144  func (s UpdateChannelInput) String() string {
 12145  	return awsutil.Prettify(s)
 12146  }
 12147  
 12148  // GoString returns the string representation.
 12149  //
 12150  // API parameter values that are decorated as "sensitive" in the API will not
 12151  // be included in the string output. The member name will be present, but the
 12152  // value will be replaced with "sensitive".
 12153  func (s UpdateChannelInput) GoString() string {
 12154  	return s.String()
 12155  }
 12156  
 12157  // Validate inspects the fields of the type to determine if they are valid.
 12158  func (s *UpdateChannelInput) Validate() error {
 12159  	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelInput"}
 12160  	if s.ChannelName == nil {
 12161  		invalidParams.Add(request.NewErrParamRequired("ChannelName"))
 12162  	}
 12163  	if s.ChannelName != nil && len(*s.ChannelName) < 1 {
 12164  		invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1))
 12165  	}
 12166  	if s.ChannelStorage != nil {
 12167  		if err := s.ChannelStorage.Validate(); err != nil {
 12168  			invalidParams.AddNested("ChannelStorage", err.(request.ErrInvalidParams))
 12169  		}
 12170  	}
 12171  	if s.RetentionPeriod != nil {
 12172  		if err := s.RetentionPeriod.Validate(); err != nil {
 12173  			invalidParams.AddNested("RetentionPeriod", err.(request.ErrInvalidParams))
 12174  		}
 12175  	}
 12176  
 12177  	if invalidParams.Len() > 0 {
 12178  		return invalidParams
 12179  	}
 12180  	return nil
 12181  }
 12182  
 12183  // SetChannelName sets the ChannelName field's value.
 12184  func (s *UpdateChannelInput) SetChannelName(v string) *UpdateChannelInput {
 12185  	s.ChannelName = &v
 12186  	return s
 12187  }
 12188  
 12189  // SetChannelStorage sets the ChannelStorage field's value.
 12190  func (s *UpdateChannelInput) SetChannelStorage(v *ChannelStorage) *UpdateChannelInput {
 12191  	s.ChannelStorage = v
 12192  	return s
 12193  }
 12194  
 12195  // SetRetentionPeriod sets the RetentionPeriod field's value.
 12196  func (s *UpdateChannelInput) SetRetentionPeriod(v *RetentionPeriod) *UpdateChannelInput {
 12197  	s.RetentionPeriod = v
 12198  	return s
 12199  }
 12200  
 12201  type UpdateChannelOutput struct {
 12202  	_ struct{} `type:"structure" nopayload:"true"`
 12203  }
 12204  
 12205  // String returns the string representation.
 12206  //
 12207  // API parameter values that are decorated as "sensitive" in the API will not
 12208  // be included in the string output. The member name will be present, but the
 12209  // value will be replaced with "sensitive".
 12210  func (s UpdateChannelOutput) String() string {
 12211  	return awsutil.Prettify(s)
 12212  }
 12213  
 12214  // GoString returns the string representation.
 12215  //
 12216  // API parameter values that are decorated as "sensitive" in the API will not
 12217  // be included in the string output. The member name will be present, but the
 12218  // value will be replaced with "sensitive".
 12219  func (s UpdateChannelOutput) GoString() string {
 12220  	return s.String()
 12221  }
 12222  
 12223  type UpdateDatasetInput struct {
 12224  	_ struct{} `type:"structure"`
 12225  
 12226  	// A list of DatasetAction objects.
 12227  	//
 12228  	// Actions is a required field
 12229  	Actions []*DatasetAction `locationName:"actions" min:"1" type:"list" required:"true"`
 12230  
 12231  	// When dataset contents are created, they are delivered to destinations specified
 12232  	// here.
 12233  	ContentDeliveryRules []*DatasetContentDeliveryRule `locationName:"contentDeliveryRules" type:"list"`
 12234  
 12235  	// The name of the dataset to update.
 12236  	//
 12237  	// DatasetName is a required field
 12238  	DatasetName *string `location:"uri" locationName:"datasetName" min:"1" type:"string" required:"true"`
 12239  
 12240  	// A list of data rules that send notifications to CloudWatch, when data arrives
 12241  	// late. To specify lateDataRules, the dataset must use a DeltaTimer (https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html)
 12242  	// filter.
 12243  	LateDataRules []*LateDataRule `locationName:"lateDataRules" min:"1" type:"list"`
 12244  
 12245  	// How long, in days, dataset contents are kept for the dataset.
 12246  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
 12247  
 12248  	// A list of DatasetTrigger objects. The list can be empty or can contain up
 12249  	// to five DatasetTrigger objects.
 12250  	Triggers []*DatasetTrigger `locationName:"triggers" type:"list"`
 12251  
 12252  	// Optional. How many versions of dataset contents are kept. If not specified
 12253  	// or set to null, only the latest version plus the latest succeeded version
 12254  	// (if they are different) are kept for the time period specified by the retentionPeriod
 12255  	// parameter. For more information, see Keeping Multiple Versions of IoT Analytics
 12256  	// datasets (https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)
 12257  	// in the IoT Analytics User Guide.
 12258  	VersioningConfiguration *VersioningConfiguration `locationName:"versioningConfiguration" type:"structure"`
 12259  }
 12260  
 12261  // String returns the string representation.
 12262  //
 12263  // API parameter values that are decorated as "sensitive" in the API will not
 12264  // be included in the string output. The member name will be present, but the
 12265  // value will be replaced with "sensitive".
 12266  func (s UpdateDatasetInput) String() string {
 12267  	return awsutil.Prettify(s)
 12268  }
 12269  
 12270  // GoString returns the string representation.
 12271  //
 12272  // API parameter values that are decorated as "sensitive" in the API will not
 12273  // be included in the string output. The member name will be present, but the
 12274  // value will be replaced with "sensitive".
 12275  func (s UpdateDatasetInput) GoString() string {
 12276  	return s.String()
 12277  }
 12278  
 12279  // Validate inspects the fields of the type to determine if they are valid.
 12280  func (s *UpdateDatasetInput) Validate() error {
 12281  	invalidParams := request.ErrInvalidParams{Context: "UpdateDatasetInput"}
 12282  	if s.Actions == nil {
 12283  		invalidParams.Add(request.NewErrParamRequired("Actions"))
 12284  	}
 12285  	if s.Actions != nil && len(s.Actions) < 1 {
 12286  		invalidParams.Add(request.NewErrParamMinLen("Actions", 1))
 12287  	}
 12288  	if s.DatasetName == nil {
 12289  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
 12290  	}
 12291  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
 12292  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
 12293  	}
 12294  	if s.LateDataRules != nil && len(s.LateDataRules) < 1 {
 12295  		invalidParams.Add(request.NewErrParamMinLen("LateDataRules", 1))
 12296  	}
 12297  	if s.Actions != nil {
 12298  		for i, v := range s.Actions {
 12299  			if v == nil {
 12300  				continue
 12301  			}
 12302  			if err := v.Validate(); err != nil {
 12303  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
 12304  			}
 12305  		}
 12306  	}
 12307  	if s.ContentDeliveryRules != nil {
 12308  		for i, v := range s.ContentDeliveryRules {
 12309  			if v == nil {
 12310  				continue
 12311  			}
 12312  			if err := v.Validate(); err != nil {
 12313  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContentDeliveryRules", i), err.(request.ErrInvalidParams))
 12314  			}
 12315  		}
 12316  	}
 12317  	if s.LateDataRules != nil {
 12318  		for i, v := range s.LateDataRules {
 12319  			if v == nil {
 12320  				continue
 12321  			}
 12322  			if err := v.Validate(); err != nil {
 12323  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LateDataRules", i), err.(request.ErrInvalidParams))
 12324  			}
 12325  		}
 12326  	}
 12327  	if s.RetentionPeriod != nil {
 12328  		if err := s.RetentionPeriod.Validate(); err != nil {
 12329  			invalidParams.AddNested("RetentionPeriod", err.(request.ErrInvalidParams))
 12330  		}
 12331  	}
 12332  	if s.Triggers != nil {
 12333  		for i, v := range s.Triggers {
 12334  			if v == nil {
 12335  				continue
 12336  			}
 12337  			if err := v.Validate(); err != nil {
 12338  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Triggers", i), err.(request.ErrInvalidParams))
 12339  			}
 12340  		}
 12341  	}
 12342  	if s.VersioningConfiguration != nil {
 12343  		if err := s.VersioningConfiguration.Validate(); err != nil {
 12344  			invalidParams.AddNested("VersioningConfiguration", err.(request.ErrInvalidParams))
 12345  		}
 12346  	}
 12347  
 12348  	if invalidParams.Len() > 0 {
 12349  		return invalidParams
 12350  	}
 12351  	return nil
 12352  }
 12353  
 12354  // SetActions sets the Actions field's value.
 12355  func (s *UpdateDatasetInput) SetActions(v []*DatasetAction) *UpdateDatasetInput {
 12356  	s.Actions = v
 12357  	return s
 12358  }
 12359  
 12360  // SetContentDeliveryRules sets the ContentDeliveryRules field's value.
 12361  func (s *UpdateDatasetInput) SetContentDeliveryRules(v []*DatasetContentDeliveryRule) *UpdateDatasetInput {
 12362  	s.ContentDeliveryRules = v
 12363  	return s
 12364  }
 12365  
 12366  // SetDatasetName sets the DatasetName field's value.
 12367  func (s *UpdateDatasetInput) SetDatasetName(v string) *UpdateDatasetInput {
 12368  	s.DatasetName = &v
 12369  	return s
 12370  }
 12371  
 12372  // SetLateDataRules sets the LateDataRules field's value.
 12373  func (s *UpdateDatasetInput) SetLateDataRules(v []*LateDataRule) *UpdateDatasetInput {
 12374  	s.LateDataRules = v
 12375  	return s
 12376  }
 12377  
 12378  // SetRetentionPeriod sets the RetentionPeriod field's value.
 12379  func (s *UpdateDatasetInput) SetRetentionPeriod(v *RetentionPeriod) *UpdateDatasetInput {
 12380  	s.RetentionPeriod = v
 12381  	return s
 12382  }
 12383  
 12384  // SetTriggers sets the Triggers field's value.
 12385  func (s *UpdateDatasetInput) SetTriggers(v []*DatasetTrigger) *UpdateDatasetInput {
 12386  	s.Triggers = v
 12387  	return s
 12388  }
 12389  
 12390  // SetVersioningConfiguration sets the VersioningConfiguration field's value.
 12391  func (s *UpdateDatasetInput) SetVersioningConfiguration(v *VersioningConfiguration) *UpdateDatasetInput {
 12392  	s.VersioningConfiguration = v
 12393  	return s
 12394  }
 12395  
 12396  type UpdateDatasetOutput struct {
 12397  	_ struct{} `type:"structure" nopayload:"true"`
 12398  }
 12399  
 12400  // String returns the string representation.
 12401  //
 12402  // API parameter values that are decorated as "sensitive" in the API will not
 12403  // be included in the string output. The member name will be present, but the
 12404  // value will be replaced with "sensitive".
 12405  func (s UpdateDatasetOutput) String() string {
 12406  	return awsutil.Prettify(s)
 12407  }
 12408  
 12409  // GoString returns the string representation.
 12410  //
 12411  // API parameter values that are decorated as "sensitive" in the API will not
 12412  // be included in the string output. The member name will be present, but the
 12413  // value will be replaced with "sensitive".
 12414  func (s UpdateDatasetOutput) GoString() string {
 12415  	return s.String()
 12416  }
 12417  
 12418  type UpdateDatastoreInput struct {
 12419  	_ struct{} `type:"structure"`
 12420  
 12421  	// The name of the data store to be updated.
 12422  	//
 12423  	// DatastoreName is a required field
 12424  	DatastoreName *string `location:"uri" locationName:"datastoreName" min:"1" type:"string" required:"true"`
 12425  
 12426  	// Where data in a data store is stored.. You can choose serviceManagedS3 storage,
 12427  	// customerManagedS3 storage, or iotSiteWiseMultiLayerStorage storage. The default
 12428  	// is serviceManagedS3. You can't change the choice of Amazon S3 storage after
 12429  	// your data store is created.
 12430  	DatastoreStorage *DatastoreStorage `locationName:"datastoreStorage" type:"structure"`
 12431  
 12432  	// Contains the configuration information of file formats. IoT Analytics data
 12433  	// stores support JSON and Parquet (https://parquet.apache.org/).
 12434  	//
 12435  	// The default file format is JSON. You can specify only one format.
 12436  	//
 12437  	// You can't change the file format after you create the data store.
 12438  	FileFormatConfiguration *FileFormatConfiguration `locationName:"fileFormatConfiguration" type:"structure"`
 12439  
 12440  	// How long, in days, message data is kept for the data store. The retention
 12441  	// period can't be updated if the data store's Amazon S3 storage is customer-managed.
 12442  	RetentionPeriod *RetentionPeriod `locationName:"retentionPeriod" type:"structure"`
 12443  }
 12444  
 12445  // String returns the string representation.
 12446  //
 12447  // API parameter values that are decorated as "sensitive" in the API will not
 12448  // be included in the string output. The member name will be present, but the
 12449  // value will be replaced with "sensitive".
 12450  func (s UpdateDatastoreInput) String() string {
 12451  	return awsutil.Prettify(s)
 12452  }
 12453  
 12454  // GoString returns the string representation.
 12455  //
 12456  // API parameter values that are decorated as "sensitive" in the API will not
 12457  // be included in the string output. The member name will be present, but the
 12458  // value will be replaced with "sensitive".
 12459  func (s UpdateDatastoreInput) GoString() string {
 12460  	return s.String()
 12461  }
 12462  
 12463  // Validate inspects the fields of the type to determine if they are valid.
 12464  func (s *UpdateDatastoreInput) Validate() error {
 12465  	invalidParams := request.ErrInvalidParams{Context: "UpdateDatastoreInput"}
 12466  	if s.DatastoreName == nil {
 12467  		invalidParams.Add(request.NewErrParamRequired("DatastoreName"))
 12468  	}
 12469  	if s.DatastoreName != nil && len(*s.DatastoreName) < 1 {
 12470  		invalidParams.Add(request.NewErrParamMinLen("DatastoreName", 1))
 12471  	}
 12472  	if s.DatastoreStorage != nil {
 12473  		if err := s.DatastoreStorage.Validate(); err != nil {
 12474  			invalidParams.AddNested("DatastoreStorage", err.(request.ErrInvalidParams))
 12475  		}
 12476  	}
 12477  	if s.FileFormatConfiguration != nil {
 12478  		if err := s.FileFormatConfiguration.Validate(); err != nil {
 12479  			invalidParams.AddNested("FileFormatConfiguration", err.(request.ErrInvalidParams))
 12480  		}
 12481  	}
 12482  	if s.RetentionPeriod != nil {
 12483  		if err := s.RetentionPeriod.Validate(); err != nil {
 12484  			invalidParams.AddNested("RetentionPeriod", err.(request.ErrInvalidParams))
 12485  		}
 12486  	}
 12487  
 12488  	if invalidParams.Len() > 0 {
 12489  		return invalidParams
 12490  	}
 12491  	return nil
 12492  }
 12493  
 12494  // SetDatastoreName sets the DatastoreName field's value.
 12495  func (s *UpdateDatastoreInput) SetDatastoreName(v string) *UpdateDatastoreInput {
 12496  	s.DatastoreName = &v
 12497  	return s
 12498  }
 12499  
 12500  // SetDatastoreStorage sets the DatastoreStorage field's value.
 12501  func (s *UpdateDatastoreInput) SetDatastoreStorage(v *DatastoreStorage) *UpdateDatastoreInput {
 12502  	s.DatastoreStorage = v
 12503  	return s
 12504  }
 12505  
 12506  // SetFileFormatConfiguration sets the FileFormatConfiguration field's value.
 12507  func (s *UpdateDatastoreInput) SetFileFormatConfiguration(v *FileFormatConfiguration) *UpdateDatastoreInput {
 12508  	s.FileFormatConfiguration = v
 12509  	return s
 12510  }
 12511  
 12512  // SetRetentionPeriod sets the RetentionPeriod field's value.
 12513  func (s *UpdateDatastoreInput) SetRetentionPeriod(v *RetentionPeriod) *UpdateDatastoreInput {
 12514  	s.RetentionPeriod = v
 12515  	return s
 12516  }
 12517  
 12518  type UpdateDatastoreOutput struct {
 12519  	_ struct{} `type:"structure" nopayload:"true"`
 12520  }
 12521  
 12522  // String returns the string representation.
 12523  //
 12524  // API parameter values that are decorated as "sensitive" in the API will not
 12525  // be included in the string output. The member name will be present, but the
 12526  // value will be replaced with "sensitive".
 12527  func (s UpdateDatastoreOutput) String() string {
 12528  	return awsutil.Prettify(s)
 12529  }
 12530  
 12531  // GoString returns the string representation.
 12532  //
 12533  // API parameter values that are decorated as "sensitive" in the API will not
 12534  // be included in the string output. The member name will be present, but the
 12535  // value will be replaced with "sensitive".
 12536  func (s UpdateDatastoreOutput) GoString() string {
 12537  	return s.String()
 12538  }
 12539  
 12540  type UpdatePipelineInput struct {
 12541  	_ struct{} `type:"structure"`
 12542  
 12543  	// A list of PipelineActivity objects. Activities perform transformations on
 12544  	// your messages, such as removing, renaming or adding message attributes; filtering
 12545  	// messages based on attribute values; invoking your Lambda functions on messages
 12546  	// for advanced processing; or performing mathematical transformations to normalize
 12547  	// device data.
 12548  	//
 12549  	// The list can be 2-25 PipelineActivity objects and must contain both a channel
 12550  	// and a datastore activity. Each entry in the list must contain only one activity.
 12551  	// For example:
 12552  	//
 12553  	// pipelineActivities = [ { "channel": { ... } }, { "lambda": { ... } }, ...
 12554  	// ]
 12555  	//
 12556  	// PipelineActivities is a required field
 12557  	PipelineActivities []*PipelineActivity `locationName:"pipelineActivities" min:"1" type:"list" required:"true"`
 12558  
 12559  	// The name of the pipeline to update.
 12560  	//
 12561  	// PipelineName is a required field
 12562  	PipelineName *string `location:"uri" locationName:"pipelineName" min:"1" type:"string" required:"true"`
 12563  }
 12564  
 12565  // String returns the string representation.
 12566  //
 12567  // API parameter values that are decorated as "sensitive" in the API will not
 12568  // be included in the string output. The member name will be present, but the
 12569  // value will be replaced with "sensitive".
 12570  func (s UpdatePipelineInput) String() string {
 12571  	return awsutil.Prettify(s)
 12572  }
 12573  
 12574  // GoString returns the string representation.
 12575  //
 12576  // API parameter values that are decorated as "sensitive" in the API will not
 12577  // be included in the string output. The member name will be present, but the
 12578  // value will be replaced with "sensitive".
 12579  func (s UpdatePipelineInput) GoString() string {
 12580  	return s.String()
 12581  }
 12582  
 12583  // Validate inspects the fields of the type to determine if they are valid.
 12584  func (s *UpdatePipelineInput) Validate() error {
 12585  	invalidParams := request.ErrInvalidParams{Context: "UpdatePipelineInput"}
 12586  	if s.PipelineActivities == nil {
 12587  		invalidParams.Add(request.NewErrParamRequired("PipelineActivities"))
 12588  	}
 12589  	if s.PipelineActivities != nil && len(s.PipelineActivities) < 1 {
 12590  		invalidParams.Add(request.NewErrParamMinLen("PipelineActivities", 1))
 12591  	}
 12592  	if s.PipelineName == nil {
 12593  		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
 12594  	}
 12595  	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
 12596  		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
 12597  	}
 12598  	if s.PipelineActivities != nil {
 12599  		for i, v := range s.PipelineActivities {
 12600  			if v == nil {
 12601  				continue
 12602  			}
 12603  			if err := v.Validate(); err != nil {
 12604  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PipelineActivities", i), err.(request.ErrInvalidParams))
 12605  			}
 12606  		}
 12607  	}
 12608  
 12609  	if invalidParams.Len() > 0 {
 12610  		return invalidParams
 12611  	}
 12612  	return nil
 12613  }
 12614  
 12615  // SetPipelineActivities sets the PipelineActivities field's value.
 12616  func (s *UpdatePipelineInput) SetPipelineActivities(v []*PipelineActivity) *UpdatePipelineInput {
 12617  	s.PipelineActivities = v
 12618  	return s
 12619  }
 12620  
 12621  // SetPipelineName sets the PipelineName field's value.
 12622  func (s *UpdatePipelineInput) SetPipelineName(v string) *UpdatePipelineInput {
 12623  	s.PipelineName = &v
 12624  	return s
 12625  }
 12626  
 12627  type UpdatePipelineOutput struct {
 12628  	_ struct{} `type:"structure" nopayload:"true"`
 12629  }
 12630  
 12631  // String returns the string representation.
 12632  //
 12633  // API parameter values that are decorated as "sensitive" in the API will not
 12634  // be included in the string output. The member name will be present, but the
 12635  // value will be replaced with "sensitive".
 12636  func (s UpdatePipelineOutput) String() string {
 12637  	return awsutil.Prettify(s)
 12638  }
 12639  
 12640  // GoString returns the string representation.
 12641  //
 12642  // API parameter values that are decorated as "sensitive" in the API will not
 12643  // be included in the string output. The member name will be present, but the
 12644  // value will be replaced with "sensitive".
 12645  func (s UpdatePipelineOutput) GoString() string {
 12646  	return s.String()
 12647  }
 12648  
 12649  // An instance of a variable to be passed to the containerAction execution.
 12650  // Each variable must have a name and a value given by one of stringValue, datasetContentVersionValue,
 12651  // or outputFileUriValue.
 12652  type Variable struct {
 12653  	_ struct{} `type:"structure"`
 12654  
 12655  	// The value of the variable as a structure that specifies a dataset content
 12656  	// version.
 12657  	DatasetContentVersionValue *DatasetContentVersionValue `locationName:"datasetContentVersionValue" type:"structure"`
 12658  
 12659  	// The value of the variable as a double (numeric).
 12660  	DoubleValue *float64 `locationName:"doubleValue" type:"double"`
 12661  
 12662  	// The name of the variable.
 12663  	//
 12664  	// Name is a required field
 12665  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 12666  
 12667  	// The value of the variable as a structure that specifies an output file URI.
 12668  	OutputFileUriValue *OutputFileUriValue `locationName:"outputFileUriValue" type:"structure"`
 12669  
 12670  	// The value of the variable as a string.
 12671  	StringValue *string `locationName:"stringValue" type:"string"`
 12672  }
 12673  
 12674  // String returns the string representation.
 12675  //
 12676  // API parameter values that are decorated as "sensitive" in the API will not
 12677  // be included in the string output. The member name will be present, but the
 12678  // value will be replaced with "sensitive".
 12679  func (s Variable) String() string {
 12680  	return awsutil.Prettify(s)
 12681  }
 12682  
 12683  // GoString returns the string representation.
 12684  //
 12685  // API parameter values that are decorated as "sensitive" in the API will not
 12686  // be included in the string output. The member name will be present, but the
 12687  // value will be replaced with "sensitive".
 12688  func (s Variable) GoString() string {
 12689  	return s.String()
 12690  }
 12691  
 12692  // Validate inspects the fields of the type to determine if they are valid.
 12693  func (s *Variable) Validate() error {
 12694  	invalidParams := request.ErrInvalidParams{Context: "Variable"}
 12695  	if s.Name == nil {
 12696  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12697  	}
 12698  	if s.Name != nil && len(*s.Name) < 1 {
 12699  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12700  	}
 12701  	if s.DatasetContentVersionValue != nil {
 12702  		if err := s.DatasetContentVersionValue.Validate(); err != nil {
 12703  			invalidParams.AddNested("DatasetContentVersionValue", err.(request.ErrInvalidParams))
 12704  		}
 12705  	}
 12706  	if s.OutputFileUriValue != nil {
 12707  		if err := s.OutputFileUriValue.Validate(); err != nil {
 12708  			invalidParams.AddNested("OutputFileUriValue", err.(request.ErrInvalidParams))
 12709  		}
 12710  	}
 12711  
 12712  	if invalidParams.Len() > 0 {
 12713  		return invalidParams
 12714  	}
 12715  	return nil
 12716  }
 12717  
 12718  // SetDatasetContentVersionValue sets the DatasetContentVersionValue field's value.
 12719  func (s *Variable) SetDatasetContentVersionValue(v *DatasetContentVersionValue) *Variable {
 12720  	s.DatasetContentVersionValue = v
 12721  	return s
 12722  }
 12723  
 12724  // SetDoubleValue sets the DoubleValue field's value.
 12725  func (s *Variable) SetDoubleValue(v float64) *Variable {
 12726  	s.DoubleValue = &v
 12727  	return s
 12728  }
 12729  
 12730  // SetName sets the Name field's value.
 12731  func (s *Variable) SetName(v string) *Variable {
 12732  	s.Name = &v
 12733  	return s
 12734  }
 12735  
 12736  // SetOutputFileUriValue sets the OutputFileUriValue field's value.
 12737  func (s *Variable) SetOutputFileUriValue(v *OutputFileUriValue) *Variable {
 12738  	s.OutputFileUriValue = v
 12739  	return s
 12740  }
 12741  
 12742  // SetStringValue sets the StringValue field's value.
 12743  func (s *Variable) SetStringValue(v string) *Variable {
 12744  	s.StringValue = &v
 12745  	return s
 12746  }
 12747  
 12748  // Information about the versioning of dataset contents.
 12749  type VersioningConfiguration struct {
 12750  	_ struct{} `type:"structure"`
 12751  
 12752  	// How many versions of dataset contents are kept. The unlimited parameter must
 12753  	// be false.
 12754  	MaxVersions *int64 `locationName:"maxVersions" min:"1" type:"integer"`
 12755  
 12756  	// If true, unlimited versions of dataset contents are kept.
 12757  	Unlimited *bool `locationName:"unlimited" type:"boolean"`
 12758  }
 12759  
 12760  // String returns the string representation.
 12761  //
 12762  // API parameter values that are decorated as "sensitive" in the API will not
 12763  // be included in the string output. The member name will be present, but the
 12764  // value will be replaced with "sensitive".
 12765  func (s VersioningConfiguration) String() string {
 12766  	return awsutil.Prettify(s)
 12767  }
 12768  
 12769  // GoString returns the string representation.
 12770  //
 12771  // API parameter values that are decorated as "sensitive" in the API will not
 12772  // be included in the string output. The member name will be present, but the
 12773  // value will be replaced with "sensitive".
 12774  func (s VersioningConfiguration) GoString() string {
 12775  	return s.String()
 12776  }
 12777  
 12778  // Validate inspects the fields of the type to determine if they are valid.
 12779  func (s *VersioningConfiguration) Validate() error {
 12780  	invalidParams := request.ErrInvalidParams{Context: "VersioningConfiguration"}
 12781  	if s.MaxVersions != nil && *s.MaxVersions < 1 {
 12782  		invalidParams.Add(request.NewErrParamMinValue("MaxVersions", 1))
 12783  	}
 12784  
 12785  	if invalidParams.Len() > 0 {
 12786  		return invalidParams
 12787  	}
 12788  	return nil
 12789  }
 12790  
 12791  // SetMaxVersions sets the MaxVersions field's value.
 12792  func (s *VersioningConfiguration) SetMaxVersions(v int64) *VersioningConfiguration {
 12793  	s.MaxVersions = &v
 12794  	return s
 12795  }
 12796  
 12797  // SetUnlimited sets the Unlimited field's value.
 12798  func (s *VersioningConfiguration) SetUnlimited(v bool) *VersioningConfiguration {
 12799  	s.Unlimited = &v
 12800  	return s
 12801  }
 12802  
 12803  const (
 12804  	// ChannelStatusCreating is a ChannelStatus enum value
 12805  	ChannelStatusCreating = "CREATING"
 12806  
 12807  	// ChannelStatusActive is a ChannelStatus enum value
 12808  	ChannelStatusActive = "ACTIVE"
 12809  
 12810  	// ChannelStatusDeleting is a ChannelStatus enum value
 12811  	ChannelStatusDeleting = "DELETING"
 12812  )
 12813  
 12814  // ChannelStatus_Values returns all elements of the ChannelStatus enum
 12815  func ChannelStatus_Values() []string {
 12816  	return []string{
 12817  		ChannelStatusCreating,
 12818  		ChannelStatusActive,
 12819  		ChannelStatusDeleting,
 12820  	}
 12821  }
 12822  
 12823  const (
 12824  	// ComputeTypeAcu1 is a ComputeType enum value
 12825  	ComputeTypeAcu1 = "ACU_1"
 12826  
 12827  	// ComputeTypeAcu2 is a ComputeType enum value
 12828  	ComputeTypeAcu2 = "ACU_2"
 12829  )
 12830  
 12831  // ComputeType_Values returns all elements of the ComputeType enum
 12832  func ComputeType_Values() []string {
 12833  	return []string{
 12834  		ComputeTypeAcu1,
 12835  		ComputeTypeAcu2,
 12836  	}
 12837  }
 12838  
 12839  const (
 12840  	// DatasetActionTypeQuery is a DatasetActionType enum value
 12841  	DatasetActionTypeQuery = "QUERY"
 12842  
 12843  	// DatasetActionTypeContainer is a DatasetActionType enum value
 12844  	DatasetActionTypeContainer = "CONTAINER"
 12845  )
 12846  
 12847  // DatasetActionType_Values returns all elements of the DatasetActionType enum
 12848  func DatasetActionType_Values() []string {
 12849  	return []string{
 12850  		DatasetActionTypeQuery,
 12851  		DatasetActionTypeContainer,
 12852  	}
 12853  }
 12854  
 12855  const (
 12856  	// DatasetContentStateCreating is a DatasetContentState enum value
 12857  	DatasetContentStateCreating = "CREATING"
 12858  
 12859  	// DatasetContentStateSucceeded is a DatasetContentState enum value
 12860  	DatasetContentStateSucceeded = "SUCCEEDED"
 12861  
 12862  	// DatasetContentStateFailed is a DatasetContentState enum value
 12863  	DatasetContentStateFailed = "FAILED"
 12864  )
 12865  
 12866  // DatasetContentState_Values returns all elements of the DatasetContentState enum
 12867  func DatasetContentState_Values() []string {
 12868  	return []string{
 12869  		DatasetContentStateCreating,
 12870  		DatasetContentStateSucceeded,
 12871  		DatasetContentStateFailed,
 12872  	}
 12873  }
 12874  
 12875  const (
 12876  	// DatasetStatusCreating is a DatasetStatus enum value
 12877  	DatasetStatusCreating = "CREATING"
 12878  
 12879  	// DatasetStatusActive is a DatasetStatus enum value
 12880  	DatasetStatusActive = "ACTIVE"
 12881  
 12882  	// DatasetStatusDeleting is a DatasetStatus enum value
 12883  	DatasetStatusDeleting = "DELETING"
 12884  )
 12885  
 12886  // DatasetStatus_Values returns all elements of the DatasetStatus enum
 12887  func DatasetStatus_Values() []string {
 12888  	return []string{
 12889  		DatasetStatusCreating,
 12890  		DatasetStatusActive,
 12891  		DatasetStatusDeleting,
 12892  	}
 12893  }
 12894  
 12895  const (
 12896  	// DatastoreStatusCreating is a DatastoreStatus enum value
 12897  	DatastoreStatusCreating = "CREATING"
 12898  
 12899  	// DatastoreStatusActive is a DatastoreStatus enum value
 12900  	DatastoreStatusActive = "ACTIVE"
 12901  
 12902  	// DatastoreStatusDeleting is a DatastoreStatus enum value
 12903  	DatastoreStatusDeleting = "DELETING"
 12904  )
 12905  
 12906  // DatastoreStatus_Values returns all elements of the DatastoreStatus enum
 12907  func DatastoreStatus_Values() []string {
 12908  	return []string{
 12909  		DatastoreStatusCreating,
 12910  		DatastoreStatusActive,
 12911  		DatastoreStatusDeleting,
 12912  	}
 12913  }
 12914  
 12915  const (
 12916  	// FileFormatTypeJson is a FileFormatType enum value
 12917  	FileFormatTypeJson = "JSON"
 12918  
 12919  	// FileFormatTypeParquet is a FileFormatType enum value
 12920  	FileFormatTypeParquet = "PARQUET"
 12921  )
 12922  
 12923  // FileFormatType_Values returns all elements of the FileFormatType enum
 12924  func FileFormatType_Values() []string {
 12925  	return []string{
 12926  		FileFormatTypeJson,
 12927  		FileFormatTypeParquet,
 12928  	}
 12929  }
 12930  
 12931  const (
 12932  	// LoggingLevelError is a LoggingLevel enum value
 12933  	LoggingLevelError = "ERROR"
 12934  )
 12935  
 12936  // LoggingLevel_Values returns all elements of the LoggingLevel enum
 12937  func LoggingLevel_Values() []string {
 12938  	return []string{
 12939  		LoggingLevelError,
 12940  	}
 12941  }
 12942  
 12943  const (
 12944  	// ReprocessingStatusRunning is a ReprocessingStatus enum value
 12945  	ReprocessingStatusRunning = "RUNNING"
 12946  
 12947  	// ReprocessingStatusSucceeded is a ReprocessingStatus enum value
 12948  	ReprocessingStatusSucceeded = "SUCCEEDED"
 12949  
 12950  	// ReprocessingStatusCancelled is a ReprocessingStatus enum value
 12951  	ReprocessingStatusCancelled = "CANCELLED"
 12952  
 12953  	// ReprocessingStatusFailed is a ReprocessingStatus enum value
 12954  	ReprocessingStatusFailed = "FAILED"
 12955  )
 12956  
 12957  // ReprocessingStatus_Values returns all elements of the ReprocessingStatus enum
 12958  func ReprocessingStatus_Values() []string {
 12959  	return []string{
 12960  		ReprocessingStatusRunning,
 12961  		ReprocessingStatusSucceeded,
 12962  		ReprocessingStatusCancelled,
 12963  		ReprocessingStatusFailed,
 12964  	}
 12965  }