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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package iotevents
     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 opCreateAlarmModel = "CreateAlarmModel"
    17  
    18  // CreateAlarmModelRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateAlarmModel 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 CreateAlarmModel for more information on using the CreateAlarmModel
    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 CreateAlarmModelRequest method.
    34  //    req, resp := client.CreateAlarmModelRequest(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/iotevents-2018-07-27/CreateAlarmModel
    42  func (c *IoTEvents) CreateAlarmModelRequest(input *CreateAlarmModelInput) (req *request.Request, output *CreateAlarmModelOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateAlarmModel,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/alarm-models",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateAlarmModelInput{}
    51  	}
    52  
    53  	output = &CreateAlarmModelOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateAlarmModel API operation for AWS IoT Events.
    59  //
    60  // Creates an alarm model to monitor an AWS IoT Events input attribute. You
    61  // can use the alarm to get notified when the value is outside a specified range.
    62  // For more information, see Create an alarm model (https://docs.aws.amazon.com/iotevents/latest/developerguide/create-alarms.html)
    63  // in the AWS IoT Events Developer Guide.
    64  //
    65  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    66  // with awserr.Error's Code and Message methods to get detailed information about
    67  // the error.
    68  //
    69  // See the AWS API reference guide for AWS IoT Events's
    70  // API operation CreateAlarmModel for usage and error information.
    71  //
    72  // Returned Error Types:
    73  //   * InvalidRequestException
    74  //   The request was invalid.
    75  //
    76  //   * ResourceInUseException
    77  //   The resource is in use.
    78  //
    79  //   * ResourceAlreadyExistsException
    80  //   The resource already exists.
    81  //
    82  //   * LimitExceededException
    83  //   A limit was exceeded.
    84  //
    85  //   * ThrottlingException
    86  //   The request could not be completed due to throttling.
    87  //
    88  //   * InternalFailureException
    89  //   An internal failure occurred.
    90  //
    91  //   * ServiceUnavailableException
    92  //   The service is currently unavailable.
    93  //
    94  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateAlarmModel
    95  func (c *IoTEvents) CreateAlarmModel(input *CreateAlarmModelInput) (*CreateAlarmModelOutput, error) {
    96  	req, out := c.CreateAlarmModelRequest(input)
    97  	return out, req.Send()
    98  }
    99  
   100  // CreateAlarmModelWithContext is the same as CreateAlarmModel with the addition of
   101  // the ability to pass a context and additional request options.
   102  //
   103  // See CreateAlarmModel for details on how to use this API operation.
   104  //
   105  // The context must be non-nil and will be used for request cancellation. If
   106  // the context is nil a panic will occur. In the future the SDK may create
   107  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   108  // for more information on using Contexts.
   109  func (c *IoTEvents) CreateAlarmModelWithContext(ctx aws.Context, input *CreateAlarmModelInput, opts ...request.Option) (*CreateAlarmModelOutput, error) {
   110  	req, out := c.CreateAlarmModelRequest(input)
   111  	req.SetContext(ctx)
   112  	req.ApplyOptions(opts...)
   113  	return out, req.Send()
   114  }
   115  
   116  const opCreateDetectorModel = "CreateDetectorModel"
   117  
   118  // CreateDetectorModelRequest generates a "aws/request.Request" representing the
   119  // client's request for the CreateDetectorModel operation. The "output" return
   120  // value will be populated with the request's response once the request completes
   121  // successfully.
   122  //
   123  // Use "Send" method on the returned Request to send the API call to the service.
   124  // the "output" return value is not valid until after Send returns without error.
   125  //
   126  // See CreateDetectorModel for more information on using the CreateDetectorModel
   127  // API call, and error handling.
   128  //
   129  // This method is useful when you want to inject custom logic or configuration
   130  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   131  //
   132  //
   133  //    // Example sending a request using the CreateDetectorModelRequest method.
   134  //    req, resp := client.CreateDetectorModelRequest(params)
   135  //
   136  //    err := req.Send()
   137  //    if err == nil { // resp is now filled
   138  //        fmt.Println(resp)
   139  //    }
   140  //
   141  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateDetectorModel
   142  func (c *IoTEvents) CreateDetectorModelRequest(input *CreateDetectorModelInput) (req *request.Request, output *CreateDetectorModelOutput) {
   143  	op := &request.Operation{
   144  		Name:       opCreateDetectorModel,
   145  		HTTPMethod: "POST",
   146  		HTTPPath:   "/detector-models",
   147  	}
   148  
   149  	if input == nil {
   150  		input = &CreateDetectorModelInput{}
   151  	}
   152  
   153  	output = &CreateDetectorModelOutput{}
   154  	req = c.newRequest(op, input, output)
   155  	return
   156  }
   157  
   158  // CreateDetectorModel API operation for AWS IoT Events.
   159  //
   160  // Creates a detector model.
   161  //
   162  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   163  // with awserr.Error's Code and Message methods to get detailed information about
   164  // the error.
   165  //
   166  // See the AWS API reference guide for AWS IoT Events's
   167  // API operation CreateDetectorModel for usage and error information.
   168  //
   169  // Returned Error Types:
   170  //   * InvalidRequestException
   171  //   The request was invalid.
   172  //
   173  //   * ResourceInUseException
   174  //   The resource is in use.
   175  //
   176  //   * ResourceAlreadyExistsException
   177  //   The resource already exists.
   178  //
   179  //   * LimitExceededException
   180  //   A limit was exceeded.
   181  //
   182  //   * ThrottlingException
   183  //   The request could not be completed due to throttling.
   184  //
   185  //   * InternalFailureException
   186  //   An internal failure occurred.
   187  //
   188  //   * ServiceUnavailableException
   189  //   The service is currently unavailable.
   190  //
   191  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateDetectorModel
   192  func (c *IoTEvents) CreateDetectorModel(input *CreateDetectorModelInput) (*CreateDetectorModelOutput, error) {
   193  	req, out := c.CreateDetectorModelRequest(input)
   194  	return out, req.Send()
   195  }
   196  
   197  // CreateDetectorModelWithContext is the same as CreateDetectorModel with the addition of
   198  // the ability to pass a context and additional request options.
   199  //
   200  // See CreateDetectorModel for details on how to use this API operation.
   201  //
   202  // The context must be non-nil and will be used for request cancellation. If
   203  // the context is nil a panic will occur. In the future the SDK may create
   204  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   205  // for more information on using Contexts.
   206  func (c *IoTEvents) CreateDetectorModelWithContext(ctx aws.Context, input *CreateDetectorModelInput, opts ...request.Option) (*CreateDetectorModelOutput, error) {
   207  	req, out := c.CreateDetectorModelRequest(input)
   208  	req.SetContext(ctx)
   209  	req.ApplyOptions(opts...)
   210  	return out, req.Send()
   211  }
   212  
   213  const opCreateInput = "CreateInput"
   214  
   215  // CreateInputRequest generates a "aws/request.Request" representing the
   216  // client's request for the CreateInput operation. The "output" return
   217  // value will be populated with the request's response once the request completes
   218  // successfully.
   219  //
   220  // Use "Send" method on the returned Request to send the API call to the service.
   221  // the "output" return value is not valid until after Send returns without error.
   222  //
   223  // See CreateInput for more information on using the CreateInput
   224  // API call, and error handling.
   225  //
   226  // This method is useful when you want to inject custom logic or configuration
   227  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   228  //
   229  //
   230  //    // Example sending a request using the CreateInputRequest method.
   231  //    req, resp := client.CreateInputRequest(params)
   232  //
   233  //    err := req.Send()
   234  //    if err == nil { // resp is now filled
   235  //        fmt.Println(resp)
   236  //    }
   237  //
   238  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateInput
   239  func (c *IoTEvents) CreateInputRequest(input *CreateInputInput) (req *request.Request, output *CreateInputOutput) {
   240  	op := &request.Operation{
   241  		Name:       opCreateInput,
   242  		HTTPMethod: "POST",
   243  		HTTPPath:   "/inputs",
   244  	}
   245  
   246  	if input == nil {
   247  		input = &CreateInputInput{}
   248  	}
   249  
   250  	output = &CreateInputOutput{}
   251  	req = c.newRequest(op, input, output)
   252  	return
   253  }
   254  
   255  // CreateInput API operation for AWS IoT Events.
   256  //
   257  // Creates an input.
   258  //
   259  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   260  // with awserr.Error's Code and Message methods to get detailed information about
   261  // the error.
   262  //
   263  // See the AWS API reference guide for AWS IoT Events's
   264  // API operation CreateInput for usage and error information.
   265  //
   266  // Returned Error Types:
   267  //   * InvalidRequestException
   268  //   The request was invalid.
   269  //
   270  //   * ThrottlingException
   271  //   The request could not be completed due to throttling.
   272  //
   273  //   * InternalFailureException
   274  //   An internal failure occurred.
   275  //
   276  //   * ServiceUnavailableException
   277  //   The service is currently unavailable.
   278  //
   279  //   * ResourceAlreadyExistsException
   280  //   The resource already exists.
   281  //
   282  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateInput
   283  func (c *IoTEvents) CreateInput(input *CreateInputInput) (*CreateInputOutput, error) {
   284  	req, out := c.CreateInputRequest(input)
   285  	return out, req.Send()
   286  }
   287  
   288  // CreateInputWithContext is the same as CreateInput with the addition of
   289  // the ability to pass a context and additional request options.
   290  //
   291  // See CreateInput for details on how to use this API operation.
   292  //
   293  // The context must be non-nil and will be used for request cancellation. If
   294  // the context is nil a panic will occur. In the future the SDK may create
   295  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   296  // for more information on using Contexts.
   297  func (c *IoTEvents) CreateInputWithContext(ctx aws.Context, input *CreateInputInput, opts ...request.Option) (*CreateInputOutput, error) {
   298  	req, out := c.CreateInputRequest(input)
   299  	req.SetContext(ctx)
   300  	req.ApplyOptions(opts...)
   301  	return out, req.Send()
   302  }
   303  
   304  const opDeleteAlarmModel = "DeleteAlarmModel"
   305  
   306  // DeleteAlarmModelRequest generates a "aws/request.Request" representing the
   307  // client's request for the DeleteAlarmModel operation. The "output" return
   308  // value will be populated with the request's response once the request completes
   309  // successfully.
   310  //
   311  // Use "Send" method on the returned Request to send the API call to the service.
   312  // the "output" return value is not valid until after Send returns without error.
   313  //
   314  // See DeleteAlarmModel for more information on using the DeleteAlarmModel
   315  // API call, and error handling.
   316  //
   317  // This method is useful when you want to inject custom logic or configuration
   318  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   319  //
   320  //
   321  //    // Example sending a request using the DeleteAlarmModelRequest method.
   322  //    req, resp := client.DeleteAlarmModelRequest(params)
   323  //
   324  //    err := req.Send()
   325  //    if err == nil { // resp is now filled
   326  //        fmt.Println(resp)
   327  //    }
   328  //
   329  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteAlarmModel
   330  func (c *IoTEvents) DeleteAlarmModelRequest(input *DeleteAlarmModelInput) (req *request.Request, output *DeleteAlarmModelOutput) {
   331  	op := &request.Operation{
   332  		Name:       opDeleteAlarmModel,
   333  		HTTPMethod: "DELETE",
   334  		HTTPPath:   "/alarm-models/{alarmModelName}",
   335  	}
   336  
   337  	if input == nil {
   338  		input = &DeleteAlarmModelInput{}
   339  	}
   340  
   341  	output = &DeleteAlarmModelOutput{}
   342  	req = c.newRequest(op, input, output)
   343  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   344  	return
   345  }
   346  
   347  // DeleteAlarmModel API operation for AWS IoT Events.
   348  //
   349  // Deletes an alarm model. Any alarm instances that were created based on this
   350  // alarm model are also deleted. This action can't be undone.
   351  //
   352  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   353  // with awserr.Error's Code and Message methods to get detailed information about
   354  // the error.
   355  //
   356  // See the AWS API reference guide for AWS IoT Events's
   357  // API operation DeleteAlarmModel for usage and error information.
   358  //
   359  // Returned Error Types:
   360  //   * InvalidRequestException
   361  //   The request was invalid.
   362  //
   363  //   * ResourceInUseException
   364  //   The resource is in use.
   365  //
   366  //   * ResourceNotFoundException
   367  //   The resource was not found.
   368  //
   369  //   * ThrottlingException
   370  //   The request could not be completed due to throttling.
   371  //
   372  //   * InternalFailureException
   373  //   An internal failure occurred.
   374  //
   375  //   * ServiceUnavailableException
   376  //   The service is currently unavailable.
   377  //
   378  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteAlarmModel
   379  func (c *IoTEvents) DeleteAlarmModel(input *DeleteAlarmModelInput) (*DeleteAlarmModelOutput, error) {
   380  	req, out := c.DeleteAlarmModelRequest(input)
   381  	return out, req.Send()
   382  }
   383  
   384  // DeleteAlarmModelWithContext is the same as DeleteAlarmModel with the addition of
   385  // the ability to pass a context and additional request options.
   386  //
   387  // See DeleteAlarmModel for details on how to use this API operation.
   388  //
   389  // The context must be non-nil and will be used for request cancellation. If
   390  // the context is nil a panic will occur. In the future the SDK may create
   391  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   392  // for more information on using Contexts.
   393  func (c *IoTEvents) DeleteAlarmModelWithContext(ctx aws.Context, input *DeleteAlarmModelInput, opts ...request.Option) (*DeleteAlarmModelOutput, error) {
   394  	req, out := c.DeleteAlarmModelRequest(input)
   395  	req.SetContext(ctx)
   396  	req.ApplyOptions(opts...)
   397  	return out, req.Send()
   398  }
   399  
   400  const opDeleteDetectorModel = "DeleteDetectorModel"
   401  
   402  // DeleteDetectorModelRequest generates a "aws/request.Request" representing the
   403  // client's request for the DeleteDetectorModel operation. The "output" return
   404  // value will be populated with the request's response once the request completes
   405  // successfully.
   406  //
   407  // Use "Send" method on the returned Request to send the API call to the service.
   408  // the "output" return value is not valid until after Send returns without error.
   409  //
   410  // See DeleteDetectorModel for more information on using the DeleteDetectorModel
   411  // API call, and error handling.
   412  //
   413  // This method is useful when you want to inject custom logic or configuration
   414  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   415  //
   416  //
   417  //    // Example sending a request using the DeleteDetectorModelRequest method.
   418  //    req, resp := client.DeleteDetectorModelRequest(params)
   419  //
   420  //    err := req.Send()
   421  //    if err == nil { // resp is now filled
   422  //        fmt.Println(resp)
   423  //    }
   424  //
   425  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteDetectorModel
   426  func (c *IoTEvents) DeleteDetectorModelRequest(input *DeleteDetectorModelInput) (req *request.Request, output *DeleteDetectorModelOutput) {
   427  	op := &request.Operation{
   428  		Name:       opDeleteDetectorModel,
   429  		HTTPMethod: "DELETE",
   430  		HTTPPath:   "/detector-models/{detectorModelName}",
   431  	}
   432  
   433  	if input == nil {
   434  		input = &DeleteDetectorModelInput{}
   435  	}
   436  
   437  	output = &DeleteDetectorModelOutput{}
   438  	req = c.newRequest(op, input, output)
   439  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   440  	return
   441  }
   442  
   443  // DeleteDetectorModel API operation for AWS IoT Events.
   444  //
   445  // Deletes a detector model. Any active instances of the detector model are
   446  // also deleted.
   447  //
   448  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   449  // with awserr.Error's Code and Message methods to get detailed information about
   450  // the error.
   451  //
   452  // See the AWS API reference guide for AWS IoT Events's
   453  // API operation DeleteDetectorModel for usage and error information.
   454  //
   455  // Returned Error Types:
   456  //   * InvalidRequestException
   457  //   The request was invalid.
   458  //
   459  //   * ResourceInUseException
   460  //   The resource is in use.
   461  //
   462  //   * ResourceNotFoundException
   463  //   The resource was not found.
   464  //
   465  //   * ThrottlingException
   466  //   The request could not be completed due to throttling.
   467  //
   468  //   * InternalFailureException
   469  //   An internal failure occurred.
   470  //
   471  //   * ServiceUnavailableException
   472  //   The service is currently unavailable.
   473  //
   474  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteDetectorModel
   475  func (c *IoTEvents) DeleteDetectorModel(input *DeleteDetectorModelInput) (*DeleteDetectorModelOutput, error) {
   476  	req, out := c.DeleteDetectorModelRequest(input)
   477  	return out, req.Send()
   478  }
   479  
   480  // DeleteDetectorModelWithContext is the same as DeleteDetectorModel with the addition of
   481  // the ability to pass a context and additional request options.
   482  //
   483  // See DeleteDetectorModel for details on how to use this API operation.
   484  //
   485  // The context must be non-nil and will be used for request cancellation. If
   486  // the context is nil a panic will occur. In the future the SDK may create
   487  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   488  // for more information on using Contexts.
   489  func (c *IoTEvents) DeleteDetectorModelWithContext(ctx aws.Context, input *DeleteDetectorModelInput, opts ...request.Option) (*DeleteDetectorModelOutput, error) {
   490  	req, out := c.DeleteDetectorModelRequest(input)
   491  	req.SetContext(ctx)
   492  	req.ApplyOptions(opts...)
   493  	return out, req.Send()
   494  }
   495  
   496  const opDeleteInput = "DeleteInput"
   497  
   498  // DeleteInputRequest generates a "aws/request.Request" representing the
   499  // client's request for the DeleteInput operation. The "output" return
   500  // value will be populated with the request's response once the request completes
   501  // successfully.
   502  //
   503  // Use "Send" method on the returned Request to send the API call to the service.
   504  // the "output" return value is not valid until after Send returns without error.
   505  //
   506  // See DeleteInput for more information on using the DeleteInput
   507  // API call, and error handling.
   508  //
   509  // This method is useful when you want to inject custom logic or configuration
   510  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   511  //
   512  //
   513  //    // Example sending a request using the DeleteInputRequest method.
   514  //    req, resp := client.DeleteInputRequest(params)
   515  //
   516  //    err := req.Send()
   517  //    if err == nil { // resp is now filled
   518  //        fmt.Println(resp)
   519  //    }
   520  //
   521  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteInput
   522  func (c *IoTEvents) DeleteInputRequest(input *DeleteInputInput) (req *request.Request, output *DeleteInputOutput) {
   523  	op := &request.Operation{
   524  		Name:       opDeleteInput,
   525  		HTTPMethod: "DELETE",
   526  		HTTPPath:   "/inputs/{inputName}",
   527  	}
   528  
   529  	if input == nil {
   530  		input = &DeleteInputInput{}
   531  	}
   532  
   533  	output = &DeleteInputOutput{}
   534  	req = c.newRequest(op, input, output)
   535  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   536  	return
   537  }
   538  
   539  // DeleteInput API operation for AWS IoT Events.
   540  //
   541  // Deletes an input.
   542  //
   543  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   544  // with awserr.Error's Code and Message methods to get detailed information about
   545  // the error.
   546  //
   547  // See the AWS API reference guide for AWS IoT Events's
   548  // API operation DeleteInput for usage and error information.
   549  //
   550  // Returned Error Types:
   551  //   * InvalidRequestException
   552  //   The request was invalid.
   553  //
   554  //   * ResourceNotFoundException
   555  //   The resource was not found.
   556  //
   557  //   * ThrottlingException
   558  //   The request could not be completed due to throttling.
   559  //
   560  //   * InternalFailureException
   561  //   An internal failure occurred.
   562  //
   563  //   * ServiceUnavailableException
   564  //   The service is currently unavailable.
   565  //
   566  //   * ResourceInUseException
   567  //   The resource is in use.
   568  //
   569  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteInput
   570  func (c *IoTEvents) DeleteInput(input *DeleteInputInput) (*DeleteInputOutput, error) {
   571  	req, out := c.DeleteInputRequest(input)
   572  	return out, req.Send()
   573  }
   574  
   575  // DeleteInputWithContext is the same as DeleteInput with the addition of
   576  // the ability to pass a context and additional request options.
   577  //
   578  // See DeleteInput for details on how to use this API operation.
   579  //
   580  // The context must be non-nil and will be used for request cancellation. If
   581  // the context is nil a panic will occur. In the future the SDK may create
   582  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   583  // for more information on using Contexts.
   584  func (c *IoTEvents) DeleteInputWithContext(ctx aws.Context, input *DeleteInputInput, opts ...request.Option) (*DeleteInputOutput, error) {
   585  	req, out := c.DeleteInputRequest(input)
   586  	req.SetContext(ctx)
   587  	req.ApplyOptions(opts...)
   588  	return out, req.Send()
   589  }
   590  
   591  const opDescribeAlarmModel = "DescribeAlarmModel"
   592  
   593  // DescribeAlarmModelRequest generates a "aws/request.Request" representing the
   594  // client's request for the DescribeAlarmModel operation. The "output" return
   595  // value will be populated with the request's response once the request completes
   596  // successfully.
   597  //
   598  // Use "Send" method on the returned Request to send the API call to the service.
   599  // the "output" return value is not valid until after Send returns without error.
   600  //
   601  // See DescribeAlarmModel for more information on using the DescribeAlarmModel
   602  // API call, and error handling.
   603  //
   604  // This method is useful when you want to inject custom logic or configuration
   605  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   606  //
   607  //
   608  //    // Example sending a request using the DescribeAlarmModelRequest method.
   609  //    req, resp := client.DescribeAlarmModelRequest(params)
   610  //
   611  //    err := req.Send()
   612  //    if err == nil { // resp is now filled
   613  //        fmt.Println(resp)
   614  //    }
   615  //
   616  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeAlarmModel
   617  func (c *IoTEvents) DescribeAlarmModelRequest(input *DescribeAlarmModelInput) (req *request.Request, output *DescribeAlarmModelOutput) {
   618  	op := &request.Operation{
   619  		Name:       opDescribeAlarmModel,
   620  		HTTPMethod: "GET",
   621  		HTTPPath:   "/alarm-models/{alarmModelName}",
   622  	}
   623  
   624  	if input == nil {
   625  		input = &DescribeAlarmModelInput{}
   626  	}
   627  
   628  	output = &DescribeAlarmModelOutput{}
   629  	req = c.newRequest(op, input, output)
   630  	return
   631  }
   632  
   633  // DescribeAlarmModel API operation for AWS IoT Events.
   634  //
   635  // Retrieves information about an alarm model. If you don't specify a value
   636  // for the alarmModelVersion parameter, the latest version is returned.
   637  //
   638  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   639  // with awserr.Error's Code and Message methods to get detailed information about
   640  // the error.
   641  //
   642  // See the AWS API reference guide for AWS IoT Events's
   643  // API operation DescribeAlarmModel for usage and error information.
   644  //
   645  // Returned Error Types:
   646  //   * InvalidRequestException
   647  //   The request was invalid.
   648  //
   649  //   * ResourceNotFoundException
   650  //   The resource was not found.
   651  //
   652  //   * ThrottlingException
   653  //   The request could not be completed due to throttling.
   654  //
   655  //   * InternalFailureException
   656  //   An internal failure occurred.
   657  //
   658  //   * ServiceUnavailableException
   659  //   The service is currently unavailable.
   660  //
   661  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeAlarmModel
   662  func (c *IoTEvents) DescribeAlarmModel(input *DescribeAlarmModelInput) (*DescribeAlarmModelOutput, error) {
   663  	req, out := c.DescribeAlarmModelRequest(input)
   664  	return out, req.Send()
   665  }
   666  
   667  // DescribeAlarmModelWithContext is the same as DescribeAlarmModel with the addition of
   668  // the ability to pass a context and additional request options.
   669  //
   670  // See DescribeAlarmModel for details on how to use this API operation.
   671  //
   672  // The context must be non-nil and will be used for request cancellation. If
   673  // the context is nil a panic will occur. In the future the SDK may create
   674  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   675  // for more information on using Contexts.
   676  func (c *IoTEvents) DescribeAlarmModelWithContext(ctx aws.Context, input *DescribeAlarmModelInput, opts ...request.Option) (*DescribeAlarmModelOutput, error) {
   677  	req, out := c.DescribeAlarmModelRequest(input)
   678  	req.SetContext(ctx)
   679  	req.ApplyOptions(opts...)
   680  	return out, req.Send()
   681  }
   682  
   683  const opDescribeDetectorModel = "DescribeDetectorModel"
   684  
   685  // DescribeDetectorModelRequest generates a "aws/request.Request" representing the
   686  // client's request for the DescribeDetectorModel operation. The "output" return
   687  // value will be populated with the request's response once the request completes
   688  // successfully.
   689  //
   690  // Use "Send" method on the returned Request to send the API call to the service.
   691  // the "output" return value is not valid until after Send returns without error.
   692  //
   693  // See DescribeDetectorModel for more information on using the DescribeDetectorModel
   694  // API call, and error handling.
   695  //
   696  // This method is useful when you want to inject custom logic or configuration
   697  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   698  //
   699  //
   700  //    // Example sending a request using the DescribeDetectorModelRequest method.
   701  //    req, resp := client.DescribeDetectorModelRequest(params)
   702  //
   703  //    err := req.Send()
   704  //    if err == nil { // resp is now filled
   705  //        fmt.Println(resp)
   706  //    }
   707  //
   708  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeDetectorModel
   709  func (c *IoTEvents) DescribeDetectorModelRequest(input *DescribeDetectorModelInput) (req *request.Request, output *DescribeDetectorModelOutput) {
   710  	op := &request.Operation{
   711  		Name:       opDescribeDetectorModel,
   712  		HTTPMethod: "GET",
   713  		HTTPPath:   "/detector-models/{detectorModelName}",
   714  	}
   715  
   716  	if input == nil {
   717  		input = &DescribeDetectorModelInput{}
   718  	}
   719  
   720  	output = &DescribeDetectorModelOutput{}
   721  	req = c.newRequest(op, input, output)
   722  	return
   723  }
   724  
   725  // DescribeDetectorModel API operation for AWS IoT Events.
   726  //
   727  // Describes a detector model. If the version parameter is not specified, information
   728  // about the latest version is returned.
   729  //
   730  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   731  // with awserr.Error's Code and Message methods to get detailed information about
   732  // the error.
   733  //
   734  // See the AWS API reference guide for AWS IoT Events's
   735  // API operation DescribeDetectorModel for usage and error information.
   736  //
   737  // Returned Error Types:
   738  //   * InvalidRequestException
   739  //   The request was invalid.
   740  //
   741  //   * ResourceNotFoundException
   742  //   The resource was not found.
   743  //
   744  //   * ThrottlingException
   745  //   The request could not be completed due to throttling.
   746  //
   747  //   * InternalFailureException
   748  //   An internal failure occurred.
   749  //
   750  //   * ServiceUnavailableException
   751  //   The service is currently unavailable.
   752  //
   753  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeDetectorModel
   754  func (c *IoTEvents) DescribeDetectorModel(input *DescribeDetectorModelInput) (*DescribeDetectorModelOutput, error) {
   755  	req, out := c.DescribeDetectorModelRequest(input)
   756  	return out, req.Send()
   757  }
   758  
   759  // DescribeDetectorModelWithContext is the same as DescribeDetectorModel with the addition of
   760  // the ability to pass a context and additional request options.
   761  //
   762  // See DescribeDetectorModel for details on how to use this API operation.
   763  //
   764  // The context must be non-nil and will be used for request cancellation. If
   765  // the context is nil a panic will occur. In the future the SDK may create
   766  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   767  // for more information on using Contexts.
   768  func (c *IoTEvents) DescribeDetectorModelWithContext(ctx aws.Context, input *DescribeDetectorModelInput, opts ...request.Option) (*DescribeDetectorModelOutput, error) {
   769  	req, out := c.DescribeDetectorModelRequest(input)
   770  	req.SetContext(ctx)
   771  	req.ApplyOptions(opts...)
   772  	return out, req.Send()
   773  }
   774  
   775  const opDescribeDetectorModelAnalysis = "DescribeDetectorModelAnalysis"
   776  
   777  // DescribeDetectorModelAnalysisRequest generates a "aws/request.Request" representing the
   778  // client's request for the DescribeDetectorModelAnalysis operation. The "output" return
   779  // value will be populated with the request's response once the request completes
   780  // successfully.
   781  //
   782  // Use "Send" method on the returned Request to send the API call to the service.
   783  // the "output" return value is not valid until after Send returns without error.
   784  //
   785  // See DescribeDetectorModelAnalysis for more information on using the DescribeDetectorModelAnalysis
   786  // API call, and error handling.
   787  //
   788  // This method is useful when you want to inject custom logic or configuration
   789  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   790  //
   791  //
   792  //    // Example sending a request using the DescribeDetectorModelAnalysisRequest method.
   793  //    req, resp := client.DescribeDetectorModelAnalysisRequest(params)
   794  //
   795  //    err := req.Send()
   796  //    if err == nil { // resp is now filled
   797  //        fmt.Println(resp)
   798  //    }
   799  //
   800  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeDetectorModelAnalysis
   801  func (c *IoTEvents) DescribeDetectorModelAnalysisRequest(input *DescribeDetectorModelAnalysisInput) (req *request.Request, output *DescribeDetectorModelAnalysisOutput) {
   802  	op := &request.Operation{
   803  		Name:       opDescribeDetectorModelAnalysis,
   804  		HTTPMethod: "GET",
   805  		HTTPPath:   "/analysis/detector-models/{analysisId}",
   806  	}
   807  
   808  	if input == nil {
   809  		input = &DescribeDetectorModelAnalysisInput{}
   810  	}
   811  
   812  	output = &DescribeDetectorModelAnalysisOutput{}
   813  	req = c.newRequest(op, input, output)
   814  	return
   815  }
   816  
   817  // DescribeDetectorModelAnalysis API operation for AWS IoT Events.
   818  //
   819  // Retrieves runtime information about a detector model analysis.
   820  //
   821  // After AWS IoT Events starts analyzing your detector model, you have up to
   822  // 24 hours to retrieve the analysis results.
   823  //
   824  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   825  // with awserr.Error's Code and Message methods to get detailed information about
   826  // the error.
   827  //
   828  // See the AWS API reference guide for AWS IoT Events's
   829  // API operation DescribeDetectorModelAnalysis for usage and error information.
   830  //
   831  // Returned Error Types:
   832  //   * InvalidRequestException
   833  //   The request was invalid.
   834  //
   835  //   * ResourceNotFoundException
   836  //   The resource was not found.
   837  //
   838  //   * ThrottlingException
   839  //   The request could not be completed due to throttling.
   840  //
   841  //   * InternalFailureException
   842  //   An internal failure occurred.
   843  //
   844  //   * ServiceUnavailableException
   845  //   The service is currently unavailable.
   846  //
   847  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeDetectorModelAnalysis
   848  func (c *IoTEvents) DescribeDetectorModelAnalysis(input *DescribeDetectorModelAnalysisInput) (*DescribeDetectorModelAnalysisOutput, error) {
   849  	req, out := c.DescribeDetectorModelAnalysisRequest(input)
   850  	return out, req.Send()
   851  }
   852  
   853  // DescribeDetectorModelAnalysisWithContext is the same as DescribeDetectorModelAnalysis with the addition of
   854  // the ability to pass a context and additional request options.
   855  //
   856  // See DescribeDetectorModelAnalysis for details on how to use this API operation.
   857  //
   858  // The context must be non-nil and will be used for request cancellation. If
   859  // the context is nil a panic will occur. In the future the SDK may create
   860  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   861  // for more information on using Contexts.
   862  func (c *IoTEvents) DescribeDetectorModelAnalysisWithContext(ctx aws.Context, input *DescribeDetectorModelAnalysisInput, opts ...request.Option) (*DescribeDetectorModelAnalysisOutput, error) {
   863  	req, out := c.DescribeDetectorModelAnalysisRequest(input)
   864  	req.SetContext(ctx)
   865  	req.ApplyOptions(opts...)
   866  	return out, req.Send()
   867  }
   868  
   869  const opDescribeInput = "DescribeInput"
   870  
   871  // DescribeInputRequest generates a "aws/request.Request" representing the
   872  // client's request for the DescribeInput operation. The "output" return
   873  // value will be populated with the request's response once the request completes
   874  // successfully.
   875  //
   876  // Use "Send" method on the returned Request to send the API call to the service.
   877  // the "output" return value is not valid until after Send returns without error.
   878  //
   879  // See DescribeInput for more information on using the DescribeInput
   880  // API call, and error handling.
   881  //
   882  // This method is useful when you want to inject custom logic or configuration
   883  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   884  //
   885  //
   886  //    // Example sending a request using the DescribeInputRequest method.
   887  //    req, resp := client.DescribeInputRequest(params)
   888  //
   889  //    err := req.Send()
   890  //    if err == nil { // resp is now filled
   891  //        fmt.Println(resp)
   892  //    }
   893  //
   894  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeInput
   895  func (c *IoTEvents) DescribeInputRequest(input *DescribeInputInput) (req *request.Request, output *DescribeInputOutput) {
   896  	op := &request.Operation{
   897  		Name:       opDescribeInput,
   898  		HTTPMethod: "GET",
   899  		HTTPPath:   "/inputs/{inputName}",
   900  	}
   901  
   902  	if input == nil {
   903  		input = &DescribeInputInput{}
   904  	}
   905  
   906  	output = &DescribeInputOutput{}
   907  	req = c.newRequest(op, input, output)
   908  	return
   909  }
   910  
   911  // DescribeInput API operation for AWS IoT Events.
   912  //
   913  // Describes an input.
   914  //
   915  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   916  // with awserr.Error's Code and Message methods to get detailed information about
   917  // the error.
   918  //
   919  // See the AWS API reference guide for AWS IoT Events's
   920  // API operation DescribeInput for usage and error information.
   921  //
   922  // Returned Error Types:
   923  //   * InvalidRequestException
   924  //   The request was invalid.
   925  //
   926  //   * ResourceNotFoundException
   927  //   The resource was not found.
   928  //
   929  //   * ThrottlingException
   930  //   The request could not be completed due to throttling.
   931  //
   932  //   * InternalFailureException
   933  //   An internal failure occurred.
   934  //
   935  //   * ServiceUnavailableException
   936  //   The service is currently unavailable.
   937  //
   938  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeInput
   939  func (c *IoTEvents) DescribeInput(input *DescribeInputInput) (*DescribeInputOutput, error) {
   940  	req, out := c.DescribeInputRequest(input)
   941  	return out, req.Send()
   942  }
   943  
   944  // DescribeInputWithContext is the same as DescribeInput with the addition of
   945  // the ability to pass a context and additional request options.
   946  //
   947  // See DescribeInput for details on how to use this API operation.
   948  //
   949  // The context must be non-nil and will be used for request cancellation. If
   950  // the context is nil a panic will occur. In the future the SDK may create
   951  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   952  // for more information on using Contexts.
   953  func (c *IoTEvents) DescribeInputWithContext(ctx aws.Context, input *DescribeInputInput, opts ...request.Option) (*DescribeInputOutput, error) {
   954  	req, out := c.DescribeInputRequest(input)
   955  	req.SetContext(ctx)
   956  	req.ApplyOptions(opts...)
   957  	return out, req.Send()
   958  }
   959  
   960  const opDescribeLoggingOptions = "DescribeLoggingOptions"
   961  
   962  // DescribeLoggingOptionsRequest generates a "aws/request.Request" representing the
   963  // client's request for the DescribeLoggingOptions operation. The "output" return
   964  // value will be populated with the request's response once the request completes
   965  // successfully.
   966  //
   967  // Use "Send" method on the returned Request to send the API call to the service.
   968  // the "output" return value is not valid until after Send returns without error.
   969  //
   970  // See DescribeLoggingOptions for more information on using the DescribeLoggingOptions
   971  // API call, and error handling.
   972  //
   973  // This method is useful when you want to inject custom logic or configuration
   974  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   975  //
   976  //
   977  //    // Example sending a request using the DescribeLoggingOptionsRequest method.
   978  //    req, resp := client.DescribeLoggingOptionsRequest(params)
   979  //
   980  //    err := req.Send()
   981  //    if err == nil { // resp is now filled
   982  //        fmt.Println(resp)
   983  //    }
   984  //
   985  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeLoggingOptions
   986  func (c *IoTEvents) DescribeLoggingOptionsRequest(input *DescribeLoggingOptionsInput) (req *request.Request, output *DescribeLoggingOptionsOutput) {
   987  	op := &request.Operation{
   988  		Name:       opDescribeLoggingOptions,
   989  		HTTPMethod: "GET",
   990  		HTTPPath:   "/logging",
   991  	}
   992  
   993  	if input == nil {
   994  		input = &DescribeLoggingOptionsInput{}
   995  	}
   996  
   997  	output = &DescribeLoggingOptionsOutput{}
   998  	req = c.newRequest(op, input, output)
   999  	return
  1000  }
  1001  
  1002  // DescribeLoggingOptions API operation for AWS IoT Events.
  1003  //
  1004  // Retrieves the current settings of the AWS IoT Events logging options.
  1005  //
  1006  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1007  // with awserr.Error's Code and Message methods to get detailed information about
  1008  // the error.
  1009  //
  1010  // See the AWS API reference guide for AWS IoT Events's
  1011  // API operation DescribeLoggingOptions for usage and error information.
  1012  //
  1013  // Returned Error Types:
  1014  //   * InvalidRequestException
  1015  //   The request was invalid.
  1016  //
  1017  //   * ThrottlingException
  1018  //   The request could not be completed due to throttling.
  1019  //
  1020  //   * InternalFailureException
  1021  //   An internal failure occurred.
  1022  //
  1023  //   * ResourceNotFoundException
  1024  //   The resource was not found.
  1025  //
  1026  //   * ServiceUnavailableException
  1027  //   The service is currently unavailable.
  1028  //
  1029  //   * UnsupportedOperationException
  1030  //   The requested operation is not supported.
  1031  //
  1032  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeLoggingOptions
  1033  func (c *IoTEvents) DescribeLoggingOptions(input *DescribeLoggingOptionsInput) (*DescribeLoggingOptionsOutput, error) {
  1034  	req, out := c.DescribeLoggingOptionsRequest(input)
  1035  	return out, req.Send()
  1036  }
  1037  
  1038  // DescribeLoggingOptionsWithContext is the same as DescribeLoggingOptions with the addition of
  1039  // the ability to pass a context and additional request options.
  1040  //
  1041  // See DescribeLoggingOptions for details on how to use this API operation.
  1042  //
  1043  // The context must be non-nil and will be used for request cancellation. If
  1044  // the context is nil a panic will occur. In the future the SDK may create
  1045  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1046  // for more information on using Contexts.
  1047  func (c *IoTEvents) DescribeLoggingOptionsWithContext(ctx aws.Context, input *DescribeLoggingOptionsInput, opts ...request.Option) (*DescribeLoggingOptionsOutput, error) {
  1048  	req, out := c.DescribeLoggingOptionsRequest(input)
  1049  	req.SetContext(ctx)
  1050  	req.ApplyOptions(opts...)
  1051  	return out, req.Send()
  1052  }
  1053  
  1054  const opGetDetectorModelAnalysisResults = "GetDetectorModelAnalysisResults"
  1055  
  1056  // GetDetectorModelAnalysisResultsRequest generates a "aws/request.Request" representing the
  1057  // client's request for the GetDetectorModelAnalysisResults operation. The "output" return
  1058  // value will be populated with the request's response once the request completes
  1059  // successfully.
  1060  //
  1061  // Use "Send" method on the returned Request to send the API call to the service.
  1062  // the "output" return value is not valid until after Send returns without error.
  1063  //
  1064  // See GetDetectorModelAnalysisResults for more information on using the GetDetectorModelAnalysisResults
  1065  // API call, and error handling.
  1066  //
  1067  // This method is useful when you want to inject custom logic or configuration
  1068  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1069  //
  1070  //
  1071  //    // Example sending a request using the GetDetectorModelAnalysisResultsRequest method.
  1072  //    req, resp := client.GetDetectorModelAnalysisResultsRequest(params)
  1073  //
  1074  //    err := req.Send()
  1075  //    if err == nil { // resp is now filled
  1076  //        fmt.Println(resp)
  1077  //    }
  1078  //
  1079  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/GetDetectorModelAnalysisResults
  1080  func (c *IoTEvents) GetDetectorModelAnalysisResultsRequest(input *GetDetectorModelAnalysisResultsInput) (req *request.Request, output *GetDetectorModelAnalysisResultsOutput) {
  1081  	op := &request.Operation{
  1082  		Name:       opGetDetectorModelAnalysisResults,
  1083  		HTTPMethod: "GET",
  1084  		HTTPPath:   "/analysis/detector-models/{analysisId}/results",
  1085  	}
  1086  
  1087  	if input == nil {
  1088  		input = &GetDetectorModelAnalysisResultsInput{}
  1089  	}
  1090  
  1091  	output = &GetDetectorModelAnalysisResultsOutput{}
  1092  	req = c.newRequest(op, input, output)
  1093  	return
  1094  }
  1095  
  1096  // GetDetectorModelAnalysisResults API operation for AWS IoT Events.
  1097  //
  1098  // Retrieves one or more analysis results of the detector model.
  1099  //
  1100  // After AWS IoT Events starts analyzing your detector model, you have up to
  1101  // 24 hours to retrieve the analysis results.
  1102  //
  1103  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1104  // with awserr.Error's Code and Message methods to get detailed information about
  1105  // the error.
  1106  //
  1107  // See the AWS API reference guide for AWS IoT Events's
  1108  // API operation GetDetectorModelAnalysisResults for usage and error information.
  1109  //
  1110  // Returned Error Types:
  1111  //   * InvalidRequestException
  1112  //   The request was invalid.
  1113  //
  1114  //   * ResourceNotFoundException
  1115  //   The resource was not found.
  1116  //
  1117  //   * ThrottlingException
  1118  //   The request could not be completed due to throttling.
  1119  //
  1120  //   * InternalFailureException
  1121  //   An internal failure occurred.
  1122  //
  1123  //   * ServiceUnavailableException
  1124  //   The service is currently unavailable.
  1125  //
  1126  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/GetDetectorModelAnalysisResults
  1127  func (c *IoTEvents) GetDetectorModelAnalysisResults(input *GetDetectorModelAnalysisResultsInput) (*GetDetectorModelAnalysisResultsOutput, error) {
  1128  	req, out := c.GetDetectorModelAnalysisResultsRequest(input)
  1129  	return out, req.Send()
  1130  }
  1131  
  1132  // GetDetectorModelAnalysisResultsWithContext is the same as GetDetectorModelAnalysisResults with the addition of
  1133  // the ability to pass a context and additional request options.
  1134  //
  1135  // See GetDetectorModelAnalysisResults for details on how to use this API operation.
  1136  //
  1137  // The context must be non-nil and will be used for request cancellation. If
  1138  // the context is nil a panic will occur. In the future the SDK may create
  1139  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1140  // for more information on using Contexts.
  1141  func (c *IoTEvents) GetDetectorModelAnalysisResultsWithContext(ctx aws.Context, input *GetDetectorModelAnalysisResultsInput, opts ...request.Option) (*GetDetectorModelAnalysisResultsOutput, error) {
  1142  	req, out := c.GetDetectorModelAnalysisResultsRequest(input)
  1143  	req.SetContext(ctx)
  1144  	req.ApplyOptions(opts...)
  1145  	return out, req.Send()
  1146  }
  1147  
  1148  const opListAlarmModelVersions = "ListAlarmModelVersions"
  1149  
  1150  // ListAlarmModelVersionsRequest generates a "aws/request.Request" representing the
  1151  // client's request for the ListAlarmModelVersions operation. The "output" return
  1152  // value will be populated with the request's response once the request completes
  1153  // successfully.
  1154  //
  1155  // Use "Send" method on the returned Request to send the API call to the service.
  1156  // the "output" return value is not valid until after Send returns without error.
  1157  //
  1158  // See ListAlarmModelVersions for more information on using the ListAlarmModelVersions
  1159  // API call, and error handling.
  1160  //
  1161  // This method is useful when you want to inject custom logic or configuration
  1162  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1163  //
  1164  //
  1165  //    // Example sending a request using the ListAlarmModelVersionsRequest method.
  1166  //    req, resp := client.ListAlarmModelVersionsRequest(params)
  1167  //
  1168  //    err := req.Send()
  1169  //    if err == nil { // resp is now filled
  1170  //        fmt.Println(resp)
  1171  //    }
  1172  //
  1173  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModelVersions
  1174  func (c *IoTEvents) ListAlarmModelVersionsRequest(input *ListAlarmModelVersionsInput) (req *request.Request, output *ListAlarmModelVersionsOutput) {
  1175  	op := &request.Operation{
  1176  		Name:       opListAlarmModelVersions,
  1177  		HTTPMethod: "GET",
  1178  		HTTPPath:   "/alarm-models/{alarmModelName}/versions",
  1179  	}
  1180  
  1181  	if input == nil {
  1182  		input = &ListAlarmModelVersionsInput{}
  1183  	}
  1184  
  1185  	output = &ListAlarmModelVersionsOutput{}
  1186  	req = c.newRequest(op, input, output)
  1187  	return
  1188  }
  1189  
  1190  // ListAlarmModelVersions API operation for AWS IoT Events.
  1191  //
  1192  // Lists all the versions of an alarm model. The operation returns only the
  1193  // metadata associated with each alarm model version.
  1194  //
  1195  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1196  // with awserr.Error's Code and Message methods to get detailed information about
  1197  // the error.
  1198  //
  1199  // See the AWS API reference guide for AWS IoT Events's
  1200  // API operation ListAlarmModelVersions for usage and error information.
  1201  //
  1202  // Returned Error Types:
  1203  //   * InvalidRequestException
  1204  //   The request was invalid.
  1205  //
  1206  //   * ResourceNotFoundException
  1207  //   The resource was not found.
  1208  //
  1209  //   * ThrottlingException
  1210  //   The request could not be completed due to throttling.
  1211  //
  1212  //   * InternalFailureException
  1213  //   An internal failure occurred.
  1214  //
  1215  //   * ServiceUnavailableException
  1216  //   The service is currently unavailable.
  1217  //
  1218  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModelVersions
  1219  func (c *IoTEvents) ListAlarmModelVersions(input *ListAlarmModelVersionsInput) (*ListAlarmModelVersionsOutput, error) {
  1220  	req, out := c.ListAlarmModelVersionsRequest(input)
  1221  	return out, req.Send()
  1222  }
  1223  
  1224  // ListAlarmModelVersionsWithContext is the same as ListAlarmModelVersions with the addition of
  1225  // the ability to pass a context and additional request options.
  1226  //
  1227  // See ListAlarmModelVersions for details on how to use this API operation.
  1228  //
  1229  // The context must be non-nil and will be used for request cancellation. If
  1230  // the context is nil a panic will occur. In the future the SDK may create
  1231  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1232  // for more information on using Contexts.
  1233  func (c *IoTEvents) ListAlarmModelVersionsWithContext(ctx aws.Context, input *ListAlarmModelVersionsInput, opts ...request.Option) (*ListAlarmModelVersionsOutput, error) {
  1234  	req, out := c.ListAlarmModelVersionsRequest(input)
  1235  	req.SetContext(ctx)
  1236  	req.ApplyOptions(opts...)
  1237  	return out, req.Send()
  1238  }
  1239  
  1240  const opListAlarmModels = "ListAlarmModels"
  1241  
  1242  // ListAlarmModelsRequest generates a "aws/request.Request" representing the
  1243  // client's request for the ListAlarmModels operation. The "output" return
  1244  // value will be populated with the request's response once the request completes
  1245  // successfully.
  1246  //
  1247  // Use "Send" method on the returned Request to send the API call to the service.
  1248  // the "output" return value is not valid until after Send returns without error.
  1249  //
  1250  // See ListAlarmModels for more information on using the ListAlarmModels
  1251  // API call, and error handling.
  1252  //
  1253  // This method is useful when you want to inject custom logic or configuration
  1254  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1255  //
  1256  //
  1257  //    // Example sending a request using the ListAlarmModelsRequest method.
  1258  //    req, resp := client.ListAlarmModelsRequest(params)
  1259  //
  1260  //    err := req.Send()
  1261  //    if err == nil { // resp is now filled
  1262  //        fmt.Println(resp)
  1263  //    }
  1264  //
  1265  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModels
  1266  func (c *IoTEvents) ListAlarmModelsRequest(input *ListAlarmModelsInput) (req *request.Request, output *ListAlarmModelsOutput) {
  1267  	op := &request.Operation{
  1268  		Name:       opListAlarmModels,
  1269  		HTTPMethod: "GET",
  1270  		HTTPPath:   "/alarm-models",
  1271  	}
  1272  
  1273  	if input == nil {
  1274  		input = &ListAlarmModelsInput{}
  1275  	}
  1276  
  1277  	output = &ListAlarmModelsOutput{}
  1278  	req = c.newRequest(op, input, output)
  1279  	return
  1280  }
  1281  
  1282  // ListAlarmModels API operation for AWS IoT Events.
  1283  //
  1284  // Lists the alarm models that you created. The operation returns only the metadata
  1285  // associated with each alarm model.
  1286  //
  1287  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1288  // with awserr.Error's Code and Message methods to get detailed information about
  1289  // the error.
  1290  //
  1291  // See the AWS API reference guide for AWS IoT Events's
  1292  // API operation ListAlarmModels for usage and error information.
  1293  //
  1294  // Returned Error Types:
  1295  //   * InvalidRequestException
  1296  //   The request was invalid.
  1297  //
  1298  //   * ThrottlingException
  1299  //   The request could not be completed due to throttling.
  1300  //
  1301  //   * InternalFailureException
  1302  //   An internal failure occurred.
  1303  //
  1304  //   * ServiceUnavailableException
  1305  //   The service is currently unavailable.
  1306  //
  1307  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModels
  1308  func (c *IoTEvents) ListAlarmModels(input *ListAlarmModelsInput) (*ListAlarmModelsOutput, error) {
  1309  	req, out := c.ListAlarmModelsRequest(input)
  1310  	return out, req.Send()
  1311  }
  1312  
  1313  // ListAlarmModelsWithContext is the same as ListAlarmModels with the addition of
  1314  // the ability to pass a context and additional request options.
  1315  //
  1316  // See ListAlarmModels for details on how to use this API operation.
  1317  //
  1318  // The context must be non-nil and will be used for request cancellation. If
  1319  // the context is nil a panic will occur. In the future the SDK may create
  1320  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1321  // for more information on using Contexts.
  1322  func (c *IoTEvents) ListAlarmModelsWithContext(ctx aws.Context, input *ListAlarmModelsInput, opts ...request.Option) (*ListAlarmModelsOutput, error) {
  1323  	req, out := c.ListAlarmModelsRequest(input)
  1324  	req.SetContext(ctx)
  1325  	req.ApplyOptions(opts...)
  1326  	return out, req.Send()
  1327  }
  1328  
  1329  const opListDetectorModelVersions = "ListDetectorModelVersions"
  1330  
  1331  // ListDetectorModelVersionsRequest generates a "aws/request.Request" representing the
  1332  // client's request for the ListDetectorModelVersions operation. The "output" return
  1333  // value will be populated with the request's response once the request completes
  1334  // successfully.
  1335  //
  1336  // Use "Send" method on the returned Request to send the API call to the service.
  1337  // the "output" return value is not valid until after Send returns without error.
  1338  //
  1339  // See ListDetectorModelVersions for more information on using the ListDetectorModelVersions
  1340  // API call, and error handling.
  1341  //
  1342  // This method is useful when you want to inject custom logic or configuration
  1343  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1344  //
  1345  //
  1346  //    // Example sending a request using the ListDetectorModelVersionsRequest method.
  1347  //    req, resp := client.ListDetectorModelVersionsRequest(params)
  1348  //
  1349  //    err := req.Send()
  1350  //    if err == nil { // resp is now filled
  1351  //        fmt.Println(resp)
  1352  //    }
  1353  //
  1354  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModelVersions
  1355  func (c *IoTEvents) ListDetectorModelVersionsRequest(input *ListDetectorModelVersionsInput) (req *request.Request, output *ListDetectorModelVersionsOutput) {
  1356  	op := &request.Operation{
  1357  		Name:       opListDetectorModelVersions,
  1358  		HTTPMethod: "GET",
  1359  		HTTPPath:   "/detector-models/{detectorModelName}/versions",
  1360  	}
  1361  
  1362  	if input == nil {
  1363  		input = &ListDetectorModelVersionsInput{}
  1364  	}
  1365  
  1366  	output = &ListDetectorModelVersionsOutput{}
  1367  	req = c.newRequest(op, input, output)
  1368  	return
  1369  }
  1370  
  1371  // ListDetectorModelVersions API operation for AWS IoT Events.
  1372  //
  1373  // Lists all the versions of a detector model. Only the metadata associated
  1374  // with each detector model version is returned.
  1375  //
  1376  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1377  // with awserr.Error's Code and Message methods to get detailed information about
  1378  // the error.
  1379  //
  1380  // See the AWS API reference guide for AWS IoT Events's
  1381  // API operation ListDetectorModelVersions for usage and error information.
  1382  //
  1383  // Returned Error Types:
  1384  //   * InvalidRequestException
  1385  //   The request was invalid.
  1386  //
  1387  //   * ResourceNotFoundException
  1388  //   The resource was not found.
  1389  //
  1390  //   * ThrottlingException
  1391  //   The request could not be completed due to throttling.
  1392  //
  1393  //   * InternalFailureException
  1394  //   An internal failure occurred.
  1395  //
  1396  //   * ServiceUnavailableException
  1397  //   The service is currently unavailable.
  1398  //
  1399  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModelVersions
  1400  func (c *IoTEvents) ListDetectorModelVersions(input *ListDetectorModelVersionsInput) (*ListDetectorModelVersionsOutput, error) {
  1401  	req, out := c.ListDetectorModelVersionsRequest(input)
  1402  	return out, req.Send()
  1403  }
  1404  
  1405  // ListDetectorModelVersionsWithContext is the same as ListDetectorModelVersions with the addition of
  1406  // the ability to pass a context and additional request options.
  1407  //
  1408  // See ListDetectorModelVersions for details on how to use this API operation.
  1409  //
  1410  // The context must be non-nil and will be used for request cancellation. If
  1411  // the context is nil a panic will occur. In the future the SDK may create
  1412  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1413  // for more information on using Contexts.
  1414  func (c *IoTEvents) ListDetectorModelVersionsWithContext(ctx aws.Context, input *ListDetectorModelVersionsInput, opts ...request.Option) (*ListDetectorModelVersionsOutput, error) {
  1415  	req, out := c.ListDetectorModelVersionsRequest(input)
  1416  	req.SetContext(ctx)
  1417  	req.ApplyOptions(opts...)
  1418  	return out, req.Send()
  1419  }
  1420  
  1421  const opListDetectorModels = "ListDetectorModels"
  1422  
  1423  // ListDetectorModelsRequest generates a "aws/request.Request" representing the
  1424  // client's request for the ListDetectorModels operation. The "output" return
  1425  // value will be populated with the request's response once the request completes
  1426  // successfully.
  1427  //
  1428  // Use "Send" method on the returned Request to send the API call to the service.
  1429  // the "output" return value is not valid until after Send returns without error.
  1430  //
  1431  // See ListDetectorModels for more information on using the ListDetectorModels
  1432  // API call, and error handling.
  1433  //
  1434  // This method is useful when you want to inject custom logic or configuration
  1435  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1436  //
  1437  //
  1438  //    // Example sending a request using the ListDetectorModelsRequest method.
  1439  //    req, resp := client.ListDetectorModelsRequest(params)
  1440  //
  1441  //    err := req.Send()
  1442  //    if err == nil { // resp is now filled
  1443  //        fmt.Println(resp)
  1444  //    }
  1445  //
  1446  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModels
  1447  func (c *IoTEvents) ListDetectorModelsRequest(input *ListDetectorModelsInput) (req *request.Request, output *ListDetectorModelsOutput) {
  1448  	op := &request.Operation{
  1449  		Name:       opListDetectorModels,
  1450  		HTTPMethod: "GET",
  1451  		HTTPPath:   "/detector-models",
  1452  	}
  1453  
  1454  	if input == nil {
  1455  		input = &ListDetectorModelsInput{}
  1456  	}
  1457  
  1458  	output = &ListDetectorModelsOutput{}
  1459  	req = c.newRequest(op, input, output)
  1460  	return
  1461  }
  1462  
  1463  // ListDetectorModels API operation for AWS IoT Events.
  1464  //
  1465  // Lists the detector models you have created. Only the metadata associated
  1466  // with each detector model is returned.
  1467  //
  1468  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1469  // with awserr.Error's Code and Message methods to get detailed information about
  1470  // the error.
  1471  //
  1472  // See the AWS API reference guide for AWS IoT Events's
  1473  // API operation ListDetectorModels for usage and error information.
  1474  //
  1475  // Returned Error Types:
  1476  //   * InvalidRequestException
  1477  //   The request was invalid.
  1478  //
  1479  //   * ThrottlingException
  1480  //   The request could not be completed due to throttling.
  1481  //
  1482  //   * InternalFailureException
  1483  //   An internal failure occurred.
  1484  //
  1485  //   * ServiceUnavailableException
  1486  //   The service is currently unavailable.
  1487  //
  1488  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModels
  1489  func (c *IoTEvents) ListDetectorModels(input *ListDetectorModelsInput) (*ListDetectorModelsOutput, error) {
  1490  	req, out := c.ListDetectorModelsRequest(input)
  1491  	return out, req.Send()
  1492  }
  1493  
  1494  // ListDetectorModelsWithContext is the same as ListDetectorModels with the addition of
  1495  // the ability to pass a context and additional request options.
  1496  //
  1497  // See ListDetectorModels for details on how to use this API operation.
  1498  //
  1499  // The context must be non-nil and will be used for request cancellation. If
  1500  // the context is nil a panic will occur. In the future the SDK may create
  1501  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1502  // for more information on using Contexts.
  1503  func (c *IoTEvents) ListDetectorModelsWithContext(ctx aws.Context, input *ListDetectorModelsInput, opts ...request.Option) (*ListDetectorModelsOutput, error) {
  1504  	req, out := c.ListDetectorModelsRequest(input)
  1505  	req.SetContext(ctx)
  1506  	req.ApplyOptions(opts...)
  1507  	return out, req.Send()
  1508  }
  1509  
  1510  const opListInputRoutings = "ListInputRoutings"
  1511  
  1512  // ListInputRoutingsRequest generates a "aws/request.Request" representing the
  1513  // client's request for the ListInputRoutings operation. The "output" return
  1514  // value will be populated with the request's response once the request completes
  1515  // successfully.
  1516  //
  1517  // Use "Send" method on the returned Request to send the API call to the service.
  1518  // the "output" return value is not valid until after Send returns without error.
  1519  //
  1520  // See ListInputRoutings for more information on using the ListInputRoutings
  1521  // API call, and error handling.
  1522  //
  1523  // This method is useful when you want to inject custom logic or configuration
  1524  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1525  //
  1526  //
  1527  //    // Example sending a request using the ListInputRoutingsRequest method.
  1528  //    req, resp := client.ListInputRoutingsRequest(params)
  1529  //
  1530  //    err := req.Send()
  1531  //    if err == nil { // resp is now filled
  1532  //        fmt.Println(resp)
  1533  //    }
  1534  //
  1535  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListInputRoutings
  1536  func (c *IoTEvents) ListInputRoutingsRequest(input *ListInputRoutingsInput) (req *request.Request, output *ListInputRoutingsOutput) {
  1537  	op := &request.Operation{
  1538  		Name:       opListInputRoutings,
  1539  		HTTPMethod: "POST",
  1540  		HTTPPath:   "/input-routings",
  1541  	}
  1542  
  1543  	if input == nil {
  1544  		input = &ListInputRoutingsInput{}
  1545  	}
  1546  
  1547  	output = &ListInputRoutingsOutput{}
  1548  	req = c.newRequest(op, input, output)
  1549  	return
  1550  }
  1551  
  1552  // ListInputRoutings API operation for AWS IoT Events.
  1553  //
  1554  // Lists one or more input routings.
  1555  //
  1556  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1557  // with awserr.Error's Code and Message methods to get detailed information about
  1558  // the error.
  1559  //
  1560  // See the AWS API reference guide for AWS IoT Events's
  1561  // API operation ListInputRoutings for usage and error information.
  1562  //
  1563  // Returned Error Types:
  1564  //   * InvalidRequestException
  1565  //   The request was invalid.
  1566  //
  1567  //   * ThrottlingException
  1568  //   The request could not be completed due to throttling.
  1569  //
  1570  //   * InternalFailureException
  1571  //   An internal failure occurred.
  1572  //
  1573  //   * ServiceUnavailableException
  1574  //   The service is currently unavailable.
  1575  //
  1576  //   * ResourceNotFoundException
  1577  //   The resource was not found.
  1578  //
  1579  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListInputRoutings
  1580  func (c *IoTEvents) ListInputRoutings(input *ListInputRoutingsInput) (*ListInputRoutingsOutput, error) {
  1581  	req, out := c.ListInputRoutingsRequest(input)
  1582  	return out, req.Send()
  1583  }
  1584  
  1585  // ListInputRoutingsWithContext is the same as ListInputRoutings with the addition of
  1586  // the ability to pass a context and additional request options.
  1587  //
  1588  // See ListInputRoutings for details on how to use this API operation.
  1589  //
  1590  // The context must be non-nil and will be used for request cancellation. If
  1591  // the context is nil a panic will occur. In the future the SDK may create
  1592  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1593  // for more information on using Contexts.
  1594  func (c *IoTEvents) ListInputRoutingsWithContext(ctx aws.Context, input *ListInputRoutingsInput, opts ...request.Option) (*ListInputRoutingsOutput, error) {
  1595  	req, out := c.ListInputRoutingsRequest(input)
  1596  	req.SetContext(ctx)
  1597  	req.ApplyOptions(opts...)
  1598  	return out, req.Send()
  1599  }
  1600  
  1601  const opListInputs = "ListInputs"
  1602  
  1603  // ListInputsRequest generates a "aws/request.Request" representing the
  1604  // client's request for the ListInputs operation. The "output" return
  1605  // value will be populated with the request's response once the request completes
  1606  // successfully.
  1607  //
  1608  // Use "Send" method on the returned Request to send the API call to the service.
  1609  // the "output" return value is not valid until after Send returns without error.
  1610  //
  1611  // See ListInputs for more information on using the ListInputs
  1612  // API call, and error handling.
  1613  //
  1614  // This method is useful when you want to inject custom logic or configuration
  1615  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1616  //
  1617  //
  1618  //    // Example sending a request using the ListInputsRequest method.
  1619  //    req, resp := client.ListInputsRequest(params)
  1620  //
  1621  //    err := req.Send()
  1622  //    if err == nil { // resp is now filled
  1623  //        fmt.Println(resp)
  1624  //    }
  1625  //
  1626  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListInputs
  1627  func (c *IoTEvents) ListInputsRequest(input *ListInputsInput) (req *request.Request, output *ListInputsOutput) {
  1628  	op := &request.Operation{
  1629  		Name:       opListInputs,
  1630  		HTTPMethod: "GET",
  1631  		HTTPPath:   "/inputs",
  1632  	}
  1633  
  1634  	if input == nil {
  1635  		input = &ListInputsInput{}
  1636  	}
  1637  
  1638  	output = &ListInputsOutput{}
  1639  	req = c.newRequest(op, input, output)
  1640  	return
  1641  }
  1642  
  1643  // ListInputs API operation for AWS IoT Events.
  1644  //
  1645  // Lists the inputs you have created.
  1646  //
  1647  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1648  // with awserr.Error's Code and Message methods to get detailed information about
  1649  // the error.
  1650  //
  1651  // See the AWS API reference guide for AWS IoT Events's
  1652  // API operation ListInputs for usage and error information.
  1653  //
  1654  // Returned Error Types:
  1655  //   * InvalidRequestException
  1656  //   The request was invalid.
  1657  //
  1658  //   * ThrottlingException
  1659  //   The request could not be completed due to throttling.
  1660  //
  1661  //   * InternalFailureException
  1662  //   An internal failure occurred.
  1663  //
  1664  //   * ServiceUnavailableException
  1665  //   The service is currently unavailable.
  1666  //
  1667  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListInputs
  1668  func (c *IoTEvents) ListInputs(input *ListInputsInput) (*ListInputsOutput, error) {
  1669  	req, out := c.ListInputsRequest(input)
  1670  	return out, req.Send()
  1671  }
  1672  
  1673  // ListInputsWithContext is the same as ListInputs with the addition of
  1674  // the ability to pass a context and additional request options.
  1675  //
  1676  // See ListInputs for details on how to use this API operation.
  1677  //
  1678  // The context must be non-nil and will be used for request cancellation. If
  1679  // the context is nil a panic will occur. In the future the SDK may create
  1680  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1681  // for more information on using Contexts.
  1682  func (c *IoTEvents) ListInputsWithContext(ctx aws.Context, input *ListInputsInput, opts ...request.Option) (*ListInputsOutput, error) {
  1683  	req, out := c.ListInputsRequest(input)
  1684  	req.SetContext(ctx)
  1685  	req.ApplyOptions(opts...)
  1686  	return out, req.Send()
  1687  }
  1688  
  1689  const opListTagsForResource = "ListTagsForResource"
  1690  
  1691  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1692  // client's request for the ListTagsForResource operation. The "output" return
  1693  // value will be populated with the request's response once the request completes
  1694  // successfully.
  1695  //
  1696  // Use "Send" method on the returned Request to send the API call to the service.
  1697  // the "output" return value is not valid until after Send returns without error.
  1698  //
  1699  // See ListTagsForResource for more information on using the ListTagsForResource
  1700  // API call, and error handling.
  1701  //
  1702  // This method is useful when you want to inject custom logic or configuration
  1703  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1704  //
  1705  //
  1706  //    // Example sending a request using the ListTagsForResourceRequest method.
  1707  //    req, resp := client.ListTagsForResourceRequest(params)
  1708  //
  1709  //    err := req.Send()
  1710  //    if err == nil { // resp is now filled
  1711  //        fmt.Println(resp)
  1712  //    }
  1713  //
  1714  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListTagsForResource
  1715  func (c *IoTEvents) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1716  	op := &request.Operation{
  1717  		Name:       opListTagsForResource,
  1718  		HTTPMethod: "GET",
  1719  		HTTPPath:   "/tags",
  1720  	}
  1721  
  1722  	if input == nil {
  1723  		input = &ListTagsForResourceInput{}
  1724  	}
  1725  
  1726  	output = &ListTagsForResourceOutput{}
  1727  	req = c.newRequest(op, input, output)
  1728  	return
  1729  }
  1730  
  1731  // ListTagsForResource API operation for AWS IoT Events.
  1732  //
  1733  // Lists the tags (metadata) you have assigned to the resource.
  1734  //
  1735  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1736  // with awserr.Error's Code and Message methods to get detailed information about
  1737  // the error.
  1738  //
  1739  // See the AWS API reference guide for AWS IoT Events's
  1740  // API operation ListTagsForResource for usage and error information.
  1741  //
  1742  // Returned Error Types:
  1743  //   * InvalidRequestException
  1744  //   The request was invalid.
  1745  //
  1746  //   * ResourceNotFoundException
  1747  //   The resource was not found.
  1748  //
  1749  //   * ResourceInUseException
  1750  //   The resource is in use.
  1751  //
  1752  //   * ThrottlingException
  1753  //   The request could not be completed due to throttling.
  1754  //
  1755  //   * InternalFailureException
  1756  //   An internal failure occurred.
  1757  //
  1758  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListTagsForResource
  1759  func (c *IoTEvents) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1760  	req, out := c.ListTagsForResourceRequest(input)
  1761  	return out, req.Send()
  1762  }
  1763  
  1764  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1765  // the ability to pass a context and additional request options.
  1766  //
  1767  // See ListTagsForResource for details on how to use this API operation.
  1768  //
  1769  // The context must be non-nil and will be used for request cancellation. If
  1770  // the context is nil a panic will occur. In the future the SDK may create
  1771  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1772  // for more information on using Contexts.
  1773  func (c *IoTEvents) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1774  	req, out := c.ListTagsForResourceRequest(input)
  1775  	req.SetContext(ctx)
  1776  	req.ApplyOptions(opts...)
  1777  	return out, req.Send()
  1778  }
  1779  
  1780  const opPutLoggingOptions = "PutLoggingOptions"
  1781  
  1782  // PutLoggingOptionsRequest generates a "aws/request.Request" representing the
  1783  // client's request for the PutLoggingOptions operation. The "output" return
  1784  // value will be populated with the request's response once the request completes
  1785  // successfully.
  1786  //
  1787  // Use "Send" method on the returned Request to send the API call to the service.
  1788  // the "output" return value is not valid until after Send returns without error.
  1789  //
  1790  // See PutLoggingOptions for more information on using the PutLoggingOptions
  1791  // API call, and error handling.
  1792  //
  1793  // This method is useful when you want to inject custom logic or configuration
  1794  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1795  //
  1796  //
  1797  //    // Example sending a request using the PutLoggingOptionsRequest method.
  1798  //    req, resp := client.PutLoggingOptionsRequest(params)
  1799  //
  1800  //    err := req.Send()
  1801  //    if err == nil { // resp is now filled
  1802  //        fmt.Println(resp)
  1803  //    }
  1804  //
  1805  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/PutLoggingOptions
  1806  func (c *IoTEvents) PutLoggingOptionsRequest(input *PutLoggingOptionsInput) (req *request.Request, output *PutLoggingOptionsOutput) {
  1807  	op := &request.Operation{
  1808  		Name:       opPutLoggingOptions,
  1809  		HTTPMethod: "PUT",
  1810  		HTTPPath:   "/logging",
  1811  	}
  1812  
  1813  	if input == nil {
  1814  		input = &PutLoggingOptionsInput{}
  1815  	}
  1816  
  1817  	output = &PutLoggingOptionsOutput{}
  1818  	req = c.newRequest(op, input, output)
  1819  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1820  	return
  1821  }
  1822  
  1823  // PutLoggingOptions API operation for AWS IoT Events.
  1824  //
  1825  // Sets or updates the AWS IoT Events logging options.
  1826  //
  1827  // If you update the value of any loggingOptions field, it takes up to one minute
  1828  // for the change to take effect. If you change the policy attached to the role
  1829  // you specified in the roleArn field (for example, to correct an invalid policy),
  1830  // it takes up to five minutes for that change to take effect.
  1831  //
  1832  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1833  // with awserr.Error's Code and Message methods to get detailed information about
  1834  // the error.
  1835  //
  1836  // See the AWS API reference guide for AWS IoT Events's
  1837  // API operation PutLoggingOptions for usage and error information.
  1838  //
  1839  // Returned Error Types:
  1840  //   * InvalidRequestException
  1841  //   The request was invalid.
  1842  //
  1843  //   * ThrottlingException
  1844  //   The request could not be completed due to throttling.
  1845  //
  1846  //   * InternalFailureException
  1847  //   An internal failure occurred.
  1848  //
  1849  //   * ServiceUnavailableException
  1850  //   The service is currently unavailable.
  1851  //
  1852  //   * UnsupportedOperationException
  1853  //   The requested operation is not supported.
  1854  //
  1855  //   * ResourceInUseException
  1856  //   The resource is in use.
  1857  //
  1858  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/PutLoggingOptions
  1859  func (c *IoTEvents) PutLoggingOptions(input *PutLoggingOptionsInput) (*PutLoggingOptionsOutput, error) {
  1860  	req, out := c.PutLoggingOptionsRequest(input)
  1861  	return out, req.Send()
  1862  }
  1863  
  1864  // PutLoggingOptionsWithContext is the same as PutLoggingOptions with the addition of
  1865  // the ability to pass a context and additional request options.
  1866  //
  1867  // See PutLoggingOptions for details on how to use this API operation.
  1868  //
  1869  // The context must be non-nil and will be used for request cancellation. If
  1870  // the context is nil a panic will occur. In the future the SDK may create
  1871  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1872  // for more information on using Contexts.
  1873  func (c *IoTEvents) PutLoggingOptionsWithContext(ctx aws.Context, input *PutLoggingOptionsInput, opts ...request.Option) (*PutLoggingOptionsOutput, error) {
  1874  	req, out := c.PutLoggingOptionsRequest(input)
  1875  	req.SetContext(ctx)
  1876  	req.ApplyOptions(opts...)
  1877  	return out, req.Send()
  1878  }
  1879  
  1880  const opStartDetectorModelAnalysis = "StartDetectorModelAnalysis"
  1881  
  1882  // StartDetectorModelAnalysisRequest generates a "aws/request.Request" representing the
  1883  // client's request for the StartDetectorModelAnalysis operation. The "output" return
  1884  // value will be populated with the request's response once the request completes
  1885  // successfully.
  1886  //
  1887  // Use "Send" method on the returned Request to send the API call to the service.
  1888  // the "output" return value is not valid until after Send returns without error.
  1889  //
  1890  // See StartDetectorModelAnalysis for more information on using the StartDetectorModelAnalysis
  1891  // API call, and error handling.
  1892  //
  1893  // This method is useful when you want to inject custom logic or configuration
  1894  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1895  //
  1896  //
  1897  //    // Example sending a request using the StartDetectorModelAnalysisRequest method.
  1898  //    req, resp := client.StartDetectorModelAnalysisRequest(params)
  1899  //
  1900  //    err := req.Send()
  1901  //    if err == nil { // resp is now filled
  1902  //        fmt.Println(resp)
  1903  //    }
  1904  //
  1905  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/StartDetectorModelAnalysis
  1906  func (c *IoTEvents) StartDetectorModelAnalysisRequest(input *StartDetectorModelAnalysisInput) (req *request.Request, output *StartDetectorModelAnalysisOutput) {
  1907  	op := &request.Operation{
  1908  		Name:       opStartDetectorModelAnalysis,
  1909  		HTTPMethod: "POST",
  1910  		HTTPPath:   "/analysis/detector-models/",
  1911  	}
  1912  
  1913  	if input == nil {
  1914  		input = &StartDetectorModelAnalysisInput{}
  1915  	}
  1916  
  1917  	output = &StartDetectorModelAnalysisOutput{}
  1918  	req = c.newRequest(op, input, output)
  1919  	return
  1920  }
  1921  
  1922  // StartDetectorModelAnalysis API operation for AWS IoT Events.
  1923  //
  1924  // Performs an analysis of your detector model. For more information, see Troubleshooting
  1925  // a detector model (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html)
  1926  // in the AWS IoT Events Developer Guide.
  1927  //
  1928  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1929  // with awserr.Error's Code and Message methods to get detailed information about
  1930  // the error.
  1931  //
  1932  // See the AWS API reference guide for AWS IoT Events's
  1933  // API operation StartDetectorModelAnalysis for usage and error information.
  1934  //
  1935  // Returned Error Types:
  1936  //   * InvalidRequestException
  1937  //   The request was invalid.
  1938  //
  1939  //   * LimitExceededException
  1940  //   A limit was exceeded.
  1941  //
  1942  //   * ThrottlingException
  1943  //   The request could not be completed due to throttling.
  1944  //
  1945  //   * InternalFailureException
  1946  //   An internal failure occurred.
  1947  //
  1948  //   * ServiceUnavailableException
  1949  //   The service is currently unavailable.
  1950  //
  1951  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/StartDetectorModelAnalysis
  1952  func (c *IoTEvents) StartDetectorModelAnalysis(input *StartDetectorModelAnalysisInput) (*StartDetectorModelAnalysisOutput, error) {
  1953  	req, out := c.StartDetectorModelAnalysisRequest(input)
  1954  	return out, req.Send()
  1955  }
  1956  
  1957  // StartDetectorModelAnalysisWithContext is the same as StartDetectorModelAnalysis with the addition of
  1958  // the ability to pass a context and additional request options.
  1959  //
  1960  // See StartDetectorModelAnalysis for details on how to use this API operation.
  1961  //
  1962  // The context must be non-nil and will be used for request cancellation. If
  1963  // the context is nil a panic will occur. In the future the SDK may create
  1964  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1965  // for more information on using Contexts.
  1966  func (c *IoTEvents) StartDetectorModelAnalysisWithContext(ctx aws.Context, input *StartDetectorModelAnalysisInput, opts ...request.Option) (*StartDetectorModelAnalysisOutput, error) {
  1967  	req, out := c.StartDetectorModelAnalysisRequest(input)
  1968  	req.SetContext(ctx)
  1969  	req.ApplyOptions(opts...)
  1970  	return out, req.Send()
  1971  }
  1972  
  1973  const opTagResource = "TagResource"
  1974  
  1975  // TagResourceRequest generates a "aws/request.Request" representing the
  1976  // client's request for the TagResource operation. The "output" return
  1977  // value will be populated with the request's response once the request completes
  1978  // successfully.
  1979  //
  1980  // Use "Send" method on the returned Request to send the API call to the service.
  1981  // the "output" return value is not valid until after Send returns without error.
  1982  //
  1983  // See TagResource for more information on using the TagResource
  1984  // API call, and error handling.
  1985  //
  1986  // This method is useful when you want to inject custom logic or configuration
  1987  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1988  //
  1989  //
  1990  //    // Example sending a request using the TagResourceRequest method.
  1991  //    req, resp := client.TagResourceRequest(params)
  1992  //
  1993  //    err := req.Send()
  1994  //    if err == nil { // resp is now filled
  1995  //        fmt.Println(resp)
  1996  //    }
  1997  //
  1998  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/TagResource
  1999  func (c *IoTEvents) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2000  	op := &request.Operation{
  2001  		Name:       opTagResource,
  2002  		HTTPMethod: "POST",
  2003  		HTTPPath:   "/tags",
  2004  	}
  2005  
  2006  	if input == nil {
  2007  		input = &TagResourceInput{}
  2008  	}
  2009  
  2010  	output = &TagResourceOutput{}
  2011  	req = c.newRequest(op, input, output)
  2012  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2013  	return
  2014  }
  2015  
  2016  // TagResource API operation for AWS IoT Events.
  2017  //
  2018  // Adds to or modifies the tags of the given resource. Tags are metadata that
  2019  // can be used to manage a resource.
  2020  //
  2021  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2022  // with awserr.Error's Code and Message methods to get detailed information about
  2023  // the error.
  2024  //
  2025  // See the AWS API reference guide for AWS IoT Events's
  2026  // API operation TagResource for usage and error information.
  2027  //
  2028  // Returned Error Types:
  2029  //   * InvalidRequestException
  2030  //   The request was invalid.
  2031  //
  2032  //   * ResourceNotFoundException
  2033  //   The resource was not found.
  2034  //
  2035  //   * ResourceInUseException
  2036  //   The resource is in use.
  2037  //
  2038  //   * ThrottlingException
  2039  //   The request could not be completed due to throttling.
  2040  //
  2041  //   * LimitExceededException
  2042  //   A limit was exceeded.
  2043  //
  2044  //   * InternalFailureException
  2045  //   An internal failure occurred.
  2046  //
  2047  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/TagResource
  2048  func (c *IoTEvents) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2049  	req, out := c.TagResourceRequest(input)
  2050  	return out, req.Send()
  2051  }
  2052  
  2053  // TagResourceWithContext is the same as TagResource with the addition of
  2054  // the ability to pass a context and additional request options.
  2055  //
  2056  // See TagResource for details on how to use this API operation.
  2057  //
  2058  // The context must be non-nil and will be used for request cancellation. If
  2059  // the context is nil a panic will occur. In the future the SDK may create
  2060  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2061  // for more information on using Contexts.
  2062  func (c *IoTEvents) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2063  	req, out := c.TagResourceRequest(input)
  2064  	req.SetContext(ctx)
  2065  	req.ApplyOptions(opts...)
  2066  	return out, req.Send()
  2067  }
  2068  
  2069  const opUntagResource = "UntagResource"
  2070  
  2071  // UntagResourceRequest generates a "aws/request.Request" representing the
  2072  // client's request for the UntagResource operation. The "output" return
  2073  // value will be populated with the request's response once the request completes
  2074  // successfully.
  2075  //
  2076  // Use "Send" method on the returned Request to send the API call to the service.
  2077  // the "output" return value is not valid until after Send returns without error.
  2078  //
  2079  // See UntagResource for more information on using the UntagResource
  2080  // API call, and error handling.
  2081  //
  2082  // This method is useful when you want to inject custom logic or configuration
  2083  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2084  //
  2085  //
  2086  //    // Example sending a request using the UntagResourceRequest method.
  2087  //    req, resp := client.UntagResourceRequest(params)
  2088  //
  2089  //    err := req.Send()
  2090  //    if err == nil { // resp is now filled
  2091  //        fmt.Println(resp)
  2092  //    }
  2093  //
  2094  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UntagResource
  2095  func (c *IoTEvents) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2096  	op := &request.Operation{
  2097  		Name:       opUntagResource,
  2098  		HTTPMethod: "DELETE",
  2099  		HTTPPath:   "/tags",
  2100  	}
  2101  
  2102  	if input == nil {
  2103  		input = &UntagResourceInput{}
  2104  	}
  2105  
  2106  	output = &UntagResourceOutput{}
  2107  	req = c.newRequest(op, input, output)
  2108  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2109  	return
  2110  }
  2111  
  2112  // UntagResource API operation for AWS IoT Events.
  2113  //
  2114  // Removes the given tags (metadata) from the resource.
  2115  //
  2116  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2117  // with awserr.Error's Code and Message methods to get detailed information about
  2118  // the error.
  2119  //
  2120  // See the AWS API reference guide for AWS IoT Events's
  2121  // API operation UntagResource for usage and error information.
  2122  //
  2123  // Returned Error Types:
  2124  //   * InvalidRequestException
  2125  //   The request was invalid.
  2126  //
  2127  //   * ResourceNotFoundException
  2128  //   The resource was not found.
  2129  //
  2130  //   * ResourceInUseException
  2131  //   The resource is in use.
  2132  //
  2133  //   * ThrottlingException
  2134  //   The request could not be completed due to throttling.
  2135  //
  2136  //   * InternalFailureException
  2137  //   An internal failure occurred.
  2138  //
  2139  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UntagResource
  2140  func (c *IoTEvents) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2141  	req, out := c.UntagResourceRequest(input)
  2142  	return out, req.Send()
  2143  }
  2144  
  2145  // UntagResourceWithContext is the same as UntagResource with the addition of
  2146  // the ability to pass a context and additional request options.
  2147  //
  2148  // See UntagResource for details on how to use this API operation.
  2149  //
  2150  // The context must be non-nil and will be used for request cancellation. If
  2151  // the context is nil a panic will occur. In the future the SDK may create
  2152  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2153  // for more information on using Contexts.
  2154  func (c *IoTEvents) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2155  	req, out := c.UntagResourceRequest(input)
  2156  	req.SetContext(ctx)
  2157  	req.ApplyOptions(opts...)
  2158  	return out, req.Send()
  2159  }
  2160  
  2161  const opUpdateAlarmModel = "UpdateAlarmModel"
  2162  
  2163  // UpdateAlarmModelRequest generates a "aws/request.Request" representing the
  2164  // client's request for the UpdateAlarmModel operation. The "output" return
  2165  // value will be populated with the request's response once the request completes
  2166  // successfully.
  2167  //
  2168  // Use "Send" method on the returned Request to send the API call to the service.
  2169  // the "output" return value is not valid until after Send returns without error.
  2170  //
  2171  // See UpdateAlarmModel for more information on using the UpdateAlarmModel
  2172  // API call, and error handling.
  2173  //
  2174  // This method is useful when you want to inject custom logic or configuration
  2175  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2176  //
  2177  //
  2178  //    // Example sending a request using the UpdateAlarmModelRequest method.
  2179  //    req, resp := client.UpdateAlarmModelRequest(params)
  2180  //
  2181  //    err := req.Send()
  2182  //    if err == nil { // resp is now filled
  2183  //        fmt.Println(resp)
  2184  //    }
  2185  //
  2186  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateAlarmModel
  2187  func (c *IoTEvents) UpdateAlarmModelRequest(input *UpdateAlarmModelInput) (req *request.Request, output *UpdateAlarmModelOutput) {
  2188  	op := &request.Operation{
  2189  		Name:       opUpdateAlarmModel,
  2190  		HTTPMethod: "POST",
  2191  		HTTPPath:   "/alarm-models/{alarmModelName}",
  2192  	}
  2193  
  2194  	if input == nil {
  2195  		input = &UpdateAlarmModelInput{}
  2196  	}
  2197  
  2198  	output = &UpdateAlarmModelOutput{}
  2199  	req = c.newRequest(op, input, output)
  2200  	return
  2201  }
  2202  
  2203  // UpdateAlarmModel API operation for AWS IoT Events.
  2204  //
  2205  // Updates an alarm model. Any alarms that were created based on the previous
  2206  // version are deleted and then created again as new data arrives.
  2207  //
  2208  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2209  // with awserr.Error's Code and Message methods to get detailed information about
  2210  // the error.
  2211  //
  2212  // See the AWS API reference guide for AWS IoT Events's
  2213  // API operation UpdateAlarmModel for usage and error information.
  2214  //
  2215  // Returned Error Types:
  2216  //   * InvalidRequestException
  2217  //   The request was invalid.
  2218  //
  2219  //   * ResourceInUseException
  2220  //   The resource is in use.
  2221  //
  2222  //   * ResourceNotFoundException
  2223  //   The resource was not found.
  2224  //
  2225  //   * ThrottlingException
  2226  //   The request could not be completed due to throttling.
  2227  //
  2228  //   * InternalFailureException
  2229  //   An internal failure occurred.
  2230  //
  2231  //   * ServiceUnavailableException
  2232  //   The service is currently unavailable.
  2233  //
  2234  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateAlarmModel
  2235  func (c *IoTEvents) UpdateAlarmModel(input *UpdateAlarmModelInput) (*UpdateAlarmModelOutput, error) {
  2236  	req, out := c.UpdateAlarmModelRequest(input)
  2237  	return out, req.Send()
  2238  }
  2239  
  2240  // UpdateAlarmModelWithContext is the same as UpdateAlarmModel with the addition of
  2241  // the ability to pass a context and additional request options.
  2242  //
  2243  // See UpdateAlarmModel for details on how to use this API operation.
  2244  //
  2245  // The context must be non-nil and will be used for request cancellation. If
  2246  // the context is nil a panic will occur. In the future the SDK may create
  2247  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2248  // for more information on using Contexts.
  2249  func (c *IoTEvents) UpdateAlarmModelWithContext(ctx aws.Context, input *UpdateAlarmModelInput, opts ...request.Option) (*UpdateAlarmModelOutput, error) {
  2250  	req, out := c.UpdateAlarmModelRequest(input)
  2251  	req.SetContext(ctx)
  2252  	req.ApplyOptions(opts...)
  2253  	return out, req.Send()
  2254  }
  2255  
  2256  const opUpdateDetectorModel = "UpdateDetectorModel"
  2257  
  2258  // UpdateDetectorModelRequest generates a "aws/request.Request" representing the
  2259  // client's request for the UpdateDetectorModel operation. The "output" return
  2260  // value will be populated with the request's response once the request completes
  2261  // successfully.
  2262  //
  2263  // Use "Send" method on the returned Request to send the API call to the service.
  2264  // the "output" return value is not valid until after Send returns without error.
  2265  //
  2266  // See UpdateDetectorModel for more information on using the UpdateDetectorModel
  2267  // API call, and error handling.
  2268  //
  2269  // This method is useful when you want to inject custom logic or configuration
  2270  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2271  //
  2272  //
  2273  //    // Example sending a request using the UpdateDetectorModelRequest method.
  2274  //    req, resp := client.UpdateDetectorModelRequest(params)
  2275  //
  2276  //    err := req.Send()
  2277  //    if err == nil { // resp is now filled
  2278  //        fmt.Println(resp)
  2279  //    }
  2280  //
  2281  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateDetectorModel
  2282  func (c *IoTEvents) UpdateDetectorModelRequest(input *UpdateDetectorModelInput) (req *request.Request, output *UpdateDetectorModelOutput) {
  2283  	op := &request.Operation{
  2284  		Name:       opUpdateDetectorModel,
  2285  		HTTPMethod: "POST",
  2286  		HTTPPath:   "/detector-models/{detectorModelName}",
  2287  	}
  2288  
  2289  	if input == nil {
  2290  		input = &UpdateDetectorModelInput{}
  2291  	}
  2292  
  2293  	output = &UpdateDetectorModelOutput{}
  2294  	req = c.newRequest(op, input, output)
  2295  	return
  2296  }
  2297  
  2298  // UpdateDetectorModel API operation for AWS IoT Events.
  2299  //
  2300  // Updates a detector model. Detectors (instances) spawned by the previous version
  2301  // are deleted and then re-created as new inputs arrive.
  2302  //
  2303  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2304  // with awserr.Error's Code and Message methods to get detailed information about
  2305  // the error.
  2306  //
  2307  // See the AWS API reference guide for AWS IoT Events's
  2308  // API operation UpdateDetectorModel for usage and error information.
  2309  //
  2310  // Returned Error Types:
  2311  //   * InvalidRequestException
  2312  //   The request was invalid.
  2313  //
  2314  //   * ResourceInUseException
  2315  //   The resource is in use.
  2316  //
  2317  //   * ResourceNotFoundException
  2318  //   The resource was not found.
  2319  //
  2320  //   * ThrottlingException
  2321  //   The request could not be completed due to throttling.
  2322  //
  2323  //   * InternalFailureException
  2324  //   An internal failure occurred.
  2325  //
  2326  //   * ServiceUnavailableException
  2327  //   The service is currently unavailable.
  2328  //
  2329  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateDetectorModel
  2330  func (c *IoTEvents) UpdateDetectorModel(input *UpdateDetectorModelInput) (*UpdateDetectorModelOutput, error) {
  2331  	req, out := c.UpdateDetectorModelRequest(input)
  2332  	return out, req.Send()
  2333  }
  2334  
  2335  // UpdateDetectorModelWithContext is the same as UpdateDetectorModel with the addition of
  2336  // the ability to pass a context and additional request options.
  2337  //
  2338  // See UpdateDetectorModel for details on how to use this API operation.
  2339  //
  2340  // The context must be non-nil and will be used for request cancellation. If
  2341  // the context is nil a panic will occur. In the future the SDK may create
  2342  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2343  // for more information on using Contexts.
  2344  func (c *IoTEvents) UpdateDetectorModelWithContext(ctx aws.Context, input *UpdateDetectorModelInput, opts ...request.Option) (*UpdateDetectorModelOutput, error) {
  2345  	req, out := c.UpdateDetectorModelRequest(input)
  2346  	req.SetContext(ctx)
  2347  	req.ApplyOptions(opts...)
  2348  	return out, req.Send()
  2349  }
  2350  
  2351  const opUpdateInput = "UpdateInput"
  2352  
  2353  // UpdateInputRequest generates a "aws/request.Request" representing the
  2354  // client's request for the UpdateInput operation. The "output" return
  2355  // value will be populated with the request's response once the request completes
  2356  // successfully.
  2357  //
  2358  // Use "Send" method on the returned Request to send the API call to the service.
  2359  // the "output" return value is not valid until after Send returns without error.
  2360  //
  2361  // See UpdateInput for more information on using the UpdateInput
  2362  // API call, and error handling.
  2363  //
  2364  // This method is useful when you want to inject custom logic or configuration
  2365  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2366  //
  2367  //
  2368  //    // Example sending a request using the UpdateInputRequest method.
  2369  //    req, resp := client.UpdateInputRequest(params)
  2370  //
  2371  //    err := req.Send()
  2372  //    if err == nil { // resp is now filled
  2373  //        fmt.Println(resp)
  2374  //    }
  2375  //
  2376  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateInput
  2377  func (c *IoTEvents) UpdateInputRequest(input *UpdateInputInput) (req *request.Request, output *UpdateInputOutput) {
  2378  	op := &request.Operation{
  2379  		Name:       opUpdateInput,
  2380  		HTTPMethod: "PUT",
  2381  		HTTPPath:   "/inputs/{inputName}",
  2382  	}
  2383  
  2384  	if input == nil {
  2385  		input = &UpdateInputInput{}
  2386  	}
  2387  
  2388  	output = &UpdateInputOutput{}
  2389  	req = c.newRequest(op, input, output)
  2390  	return
  2391  }
  2392  
  2393  // UpdateInput API operation for AWS IoT Events.
  2394  //
  2395  // Updates an input.
  2396  //
  2397  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2398  // with awserr.Error's Code and Message methods to get detailed information about
  2399  // the error.
  2400  //
  2401  // See the AWS API reference guide for AWS IoT Events's
  2402  // API operation UpdateInput for usage and error information.
  2403  //
  2404  // Returned Error Types:
  2405  //   * InvalidRequestException
  2406  //   The request was invalid.
  2407  //
  2408  //   * ThrottlingException
  2409  //   The request could not be completed due to throttling.
  2410  //
  2411  //   * ResourceNotFoundException
  2412  //   The resource was not found.
  2413  //
  2414  //   * InternalFailureException
  2415  //   An internal failure occurred.
  2416  //
  2417  //   * ServiceUnavailableException
  2418  //   The service is currently unavailable.
  2419  //
  2420  //   * ResourceInUseException
  2421  //   The resource is in use.
  2422  //
  2423  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateInput
  2424  func (c *IoTEvents) UpdateInput(input *UpdateInputInput) (*UpdateInputOutput, error) {
  2425  	req, out := c.UpdateInputRequest(input)
  2426  	return out, req.Send()
  2427  }
  2428  
  2429  // UpdateInputWithContext is the same as UpdateInput with the addition of
  2430  // the ability to pass a context and additional request options.
  2431  //
  2432  // See UpdateInput for details on how to use this API operation.
  2433  //
  2434  // The context must be non-nil and will be used for request cancellation. If
  2435  // the context is nil a panic will occur. In the future the SDK may create
  2436  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2437  // for more information on using Contexts.
  2438  func (c *IoTEvents) UpdateInputWithContext(ctx aws.Context, input *UpdateInputInput, opts ...request.Option) (*UpdateInputOutput, error) {
  2439  	req, out := c.UpdateInputRequest(input)
  2440  	req.SetContext(ctx)
  2441  	req.ApplyOptions(opts...)
  2442  	return out, req.Send()
  2443  }
  2444  
  2445  // Specifies whether to get notified for alarm state changes.
  2446  type AcknowledgeFlow struct {
  2447  	_ struct{} `type:"structure"`
  2448  
  2449  	// The value must be TRUE or FALSE. If TRUE, you receive a notification when
  2450  	// the alarm state changes. You must choose to acknowledge the notification
  2451  	// before the alarm state can return to NORMAL. If FALSE, you won't receive
  2452  	// notifications. The alarm automatically changes to the NORMAL state when the
  2453  	// input property value returns to the specified range.
  2454  	//
  2455  	// Enabled is a required field
  2456  	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  2457  }
  2458  
  2459  // String returns the string representation.
  2460  //
  2461  // API parameter values that are decorated as "sensitive" in the API will not
  2462  // be included in the string output. The member name will be present, but the
  2463  // value will be replaced with "sensitive".
  2464  func (s AcknowledgeFlow) String() string {
  2465  	return awsutil.Prettify(s)
  2466  }
  2467  
  2468  // GoString returns the string representation.
  2469  //
  2470  // API parameter values that are decorated as "sensitive" in the API will not
  2471  // be included in the string output. The member name will be present, but the
  2472  // value will be replaced with "sensitive".
  2473  func (s AcknowledgeFlow) GoString() string {
  2474  	return s.String()
  2475  }
  2476  
  2477  // Validate inspects the fields of the type to determine if they are valid.
  2478  func (s *AcknowledgeFlow) Validate() error {
  2479  	invalidParams := request.ErrInvalidParams{Context: "AcknowledgeFlow"}
  2480  	if s.Enabled == nil {
  2481  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  2482  	}
  2483  
  2484  	if invalidParams.Len() > 0 {
  2485  		return invalidParams
  2486  	}
  2487  	return nil
  2488  }
  2489  
  2490  // SetEnabled sets the Enabled field's value.
  2491  func (s *AcknowledgeFlow) SetEnabled(v bool) *AcknowledgeFlow {
  2492  	s.Enabled = &v
  2493  	return s
  2494  }
  2495  
  2496  // Sends an AWS IoT Events input, passing in information about the detector
  2497  // model instance and the event that triggered the action.
  2498  type Action struct {
  2499  	_ struct{} `type:"structure"`
  2500  
  2501  	// The name of the AWS IoT Events input where the data is sent.
  2502  	//
  2503  	// InputName is a required field
  2504  	InputName *string `locationName:"inputName" min:"1" type:"string" required:"true"`
  2505  
  2506  	// You can configure the action payload when you send a message to an AWS IoT
  2507  	// Events input.
  2508  	Payload *Payload `locationName:"payload" type:"structure"`
  2509  }
  2510  
  2511  // String returns the string representation.
  2512  //
  2513  // API parameter values that are decorated as "sensitive" in the API will not
  2514  // be included in the string output. The member name will be present, but the
  2515  // value will be replaced with "sensitive".
  2516  func (s Action) String() string {
  2517  	return awsutil.Prettify(s)
  2518  }
  2519  
  2520  // GoString returns the string representation.
  2521  //
  2522  // API parameter values that are decorated as "sensitive" in the API will not
  2523  // be included in the string output. The member name will be present, but the
  2524  // value will be replaced with "sensitive".
  2525  func (s Action) GoString() string {
  2526  	return s.String()
  2527  }
  2528  
  2529  // Validate inspects the fields of the type to determine if they are valid.
  2530  func (s *Action) Validate() error {
  2531  	invalidParams := request.ErrInvalidParams{Context: "Action"}
  2532  	if s.InputName == nil {
  2533  		invalidParams.Add(request.NewErrParamRequired("InputName"))
  2534  	}
  2535  	if s.InputName != nil && len(*s.InputName) < 1 {
  2536  		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
  2537  	}
  2538  	if s.Payload != nil {
  2539  		if err := s.Payload.Validate(); err != nil {
  2540  			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
  2541  		}
  2542  	}
  2543  
  2544  	if invalidParams.Len() > 0 {
  2545  		return invalidParams
  2546  	}
  2547  	return nil
  2548  }
  2549  
  2550  // SetInputName sets the InputName field's value.
  2551  func (s *Action) SetInputName(v string) *Action {
  2552  	s.InputName = &v
  2553  	return s
  2554  }
  2555  
  2556  // SetPayload sets the Payload field's value.
  2557  func (s *Action) SetPayload(v *Payload) *Action {
  2558  	s.Payload = v
  2559  	return s
  2560  }
  2561  
  2562  // An action to be performed when the condition is TRUE.
  2563  type ActionData struct {
  2564  	_ struct{} `type:"structure"`
  2565  
  2566  	// Information needed to clear the timer.
  2567  	ClearTimer *ClearTimerAction `locationName:"clearTimer" type:"structure"`
  2568  
  2569  	// Writes to the DynamoDB table that you created. The default action payload
  2570  	// contains all attribute-value pairs that have the information about the detector
  2571  	// model instance and the event that triggered the action. You can customize
  2572  	// the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
  2573  	// One column of the DynamoDB table receives all attribute-value pairs in the
  2574  	// payload that you specify. For more information, see Actions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html)
  2575  	// in AWS IoT Events Developer Guide.
  2576  	DynamoDB *DynamoDBAction `locationName:"dynamoDB" type:"structure"`
  2577  
  2578  	// Writes to the DynamoDB table that you created. The default action payload
  2579  	// contains all attribute-value pairs that have the information about the detector
  2580  	// model instance and the event that triggered the action. You can customize
  2581  	// the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
  2582  	// A separate column of the DynamoDB table receives one attribute-value pair
  2583  	// in the payload that you specify. For more information, see Actions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html)
  2584  	// in AWS IoT Events Developer Guide.
  2585  	DynamoDBv2 *DynamoDBv2Action `locationName:"dynamoDBv2" type:"structure"`
  2586  
  2587  	// Sends information about the detector model instance and the event that triggered
  2588  	// the action to an Amazon Kinesis Data Firehose delivery stream.
  2589  	Firehose *FirehoseAction `locationName:"firehose" type:"structure"`
  2590  
  2591  	// Sends AWS IoT Events input, which passes information about the detector model
  2592  	// instance and the event that triggered the action.
  2593  	IotEvents *Action `locationName:"iotEvents" type:"structure"`
  2594  
  2595  	// Sends information about the detector model instance and the event that triggered
  2596  	// the action to an asset property in AWS IoT SiteWise .
  2597  	IotSiteWise *IotSiteWiseAction `locationName:"iotSiteWise" type:"structure"`
  2598  
  2599  	// Publishes an MQTT message with the given topic to the AWS IoT message broker.
  2600  	IotTopicPublish *IotTopicPublishAction `locationName:"iotTopicPublish" type:"structure"`
  2601  
  2602  	// Calls a Lambda function, passing in information about the detector model
  2603  	// instance and the event that triggered the action.
  2604  	Lambda *LambdaAction `locationName:"lambda" type:"structure"`
  2605  
  2606  	// Information needed to reset the timer.
  2607  	ResetTimer *ResetTimerAction `locationName:"resetTimer" type:"structure"`
  2608  
  2609  	// Information needed to set the timer.
  2610  	SetTimer *SetTimerAction `locationName:"setTimer" type:"structure"`
  2611  
  2612  	// Sets a variable to a specified value.
  2613  	SetVariable *SetVariableAction `locationName:"setVariable" type:"structure"`
  2614  
  2615  	// Sends an Amazon SNS message.
  2616  	Sns *SNSTopicPublishAction `locationName:"sns" type:"structure"`
  2617  
  2618  	// Sends information about the detector model instance and the event that triggered
  2619  	// the action to an Amazon SQS queue.
  2620  	Sqs *SqsAction `locationName:"sqs" type:"structure"`
  2621  }
  2622  
  2623  // String returns the string representation.
  2624  //
  2625  // API parameter values that are decorated as "sensitive" in the API will not
  2626  // be included in the string output. The member name will be present, but the
  2627  // value will be replaced with "sensitive".
  2628  func (s ActionData) String() string {
  2629  	return awsutil.Prettify(s)
  2630  }
  2631  
  2632  // GoString returns the string representation.
  2633  //
  2634  // API parameter values that are decorated as "sensitive" in the API will not
  2635  // be included in the string output. The member name will be present, but the
  2636  // value will be replaced with "sensitive".
  2637  func (s ActionData) GoString() string {
  2638  	return s.String()
  2639  }
  2640  
  2641  // Validate inspects the fields of the type to determine if they are valid.
  2642  func (s *ActionData) Validate() error {
  2643  	invalidParams := request.ErrInvalidParams{Context: "ActionData"}
  2644  	if s.ClearTimer != nil {
  2645  		if err := s.ClearTimer.Validate(); err != nil {
  2646  			invalidParams.AddNested("ClearTimer", err.(request.ErrInvalidParams))
  2647  		}
  2648  	}
  2649  	if s.DynamoDB != nil {
  2650  		if err := s.DynamoDB.Validate(); err != nil {
  2651  			invalidParams.AddNested("DynamoDB", err.(request.ErrInvalidParams))
  2652  		}
  2653  	}
  2654  	if s.DynamoDBv2 != nil {
  2655  		if err := s.DynamoDBv2.Validate(); err != nil {
  2656  			invalidParams.AddNested("DynamoDBv2", err.(request.ErrInvalidParams))
  2657  		}
  2658  	}
  2659  	if s.Firehose != nil {
  2660  		if err := s.Firehose.Validate(); err != nil {
  2661  			invalidParams.AddNested("Firehose", err.(request.ErrInvalidParams))
  2662  		}
  2663  	}
  2664  	if s.IotEvents != nil {
  2665  		if err := s.IotEvents.Validate(); err != nil {
  2666  			invalidParams.AddNested("IotEvents", err.(request.ErrInvalidParams))
  2667  		}
  2668  	}
  2669  	if s.IotSiteWise != nil {
  2670  		if err := s.IotSiteWise.Validate(); err != nil {
  2671  			invalidParams.AddNested("IotSiteWise", err.(request.ErrInvalidParams))
  2672  		}
  2673  	}
  2674  	if s.IotTopicPublish != nil {
  2675  		if err := s.IotTopicPublish.Validate(); err != nil {
  2676  			invalidParams.AddNested("IotTopicPublish", err.(request.ErrInvalidParams))
  2677  		}
  2678  	}
  2679  	if s.Lambda != nil {
  2680  		if err := s.Lambda.Validate(); err != nil {
  2681  			invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams))
  2682  		}
  2683  	}
  2684  	if s.ResetTimer != nil {
  2685  		if err := s.ResetTimer.Validate(); err != nil {
  2686  			invalidParams.AddNested("ResetTimer", err.(request.ErrInvalidParams))
  2687  		}
  2688  	}
  2689  	if s.SetTimer != nil {
  2690  		if err := s.SetTimer.Validate(); err != nil {
  2691  			invalidParams.AddNested("SetTimer", err.(request.ErrInvalidParams))
  2692  		}
  2693  	}
  2694  	if s.SetVariable != nil {
  2695  		if err := s.SetVariable.Validate(); err != nil {
  2696  			invalidParams.AddNested("SetVariable", err.(request.ErrInvalidParams))
  2697  		}
  2698  	}
  2699  	if s.Sns != nil {
  2700  		if err := s.Sns.Validate(); err != nil {
  2701  			invalidParams.AddNested("Sns", err.(request.ErrInvalidParams))
  2702  		}
  2703  	}
  2704  	if s.Sqs != nil {
  2705  		if err := s.Sqs.Validate(); err != nil {
  2706  			invalidParams.AddNested("Sqs", err.(request.ErrInvalidParams))
  2707  		}
  2708  	}
  2709  
  2710  	if invalidParams.Len() > 0 {
  2711  		return invalidParams
  2712  	}
  2713  	return nil
  2714  }
  2715  
  2716  // SetClearTimer sets the ClearTimer field's value.
  2717  func (s *ActionData) SetClearTimer(v *ClearTimerAction) *ActionData {
  2718  	s.ClearTimer = v
  2719  	return s
  2720  }
  2721  
  2722  // SetDynamoDB sets the DynamoDB field's value.
  2723  func (s *ActionData) SetDynamoDB(v *DynamoDBAction) *ActionData {
  2724  	s.DynamoDB = v
  2725  	return s
  2726  }
  2727  
  2728  // SetDynamoDBv2 sets the DynamoDBv2 field's value.
  2729  func (s *ActionData) SetDynamoDBv2(v *DynamoDBv2Action) *ActionData {
  2730  	s.DynamoDBv2 = v
  2731  	return s
  2732  }
  2733  
  2734  // SetFirehose sets the Firehose field's value.
  2735  func (s *ActionData) SetFirehose(v *FirehoseAction) *ActionData {
  2736  	s.Firehose = v
  2737  	return s
  2738  }
  2739  
  2740  // SetIotEvents sets the IotEvents field's value.
  2741  func (s *ActionData) SetIotEvents(v *Action) *ActionData {
  2742  	s.IotEvents = v
  2743  	return s
  2744  }
  2745  
  2746  // SetIotSiteWise sets the IotSiteWise field's value.
  2747  func (s *ActionData) SetIotSiteWise(v *IotSiteWiseAction) *ActionData {
  2748  	s.IotSiteWise = v
  2749  	return s
  2750  }
  2751  
  2752  // SetIotTopicPublish sets the IotTopicPublish field's value.
  2753  func (s *ActionData) SetIotTopicPublish(v *IotTopicPublishAction) *ActionData {
  2754  	s.IotTopicPublish = v
  2755  	return s
  2756  }
  2757  
  2758  // SetLambda sets the Lambda field's value.
  2759  func (s *ActionData) SetLambda(v *LambdaAction) *ActionData {
  2760  	s.Lambda = v
  2761  	return s
  2762  }
  2763  
  2764  // SetResetTimer sets the ResetTimer field's value.
  2765  func (s *ActionData) SetResetTimer(v *ResetTimerAction) *ActionData {
  2766  	s.ResetTimer = v
  2767  	return s
  2768  }
  2769  
  2770  // SetSetTimer sets the SetTimer field's value.
  2771  func (s *ActionData) SetSetTimer(v *SetTimerAction) *ActionData {
  2772  	s.SetTimer = v
  2773  	return s
  2774  }
  2775  
  2776  // SetSetVariable sets the SetVariable field's value.
  2777  func (s *ActionData) SetSetVariable(v *SetVariableAction) *ActionData {
  2778  	s.SetVariable = v
  2779  	return s
  2780  }
  2781  
  2782  // SetSns sets the Sns field's value.
  2783  func (s *ActionData) SetSns(v *SNSTopicPublishAction) *ActionData {
  2784  	s.Sns = v
  2785  	return s
  2786  }
  2787  
  2788  // SetSqs sets the Sqs field's value.
  2789  func (s *ActionData) SetSqs(v *SqsAction) *ActionData {
  2790  	s.Sqs = v
  2791  	return s
  2792  }
  2793  
  2794  // Specifies one of the following actions to receive notifications when the
  2795  // alarm state changes.
  2796  type AlarmAction struct {
  2797  	_ struct{} `type:"structure"`
  2798  
  2799  	// Defines an action to write to the Amazon DynamoDB table that you created.
  2800  	// The standard action payload contains all the information about the detector
  2801  	// model instance and the event that triggered the action. You can customize
  2802  	// the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
  2803  	// One column of the DynamoDB table receives all attribute-value pairs in the
  2804  	// payload that you specify.
  2805  	//
  2806  	// You must use expressions for all parameters in DynamoDBAction. The expressions
  2807  	// accept literals, operators, functions, references, and substitution templates.
  2808  	//
  2809  	// Examples
  2810  	//
  2811  	//    * For literal values, the expressions must contain single quotes. For
  2812  	//    example, the value for the hashKeyType parameter can be 'STRING'.
  2813  	//
  2814  	//    * For references, you must specify either variables or input values. For
  2815  	//    example, the value for the hashKeyField parameter can be $input.GreenhouseInput.name.
  2816  	//
  2817  	//    * For a substitution template, you must use ${}, and the template must
  2818  	//    be in single quotes. A substitution template can also contain a combination
  2819  	//    of literals, operators, functions, references, and substitution templates.
  2820  	//    In the following example, the value for the hashKeyValue parameter uses
  2821  	//    a substitution template. '${$input.GreenhouseInput.temperature * 6 / 5
  2822  	//    + 32} in Fahrenheit'
  2823  	//
  2824  	//    * For a string concatenation, you must use +. A string concatenation can
  2825  	//    also contain a combination of literals, operators, functions, references,
  2826  	//    and substitution templates. In the following example, the value for the
  2827  	//    tableName parameter uses a string concatenation. 'GreenhouseTemperatureTable
  2828  	//    ' + $input.GreenhouseInput.date
  2829  	//
  2830  	// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
  2831  	// in the AWS IoT Events Developer Guide.
  2832  	//
  2833  	// If the defined payload type is a string, DynamoDBAction writes non-JSON data
  2834  	// to the DynamoDB table as binary data. The DynamoDB console displays the data
  2835  	// as Base64-encoded text. The value for the payloadField parameter is <payload-field>_raw.
  2836  	DynamoDB *DynamoDBAction `locationName:"dynamoDB" type:"structure"`
  2837  
  2838  	// Defines an action to write to the Amazon DynamoDB table that you created.
  2839  	// The default action payload contains all the information about the detector
  2840  	// model instance and the event that triggered the action. You can customize
  2841  	// the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
  2842  	// A separate column of the DynamoDB table receives one attribute-value pair
  2843  	// in the payload that you specify.
  2844  	//
  2845  	// You must use expressions for all parameters in DynamoDBv2Action. The expressions
  2846  	// accept literals, operators, functions, references, and substitution templates.
  2847  	//
  2848  	// Examples
  2849  	//
  2850  	//    * For literal values, the expressions must contain single quotes. For
  2851  	//    example, the value for the tableName parameter can be 'GreenhouseTemperatureTable'.
  2852  	//
  2853  	//    * For references, you must specify either variables or input values. For
  2854  	//    example, the value for the tableName parameter can be $variable.ddbtableName.
  2855  	//
  2856  	//    * For a substitution template, you must use ${}, and the template must
  2857  	//    be in single quotes. A substitution template can also contain a combination
  2858  	//    of literals, operators, functions, references, and substitution templates.
  2859  	//    In the following example, the value for the contentExpression parameter
  2860  	//    in Payload uses a substitution template. '{\"sensorID\": \"${$input.GreenhouseInput.sensor_id}\",
  2861  	//    \"temperature\": \"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\"}'
  2862  	//
  2863  	//    * For a string concatenation, you must use +. A string concatenation can
  2864  	//    also contain a combination of literals, operators, functions, references,
  2865  	//    and substitution templates. In the following example, the value for the
  2866  	//    tableName parameter uses a string concatenation. 'GreenhouseTemperatureTable
  2867  	//    ' + $input.GreenhouseInput.date
  2868  	//
  2869  	// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
  2870  	// in the AWS IoT Events Developer Guide.
  2871  	//
  2872  	// The value for the type parameter in Payload must be JSON.
  2873  	DynamoDBv2 *DynamoDBv2Action `locationName:"dynamoDBv2" type:"structure"`
  2874  
  2875  	// Sends information about the detector model instance and the event that triggered
  2876  	// the action to an Amazon Kinesis Data Firehose delivery stream.
  2877  	Firehose *FirehoseAction `locationName:"firehose" type:"structure"`
  2878  
  2879  	// Sends an AWS IoT Events input, passing in information about the detector
  2880  	// model instance and the event that triggered the action.
  2881  	IotEvents *Action `locationName:"iotEvents" type:"structure"`
  2882  
  2883  	// Sends information about the detector model instance and the event that triggered
  2884  	// the action to a specified asset property in AWS IoT SiteWise.
  2885  	//
  2886  	// You must use expressions for all parameters in IotSiteWiseAction. The expressions
  2887  	// accept literals, operators, functions, references, and substitutions templates.
  2888  	//
  2889  	// Examples
  2890  	//
  2891  	//    * For literal values, the expressions must contain single quotes. For
  2892  	//    example, the value for the propertyAlias parameter can be '/company/windfarm/3/turbine/7/temperature'.
  2893  	//
  2894  	//    * For references, you must specify either variables or input values. For
  2895  	//    example, the value for the assetId parameter can be $input.TurbineInput.assetId1.
  2896  	//
  2897  	//    * For a substitution template, you must use ${}, and the template must
  2898  	//    be in single quotes. A substitution template can also contain a combination
  2899  	//    of literals, operators, functions, references, and substitution templates.
  2900  	//    In the following example, the value for the propertyAlias parameter uses
  2901  	//    a substitution template. 'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/
  2902  	//    ${$input.TemperatureInput.sensorData.turbineID}/temperature'
  2903  	//
  2904  	// You must specify either propertyAlias or both assetId and propertyId to identify
  2905  	// the target asset property in AWS IoT SiteWise.
  2906  	//
  2907  	// For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
  2908  	// in the AWS IoT Events Developer Guide.
  2909  	IotSiteWise *IotSiteWiseAction `locationName:"iotSiteWise" type:"structure"`
  2910  
  2911  	// Information required to publish the MQTT message through the AWS IoT message
  2912  	// broker.
  2913  	IotTopicPublish *IotTopicPublishAction `locationName:"iotTopicPublish" type:"structure"`
  2914  
  2915  	// Calls a Lambda function, passing in information about the detector model
  2916  	// instance and the event that triggered the action.
  2917  	Lambda *LambdaAction `locationName:"lambda" type:"structure"`
  2918  
  2919  	// Information required to publish the Amazon SNS message.
  2920  	Sns *SNSTopicPublishAction `locationName:"sns" type:"structure"`
  2921  
  2922  	// Sends information about the detector model instance and the event that triggered
  2923  	// the action to an Amazon SQS queue.
  2924  	Sqs *SqsAction `locationName:"sqs" type:"structure"`
  2925  }
  2926  
  2927  // String returns the string representation.
  2928  //
  2929  // API parameter values that are decorated as "sensitive" in the API will not
  2930  // be included in the string output. The member name will be present, but the
  2931  // value will be replaced with "sensitive".
  2932  func (s AlarmAction) String() string {
  2933  	return awsutil.Prettify(s)
  2934  }
  2935  
  2936  // GoString returns the string representation.
  2937  //
  2938  // API parameter values that are decorated as "sensitive" in the API will not
  2939  // be included in the string output. The member name will be present, but the
  2940  // value will be replaced with "sensitive".
  2941  func (s AlarmAction) GoString() string {
  2942  	return s.String()
  2943  }
  2944  
  2945  // Validate inspects the fields of the type to determine if they are valid.
  2946  func (s *AlarmAction) Validate() error {
  2947  	invalidParams := request.ErrInvalidParams{Context: "AlarmAction"}
  2948  	if s.DynamoDB != nil {
  2949  		if err := s.DynamoDB.Validate(); err != nil {
  2950  			invalidParams.AddNested("DynamoDB", err.(request.ErrInvalidParams))
  2951  		}
  2952  	}
  2953  	if s.DynamoDBv2 != nil {
  2954  		if err := s.DynamoDBv2.Validate(); err != nil {
  2955  			invalidParams.AddNested("DynamoDBv2", err.(request.ErrInvalidParams))
  2956  		}
  2957  	}
  2958  	if s.Firehose != nil {
  2959  		if err := s.Firehose.Validate(); err != nil {
  2960  			invalidParams.AddNested("Firehose", err.(request.ErrInvalidParams))
  2961  		}
  2962  	}
  2963  	if s.IotEvents != nil {
  2964  		if err := s.IotEvents.Validate(); err != nil {
  2965  			invalidParams.AddNested("IotEvents", err.(request.ErrInvalidParams))
  2966  		}
  2967  	}
  2968  	if s.IotSiteWise != nil {
  2969  		if err := s.IotSiteWise.Validate(); err != nil {
  2970  			invalidParams.AddNested("IotSiteWise", err.(request.ErrInvalidParams))
  2971  		}
  2972  	}
  2973  	if s.IotTopicPublish != nil {
  2974  		if err := s.IotTopicPublish.Validate(); err != nil {
  2975  			invalidParams.AddNested("IotTopicPublish", err.(request.ErrInvalidParams))
  2976  		}
  2977  	}
  2978  	if s.Lambda != nil {
  2979  		if err := s.Lambda.Validate(); err != nil {
  2980  			invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams))
  2981  		}
  2982  	}
  2983  	if s.Sns != nil {
  2984  		if err := s.Sns.Validate(); err != nil {
  2985  			invalidParams.AddNested("Sns", err.(request.ErrInvalidParams))
  2986  		}
  2987  	}
  2988  	if s.Sqs != nil {
  2989  		if err := s.Sqs.Validate(); err != nil {
  2990  			invalidParams.AddNested("Sqs", err.(request.ErrInvalidParams))
  2991  		}
  2992  	}
  2993  
  2994  	if invalidParams.Len() > 0 {
  2995  		return invalidParams
  2996  	}
  2997  	return nil
  2998  }
  2999  
  3000  // SetDynamoDB sets the DynamoDB field's value.
  3001  func (s *AlarmAction) SetDynamoDB(v *DynamoDBAction) *AlarmAction {
  3002  	s.DynamoDB = v
  3003  	return s
  3004  }
  3005  
  3006  // SetDynamoDBv2 sets the DynamoDBv2 field's value.
  3007  func (s *AlarmAction) SetDynamoDBv2(v *DynamoDBv2Action) *AlarmAction {
  3008  	s.DynamoDBv2 = v
  3009  	return s
  3010  }
  3011  
  3012  // SetFirehose sets the Firehose field's value.
  3013  func (s *AlarmAction) SetFirehose(v *FirehoseAction) *AlarmAction {
  3014  	s.Firehose = v
  3015  	return s
  3016  }
  3017  
  3018  // SetIotEvents sets the IotEvents field's value.
  3019  func (s *AlarmAction) SetIotEvents(v *Action) *AlarmAction {
  3020  	s.IotEvents = v
  3021  	return s
  3022  }
  3023  
  3024  // SetIotSiteWise sets the IotSiteWise field's value.
  3025  func (s *AlarmAction) SetIotSiteWise(v *IotSiteWiseAction) *AlarmAction {
  3026  	s.IotSiteWise = v
  3027  	return s
  3028  }
  3029  
  3030  // SetIotTopicPublish sets the IotTopicPublish field's value.
  3031  func (s *AlarmAction) SetIotTopicPublish(v *IotTopicPublishAction) *AlarmAction {
  3032  	s.IotTopicPublish = v
  3033  	return s
  3034  }
  3035  
  3036  // SetLambda sets the Lambda field's value.
  3037  func (s *AlarmAction) SetLambda(v *LambdaAction) *AlarmAction {
  3038  	s.Lambda = v
  3039  	return s
  3040  }
  3041  
  3042  // SetSns sets the Sns field's value.
  3043  func (s *AlarmAction) SetSns(v *SNSTopicPublishAction) *AlarmAction {
  3044  	s.Sns = v
  3045  	return s
  3046  }
  3047  
  3048  // SetSqs sets the Sqs field's value.
  3049  func (s *AlarmAction) SetSqs(v *SqsAction) *AlarmAction {
  3050  	s.Sqs = v
  3051  	return s
  3052  }
  3053  
  3054  // Contains the configuration information of alarm state changes.
  3055  type AlarmCapabilities struct {
  3056  	_ struct{} `type:"structure"`
  3057  
  3058  	// Specifies whether to get notified for alarm state changes.
  3059  	AcknowledgeFlow *AcknowledgeFlow `locationName:"acknowledgeFlow" type:"structure"`
  3060  
  3061  	// Specifies the default alarm state. The configuration applies to all alarms
  3062  	// that were created based on this alarm model.
  3063  	InitializationConfiguration *InitializationConfiguration `locationName:"initializationConfiguration" type:"structure"`
  3064  }
  3065  
  3066  // String returns the string representation.
  3067  //
  3068  // API parameter values that are decorated as "sensitive" in the API will not
  3069  // be included in the string output. The member name will be present, but the
  3070  // value will be replaced with "sensitive".
  3071  func (s AlarmCapabilities) String() string {
  3072  	return awsutil.Prettify(s)
  3073  }
  3074  
  3075  // GoString returns the string representation.
  3076  //
  3077  // API parameter values that are decorated as "sensitive" in the API will not
  3078  // be included in the string output. The member name will be present, but the
  3079  // value will be replaced with "sensitive".
  3080  func (s AlarmCapabilities) GoString() string {
  3081  	return s.String()
  3082  }
  3083  
  3084  // Validate inspects the fields of the type to determine if they are valid.
  3085  func (s *AlarmCapabilities) Validate() error {
  3086  	invalidParams := request.ErrInvalidParams{Context: "AlarmCapabilities"}
  3087  	if s.AcknowledgeFlow != nil {
  3088  		if err := s.AcknowledgeFlow.Validate(); err != nil {
  3089  			invalidParams.AddNested("AcknowledgeFlow", err.(request.ErrInvalidParams))
  3090  		}
  3091  	}
  3092  	if s.InitializationConfiguration != nil {
  3093  		if err := s.InitializationConfiguration.Validate(); err != nil {
  3094  			invalidParams.AddNested("InitializationConfiguration", err.(request.ErrInvalidParams))
  3095  		}
  3096  	}
  3097  
  3098  	if invalidParams.Len() > 0 {
  3099  		return invalidParams
  3100  	}
  3101  	return nil
  3102  }
  3103  
  3104  // SetAcknowledgeFlow sets the AcknowledgeFlow field's value.
  3105  func (s *AlarmCapabilities) SetAcknowledgeFlow(v *AcknowledgeFlow) *AlarmCapabilities {
  3106  	s.AcknowledgeFlow = v
  3107  	return s
  3108  }
  3109  
  3110  // SetInitializationConfiguration sets the InitializationConfiguration field's value.
  3111  func (s *AlarmCapabilities) SetInitializationConfiguration(v *InitializationConfiguration) *AlarmCapabilities {
  3112  	s.InitializationConfiguration = v
  3113  	return s
  3114  }
  3115  
  3116  // Contains information about one or more alarm actions.
  3117  type AlarmEventActions struct {
  3118  	_ struct{} `type:"structure"`
  3119  
  3120  	// Specifies one or more supported actions to receive notifications when the
  3121  	// alarm state changes.
  3122  	AlarmActions []*AlarmAction `locationName:"alarmActions" type:"list"`
  3123  }
  3124  
  3125  // String returns the string representation.
  3126  //
  3127  // API parameter values that are decorated as "sensitive" in the API will not
  3128  // be included in the string output. The member name will be present, but the
  3129  // value will be replaced with "sensitive".
  3130  func (s AlarmEventActions) String() string {
  3131  	return awsutil.Prettify(s)
  3132  }
  3133  
  3134  // GoString returns the string representation.
  3135  //
  3136  // API parameter values that are decorated as "sensitive" in the API will not
  3137  // be included in the string output. The member name will be present, but the
  3138  // value will be replaced with "sensitive".
  3139  func (s AlarmEventActions) GoString() string {
  3140  	return s.String()
  3141  }
  3142  
  3143  // Validate inspects the fields of the type to determine if they are valid.
  3144  func (s *AlarmEventActions) Validate() error {
  3145  	invalidParams := request.ErrInvalidParams{Context: "AlarmEventActions"}
  3146  	if s.AlarmActions != nil {
  3147  		for i, v := range s.AlarmActions {
  3148  			if v == nil {
  3149  				continue
  3150  			}
  3151  			if err := v.Validate(); err != nil {
  3152  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AlarmActions", i), err.(request.ErrInvalidParams))
  3153  			}
  3154  		}
  3155  	}
  3156  
  3157  	if invalidParams.Len() > 0 {
  3158  		return invalidParams
  3159  	}
  3160  	return nil
  3161  }
  3162  
  3163  // SetAlarmActions sets the AlarmActions field's value.
  3164  func (s *AlarmEventActions) SetAlarmActions(v []*AlarmAction) *AlarmEventActions {
  3165  	s.AlarmActions = v
  3166  	return s
  3167  }
  3168  
  3169  // Contains a summary of an alarm model.
  3170  type AlarmModelSummary struct {
  3171  	_ struct{} `type:"structure"`
  3172  
  3173  	// The description of the alarm model.
  3174  	AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"`
  3175  
  3176  	// The name of the alarm model.
  3177  	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"`
  3178  
  3179  	// The time the alarm model was created, in the Unix epoch format.
  3180  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  3181  }
  3182  
  3183  // String returns the string representation.
  3184  //
  3185  // API parameter values that are decorated as "sensitive" in the API will not
  3186  // be included in the string output. The member name will be present, but the
  3187  // value will be replaced with "sensitive".
  3188  func (s AlarmModelSummary) String() string {
  3189  	return awsutil.Prettify(s)
  3190  }
  3191  
  3192  // GoString returns the string representation.
  3193  //
  3194  // API parameter values that are decorated as "sensitive" in the API will not
  3195  // be included in the string output. The member name will be present, but the
  3196  // value will be replaced with "sensitive".
  3197  func (s AlarmModelSummary) GoString() string {
  3198  	return s.String()
  3199  }
  3200  
  3201  // SetAlarmModelDescription sets the AlarmModelDescription field's value.
  3202  func (s *AlarmModelSummary) SetAlarmModelDescription(v string) *AlarmModelSummary {
  3203  	s.AlarmModelDescription = &v
  3204  	return s
  3205  }
  3206  
  3207  // SetAlarmModelName sets the AlarmModelName field's value.
  3208  func (s *AlarmModelSummary) SetAlarmModelName(v string) *AlarmModelSummary {
  3209  	s.AlarmModelName = &v
  3210  	return s
  3211  }
  3212  
  3213  // SetCreationTime sets the CreationTime field's value.
  3214  func (s *AlarmModelSummary) SetCreationTime(v time.Time) *AlarmModelSummary {
  3215  	s.CreationTime = &v
  3216  	return s
  3217  }
  3218  
  3219  // Contains a summary of an alarm model version.
  3220  type AlarmModelVersionSummary struct {
  3221  	_ struct{} `type:"structure"`
  3222  
  3223  	// The ARN of the alarm model. For more information, see Amazon Resource Names
  3224  	// (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  3225  	// in the AWS General Reference.
  3226  	AlarmModelArn *string `locationName:"alarmModelArn" type:"string"`
  3227  
  3228  	// The name of the alarm model.
  3229  	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"`
  3230  
  3231  	// The version of the alarm model.
  3232  	AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"`
  3233  
  3234  	// The time the alarm model was created, in the Unix epoch format.
  3235  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  3236  
  3237  	// The time the alarm model was last updated, in the Unix epoch format.
  3238  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  3239  
  3240  	// The ARN of the IAM role that allows the alarm to perform actions and access
  3241  	// AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  3242  	// in the AWS General Reference.
  3243  	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
  3244  
  3245  	// The status of the alarm model. The status can be one of the following values:
  3246  	//
  3247  	//    * ACTIVE - The alarm model is active and it's ready to evaluate data.
  3248  	//
  3249  	//    * ACTIVATING - AWS IoT Events is activating your alarm model. Activating
  3250  	//    an alarm model can take up to a few minutes.
  3251  	//
  3252  	//    * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate
  3253  	//    data. Check your alarm model information and update the alarm model.
  3254  	//
  3255  	//    * FAILED - You couldn't create or update the alarm model. Check your alarm
  3256  	//    model information and try again.
  3257  	Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"`
  3258  
  3259  	// Contains information about the status of the alarm model version.
  3260  	StatusMessage *string `locationName:"statusMessage" type:"string"`
  3261  }
  3262  
  3263  // String returns the string representation.
  3264  //
  3265  // API parameter values that are decorated as "sensitive" in the API will not
  3266  // be included in the string output. The member name will be present, but the
  3267  // value will be replaced with "sensitive".
  3268  func (s AlarmModelVersionSummary) String() string {
  3269  	return awsutil.Prettify(s)
  3270  }
  3271  
  3272  // GoString returns the string representation.
  3273  //
  3274  // API parameter values that are decorated as "sensitive" in the API will not
  3275  // be included in the string output. The member name will be present, but the
  3276  // value will be replaced with "sensitive".
  3277  func (s AlarmModelVersionSummary) GoString() string {
  3278  	return s.String()
  3279  }
  3280  
  3281  // SetAlarmModelArn sets the AlarmModelArn field's value.
  3282  func (s *AlarmModelVersionSummary) SetAlarmModelArn(v string) *AlarmModelVersionSummary {
  3283  	s.AlarmModelArn = &v
  3284  	return s
  3285  }
  3286  
  3287  // SetAlarmModelName sets the AlarmModelName field's value.
  3288  func (s *AlarmModelVersionSummary) SetAlarmModelName(v string) *AlarmModelVersionSummary {
  3289  	s.AlarmModelName = &v
  3290  	return s
  3291  }
  3292  
  3293  // SetAlarmModelVersion sets the AlarmModelVersion field's value.
  3294  func (s *AlarmModelVersionSummary) SetAlarmModelVersion(v string) *AlarmModelVersionSummary {
  3295  	s.AlarmModelVersion = &v
  3296  	return s
  3297  }
  3298  
  3299  // SetCreationTime sets the CreationTime field's value.
  3300  func (s *AlarmModelVersionSummary) SetCreationTime(v time.Time) *AlarmModelVersionSummary {
  3301  	s.CreationTime = &v
  3302  	return s
  3303  }
  3304  
  3305  // SetLastUpdateTime sets the LastUpdateTime field's value.
  3306  func (s *AlarmModelVersionSummary) SetLastUpdateTime(v time.Time) *AlarmModelVersionSummary {
  3307  	s.LastUpdateTime = &v
  3308  	return s
  3309  }
  3310  
  3311  // SetRoleArn sets the RoleArn field's value.
  3312  func (s *AlarmModelVersionSummary) SetRoleArn(v string) *AlarmModelVersionSummary {
  3313  	s.RoleArn = &v
  3314  	return s
  3315  }
  3316  
  3317  // SetStatus sets the Status field's value.
  3318  func (s *AlarmModelVersionSummary) SetStatus(v string) *AlarmModelVersionSummary {
  3319  	s.Status = &v
  3320  	return s
  3321  }
  3322  
  3323  // SetStatusMessage sets the StatusMessage field's value.
  3324  func (s *AlarmModelVersionSummary) SetStatusMessage(v string) *AlarmModelVersionSummary {
  3325  	s.StatusMessage = &v
  3326  	return s
  3327  }
  3328  
  3329  // Contains information about one or more notification actions.
  3330  type AlarmNotification struct {
  3331  	_ struct{} `type:"structure"`
  3332  
  3333  	// Contains the notification settings of an alarm model. The settings apply
  3334  	// to all alarms that were created based on this alarm model.
  3335  	NotificationActions []*NotificationAction `locationName:"notificationActions" min:"1" type:"list"`
  3336  }
  3337  
  3338  // String returns the string representation.
  3339  //
  3340  // API parameter values that are decorated as "sensitive" in the API will not
  3341  // be included in the string output. The member name will be present, but the
  3342  // value will be replaced with "sensitive".
  3343  func (s AlarmNotification) String() string {
  3344  	return awsutil.Prettify(s)
  3345  }
  3346  
  3347  // GoString returns the string representation.
  3348  //
  3349  // API parameter values that are decorated as "sensitive" in the API will not
  3350  // be included in the string output. The member name will be present, but the
  3351  // value will be replaced with "sensitive".
  3352  func (s AlarmNotification) GoString() string {
  3353  	return s.String()
  3354  }
  3355  
  3356  // Validate inspects the fields of the type to determine if they are valid.
  3357  func (s *AlarmNotification) Validate() error {
  3358  	invalidParams := request.ErrInvalidParams{Context: "AlarmNotification"}
  3359  	if s.NotificationActions != nil && len(s.NotificationActions) < 1 {
  3360  		invalidParams.Add(request.NewErrParamMinLen("NotificationActions", 1))
  3361  	}
  3362  	if s.NotificationActions != nil {
  3363  		for i, v := range s.NotificationActions {
  3364  			if v == nil {
  3365  				continue
  3366  			}
  3367  			if err := v.Validate(); err != nil {
  3368  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NotificationActions", i), err.(request.ErrInvalidParams))
  3369  			}
  3370  		}
  3371  	}
  3372  
  3373  	if invalidParams.Len() > 0 {
  3374  		return invalidParams
  3375  	}
  3376  	return nil
  3377  }
  3378  
  3379  // SetNotificationActions sets the NotificationActions field's value.
  3380  func (s *AlarmNotification) SetNotificationActions(v []*NotificationAction) *AlarmNotification {
  3381  	s.NotificationActions = v
  3382  	return s
  3383  }
  3384  
  3385  // Defines when your alarm is invoked.
  3386  type AlarmRule struct {
  3387  	_ struct{} `type:"structure"`
  3388  
  3389  	// A rule that compares an input property value to a threshold value with a
  3390  	// comparison operator.
  3391  	SimpleRule *SimpleRule `locationName:"simpleRule" type:"structure"`
  3392  }
  3393  
  3394  // String returns the string representation.
  3395  //
  3396  // API parameter values that are decorated as "sensitive" in the API will not
  3397  // be included in the string output. The member name will be present, but the
  3398  // value will be replaced with "sensitive".
  3399  func (s AlarmRule) String() string {
  3400  	return awsutil.Prettify(s)
  3401  }
  3402  
  3403  // GoString returns the string representation.
  3404  //
  3405  // API parameter values that are decorated as "sensitive" in the API will not
  3406  // be included in the string output. The member name will be present, but the
  3407  // value will be replaced with "sensitive".
  3408  func (s AlarmRule) GoString() string {
  3409  	return s.String()
  3410  }
  3411  
  3412  // Validate inspects the fields of the type to determine if they are valid.
  3413  func (s *AlarmRule) Validate() error {
  3414  	invalidParams := request.ErrInvalidParams{Context: "AlarmRule"}
  3415  	if s.SimpleRule != nil {
  3416  		if err := s.SimpleRule.Validate(); err != nil {
  3417  			invalidParams.AddNested("SimpleRule", err.(request.ErrInvalidParams))
  3418  		}
  3419  	}
  3420  
  3421  	if invalidParams.Len() > 0 {
  3422  		return invalidParams
  3423  	}
  3424  	return nil
  3425  }
  3426  
  3427  // SetSimpleRule sets the SimpleRule field's value.
  3428  func (s *AlarmRule) SetSimpleRule(v *SimpleRule) *AlarmRule {
  3429  	s.SimpleRule = v
  3430  	return s
  3431  }
  3432  
  3433  // Contains the result of the analysis.
  3434  type AnalysisResult struct {
  3435  	_ struct{} `type:"structure"`
  3436  
  3437  	// The severity level of the analysis result. Based on the severity level, analysis
  3438  	// results fall into three general categories:
  3439  	//
  3440  	//    * INFO - An information result tells you about a significant field in
  3441  	//    your detector model. This type of result usually doesn't require immediate
  3442  	//    action.
  3443  	//
  3444  	//    * WARNING - A warning result draws special attention to fields that might
  3445  	//    cause issues for your detector model. We recommend that you review warnings
  3446  	//    and take necessary actions before you use your detector model in production
  3447  	//    environments. Otherwise, the detector model might not work as expected.
  3448  	//
  3449  	//    * ERROR - An error result notifies you about a problem found in your detector
  3450  	//    model. You must fix all errors before you can publish your detector model.
  3451  	Level *string `locationName:"level" type:"string" enum:"AnalysisResultLevel"`
  3452  
  3453  	// Contains one or more locations that you can use to locate the fields in your
  3454  	// detector model that the analysis result references.
  3455  	Locations []*AnalysisResultLocation `locationName:"locations" type:"list"`
  3456  
  3457  	// Contains additional information about the analysis result.
  3458  	Message *string `locationName:"message" type:"string"`
  3459  
  3460  	// The type of the analysis result. Analyses fall into the following types based
  3461  	// on the validators used to generate the analysis result:
  3462  	//
  3463  	//    * supported-actions - You must specify AWS IoT Events supported actions
  3464  	//    that work with other AWS services in a supported AWS Region.
  3465  	//
  3466  	//    * service-limits - Resources or API operations can't exceed service quotas
  3467  	//    (also known as limits). Update your detector model or request a quota
  3468  	//    increase.
  3469  	//
  3470  	//    * structure - The detector model must follow a structure that AWS IoT
  3471  	//    Events supports.
  3472  	//
  3473  	//    * expression-syntax - Your expression must follow the required syntax.
  3474  	//
  3475  	//    * data-type - Data types referenced in the detector model must be compatible.
  3476  	//
  3477  	//    * referenced-data - You must define the data referenced in your detector
  3478  	//    model before you can use the data.
  3479  	//
  3480  	//    * referenced-resource - Resources that the detector model uses must be
  3481  	//    available.
  3482  	//
  3483  	// For more information, see Running detector model analyses (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html)
  3484  	// in the AWS IoT Events Developer Guide.
  3485  	Type *string `locationName:"type" type:"string"`
  3486  }
  3487  
  3488  // String returns the string representation.
  3489  //
  3490  // API parameter values that are decorated as "sensitive" in the API will not
  3491  // be included in the string output. The member name will be present, but the
  3492  // value will be replaced with "sensitive".
  3493  func (s AnalysisResult) String() string {
  3494  	return awsutil.Prettify(s)
  3495  }
  3496  
  3497  // GoString returns the string representation.
  3498  //
  3499  // API parameter values that are decorated as "sensitive" in the API will not
  3500  // be included in the string output. The member name will be present, but the
  3501  // value will be replaced with "sensitive".
  3502  func (s AnalysisResult) GoString() string {
  3503  	return s.String()
  3504  }
  3505  
  3506  // SetLevel sets the Level field's value.
  3507  func (s *AnalysisResult) SetLevel(v string) *AnalysisResult {
  3508  	s.Level = &v
  3509  	return s
  3510  }
  3511  
  3512  // SetLocations sets the Locations field's value.
  3513  func (s *AnalysisResult) SetLocations(v []*AnalysisResultLocation) *AnalysisResult {
  3514  	s.Locations = v
  3515  	return s
  3516  }
  3517  
  3518  // SetMessage sets the Message field's value.
  3519  func (s *AnalysisResult) SetMessage(v string) *AnalysisResult {
  3520  	s.Message = &v
  3521  	return s
  3522  }
  3523  
  3524  // SetType sets the Type field's value.
  3525  func (s *AnalysisResult) SetType(v string) *AnalysisResult {
  3526  	s.Type = &v
  3527  	return s
  3528  }
  3529  
  3530  // Contains information that you can use to locate the field in your detector
  3531  // model that the analysis result references.
  3532  type AnalysisResultLocation struct {
  3533  	_ struct{} `type:"structure"`
  3534  
  3535  	// A JsonPath (https://github.com/json-path/JsonPath) expression that identifies
  3536  	// the error field in your detector model.
  3537  	Path *string `locationName:"path" type:"string"`
  3538  }
  3539  
  3540  // String returns the string representation.
  3541  //
  3542  // API parameter values that are decorated as "sensitive" in the API will not
  3543  // be included in the string output. The member name will be present, but the
  3544  // value will be replaced with "sensitive".
  3545  func (s AnalysisResultLocation) String() string {
  3546  	return awsutil.Prettify(s)
  3547  }
  3548  
  3549  // GoString returns the string representation.
  3550  //
  3551  // API parameter values that are decorated as "sensitive" in the API will not
  3552  // be included in the string output. The member name will be present, but the
  3553  // value will be replaced with "sensitive".
  3554  func (s AnalysisResultLocation) GoString() string {
  3555  	return s.String()
  3556  }
  3557  
  3558  // SetPath sets the Path field's value.
  3559  func (s *AnalysisResultLocation) SetPath(v string) *AnalysisResultLocation {
  3560  	s.Path = &v
  3561  	return s
  3562  }
  3563  
  3564  // A structure that contains timestamp information. For more information, see
  3565  // TimeInNanos (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html)
  3566  // in the AWS IoT SiteWise API Reference.
  3567  //
  3568  // You must use expressions for all parameters in AssetPropertyTimestamp. The
  3569  // expressions accept literals, operators, functions, references, and substitution
  3570  // templates.
  3571  //
  3572  // Examples
  3573  //
  3574  //    * For literal values, the expressions must contain single quotes. For
  3575  //    example, the value for the timeInSeconds parameter can be '1586400675'.
  3576  //
  3577  //    * For references, you must specify either variables or input values. For
  3578  //    example, the value for the offsetInNanos parameter can be $variable.time.
  3579  //
  3580  //    * For a substitution template, you must use ${}, and the template must
  3581  //    be in single quotes. A substitution template can also contain a combination
  3582  //    of literals, operators, functions, references, and substitution templates.
  3583  //    In the following example, the value for the timeInSeconds parameter uses
  3584  //    a substitution template. '${$input.TemperatureInput.sensorData.timestamp
  3585  //    / 1000}'
  3586  //
  3587  // For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
  3588  // in the AWS IoT Events Developer Guide.
  3589  type AssetPropertyTimestamp struct {
  3590  	_ struct{} `type:"structure"`
  3591  
  3592  	// The nanosecond offset converted from timeInSeconds. The valid range is between
  3593  	// 0-999999999.
  3594  	OffsetInNanos *string `locationName:"offsetInNanos" type:"string"`
  3595  
  3596  	// The timestamp, in seconds, in the Unix epoch format. The valid range is between
  3597  	// 1-31556889864403199.
  3598  	//
  3599  	// TimeInSeconds is a required field
  3600  	TimeInSeconds *string `locationName:"timeInSeconds" type:"string" required:"true"`
  3601  }
  3602  
  3603  // String returns the string representation.
  3604  //
  3605  // API parameter values that are decorated as "sensitive" in the API will not
  3606  // be included in the string output. The member name will be present, but the
  3607  // value will be replaced with "sensitive".
  3608  func (s AssetPropertyTimestamp) String() string {
  3609  	return awsutil.Prettify(s)
  3610  }
  3611  
  3612  // GoString 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 AssetPropertyTimestamp) GoString() string {
  3618  	return s.String()
  3619  }
  3620  
  3621  // Validate inspects the fields of the type to determine if they are valid.
  3622  func (s *AssetPropertyTimestamp) Validate() error {
  3623  	invalidParams := request.ErrInvalidParams{Context: "AssetPropertyTimestamp"}
  3624  	if s.TimeInSeconds == nil {
  3625  		invalidParams.Add(request.NewErrParamRequired("TimeInSeconds"))
  3626  	}
  3627  
  3628  	if invalidParams.Len() > 0 {
  3629  		return invalidParams
  3630  	}
  3631  	return nil
  3632  }
  3633  
  3634  // SetOffsetInNanos sets the OffsetInNanos field's value.
  3635  func (s *AssetPropertyTimestamp) SetOffsetInNanos(v string) *AssetPropertyTimestamp {
  3636  	s.OffsetInNanos = &v
  3637  	return s
  3638  }
  3639  
  3640  // SetTimeInSeconds sets the TimeInSeconds field's value.
  3641  func (s *AssetPropertyTimestamp) SetTimeInSeconds(v string) *AssetPropertyTimestamp {
  3642  	s.TimeInSeconds = &v
  3643  	return s
  3644  }
  3645  
  3646  // A structure that contains value information. For more information, see AssetPropertyValue
  3647  // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html)
  3648  // in the AWS IoT SiteWise API Reference.
  3649  //
  3650  // You must use expressions for all parameters in AssetPropertyValue. The expressions
  3651  // accept literals, operators, functions, references, and substitution templates.
  3652  //
  3653  // Examples
  3654  //
  3655  //    * For literal values, the expressions must contain single quotes. For
  3656  //    example, the value for the quality parameter can be 'GOOD'.
  3657  //
  3658  //    * For references, you must specify either variables or input values. For
  3659  //    example, the value for the quality parameter can be $input.TemperatureInput.sensorData.quality.
  3660  //
  3661  // For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
  3662  // in the AWS IoT Events Developer Guide.
  3663  type AssetPropertyValue struct {
  3664  	_ struct{} `type:"structure"`
  3665  
  3666  	// The quality of the asset property value. The value must be 'GOOD', 'BAD',
  3667  	// or 'UNCERTAIN'.
  3668  	Quality *string `locationName:"quality" type:"string"`
  3669  
  3670  	// The timestamp associated with the asset property value. The default is the
  3671  	// current event time.
  3672  	Timestamp *AssetPropertyTimestamp `locationName:"timestamp" type:"structure"`
  3673  
  3674  	// The value to send to an asset property.
  3675  	Value *AssetPropertyVariant `locationName:"value" type:"structure"`
  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 AssetPropertyValue) 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 AssetPropertyValue) GoString() string {
  3693  	return s.String()
  3694  }
  3695  
  3696  // Validate inspects the fields of the type to determine if they are valid.
  3697  func (s *AssetPropertyValue) Validate() error {
  3698  	invalidParams := request.ErrInvalidParams{Context: "AssetPropertyValue"}
  3699  	if s.Timestamp != nil {
  3700  		if err := s.Timestamp.Validate(); err != nil {
  3701  			invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams))
  3702  		}
  3703  	}
  3704  
  3705  	if invalidParams.Len() > 0 {
  3706  		return invalidParams
  3707  	}
  3708  	return nil
  3709  }
  3710  
  3711  // SetQuality sets the Quality field's value.
  3712  func (s *AssetPropertyValue) SetQuality(v string) *AssetPropertyValue {
  3713  	s.Quality = &v
  3714  	return s
  3715  }
  3716  
  3717  // SetTimestamp sets the Timestamp field's value.
  3718  func (s *AssetPropertyValue) SetTimestamp(v *AssetPropertyTimestamp) *AssetPropertyValue {
  3719  	s.Timestamp = v
  3720  	return s
  3721  }
  3722  
  3723  // SetValue sets the Value field's value.
  3724  func (s *AssetPropertyValue) SetValue(v *AssetPropertyVariant) *AssetPropertyValue {
  3725  	s.Value = v
  3726  	return s
  3727  }
  3728  
  3729  // A structure that contains an asset property value. For more information,
  3730  // see Variant (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html)
  3731  // in the AWS IoT SiteWise API Reference.
  3732  //
  3733  // You must use expressions for all parameters in AssetPropertyVariant. The
  3734  // expressions accept literals, operators, functions, references, and substitution
  3735  // templates.
  3736  //
  3737  // Examples
  3738  //
  3739  //    * For literal values, the expressions must contain single quotes. For
  3740  //    example, the value for the integerValue parameter can be '100'.
  3741  //
  3742  //    * For references, you must specify either variables or parameters. For
  3743  //    example, the value for the booleanValue parameter can be $variable.offline.
  3744  //
  3745  //    * For a substitution template, you must use ${}, and the template must
  3746  //    be in single quotes. A substitution template can also contain a combination
  3747  //    of literals, operators, functions, references, and substitution templates.
  3748  //    In the following example, the value for the doubleValue parameter uses
  3749  //    a substitution template. '${$input.TemperatureInput.sensorData.temperature
  3750  //    * 6 / 5 + 32}'
  3751  //
  3752  // For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
  3753  // in the AWS IoT Events Developer Guide.
  3754  //
  3755  // You must specify one of the following value types, depending on the dataType
  3756  // of the specified asset property. For more information, see AssetProperty
  3757  // (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html)
  3758  // in the AWS IoT SiteWise API Reference.
  3759  type AssetPropertyVariant struct {
  3760  	_ struct{} `type:"structure"`
  3761  
  3762  	// The asset property value is a Boolean value that must be 'TRUE' or 'FALSE'.
  3763  	// You must use an expression, and the evaluated result should be a Boolean
  3764  	// value.
  3765  	BooleanValue *string `locationName:"booleanValue" type:"string"`
  3766  
  3767  	// The asset property value is a double. You must use an expression, and the
  3768  	// evaluated result should be a double.
  3769  	DoubleValue *string `locationName:"doubleValue" type:"string"`
  3770  
  3771  	// The asset property value is an integer. You must use an expression, and the
  3772  	// evaluated result should be an integer.
  3773  	IntegerValue *string `locationName:"integerValue" type:"string"`
  3774  
  3775  	// The asset property value is a string. You must use an expression, and the
  3776  	// evaluated result should be a string.
  3777  	StringValue *string `locationName:"stringValue" type:"string"`
  3778  }
  3779  
  3780  // String returns the string representation.
  3781  //
  3782  // API parameter values that are decorated as "sensitive" in the API will not
  3783  // be included in the string output. The member name will be present, but the
  3784  // value will be replaced with "sensitive".
  3785  func (s AssetPropertyVariant) String() string {
  3786  	return awsutil.Prettify(s)
  3787  }
  3788  
  3789  // GoString returns the string representation.
  3790  //
  3791  // API parameter values that are decorated as "sensitive" in the API will not
  3792  // be included in the string output. The member name will be present, but the
  3793  // value will be replaced with "sensitive".
  3794  func (s AssetPropertyVariant) GoString() string {
  3795  	return s.String()
  3796  }
  3797  
  3798  // SetBooleanValue sets the BooleanValue field's value.
  3799  func (s *AssetPropertyVariant) SetBooleanValue(v string) *AssetPropertyVariant {
  3800  	s.BooleanValue = &v
  3801  	return s
  3802  }
  3803  
  3804  // SetDoubleValue sets the DoubleValue field's value.
  3805  func (s *AssetPropertyVariant) SetDoubleValue(v string) *AssetPropertyVariant {
  3806  	s.DoubleValue = &v
  3807  	return s
  3808  }
  3809  
  3810  // SetIntegerValue sets the IntegerValue field's value.
  3811  func (s *AssetPropertyVariant) SetIntegerValue(v string) *AssetPropertyVariant {
  3812  	s.IntegerValue = &v
  3813  	return s
  3814  }
  3815  
  3816  // SetStringValue sets the StringValue field's value.
  3817  func (s *AssetPropertyVariant) SetStringValue(v string) *AssetPropertyVariant {
  3818  	s.StringValue = &v
  3819  	return s
  3820  }
  3821  
  3822  // The attributes from the JSON payload that are made available by the input.
  3823  // Inputs are derived from messages sent to the AWS IoT Events system using
  3824  // BatchPutMessage. Each such message contains a JSON payload. Those attributes
  3825  // (and their paired values) specified here are available for use in the condition
  3826  // expressions used by detectors.
  3827  type Attribute struct {
  3828  	_ struct{} `type:"structure"`
  3829  
  3830  	// An expression that specifies an attribute-value pair in a JSON structure.
  3831  	// Use this to specify an attribute from the JSON payload that is made available
  3832  	// by the input. Inputs are derived from messages sent to AWS IoT Events (BatchPutMessage).
  3833  	// Each such message contains a JSON payload. The attribute (and its paired
  3834  	// value) specified here are available for use in the condition expressions
  3835  	// used by detectors.
  3836  	//
  3837  	// Syntax: <field-name>.<field-name>...
  3838  	//
  3839  	// JsonPath is a required field
  3840  	JsonPath *string `locationName:"jsonPath" min:"1" type:"string" required:"true"`
  3841  }
  3842  
  3843  // String returns the string representation.
  3844  //
  3845  // API parameter values that are decorated as "sensitive" in the API will not
  3846  // be included in the string output. The member name will be present, but the
  3847  // value will be replaced with "sensitive".
  3848  func (s Attribute) String() string {
  3849  	return awsutil.Prettify(s)
  3850  }
  3851  
  3852  // GoString returns the string representation.
  3853  //
  3854  // API parameter values that are decorated as "sensitive" in the API will not
  3855  // be included in the string output. The member name will be present, but the
  3856  // value will be replaced with "sensitive".
  3857  func (s Attribute) GoString() string {
  3858  	return s.String()
  3859  }
  3860  
  3861  // Validate inspects the fields of the type to determine if they are valid.
  3862  func (s *Attribute) Validate() error {
  3863  	invalidParams := request.ErrInvalidParams{Context: "Attribute"}
  3864  	if s.JsonPath == nil {
  3865  		invalidParams.Add(request.NewErrParamRequired("JsonPath"))
  3866  	}
  3867  	if s.JsonPath != nil && len(*s.JsonPath) < 1 {
  3868  		invalidParams.Add(request.NewErrParamMinLen("JsonPath", 1))
  3869  	}
  3870  
  3871  	if invalidParams.Len() > 0 {
  3872  		return invalidParams
  3873  	}
  3874  	return nil
  3875  }
  3876  
  3877  // SetJsonPath sets the JsonPath field's value.
  3878  func (s *Attribute) SetJsonPath(v string) *Attribute {
  3879  	s.JsonPath = &v
  3880  	return s
  3881  }
  3882  
  3883  // Information needed to clear the timer.
  3884  type ClearTimerAction struct {
  3885  	_ struct{} `type:"structure"`
  3886  
  3887  	// The name of the timer to clear.
  3888  	//
  3889  	// TimerName is a required field
  3890  	TimerName *string `locationName:"timerName" min:"1" type:"string" required:"true"`
  3891  }
  3892  
  3893  // String returns the string representation.
  3894  //
  3895  // API parameter values that are decorated as "sensitive" in the API will not
  3896  // be included in the string output. The member name will be present, but the
  3897  // value will be replaced with "sensitive".
  3898  func (s ClearTimerAction) String() string {
  3899  	return awsutil.Prettify(s)
  3900  }
  3901  
  3902  // GoString returns the string representation.
  3903  //
  3904  // API parameter values that are decorated as "sensitive" in the API will not
  3905  // be included in the string output. The member name will be present, but the
  3906  // value will be replaced with "sensitive".
  3907  func (s ClearTimerAction) GoString() string {
  3908  	return s.String()
  3909  }
  3910  
  3911  // Validate inspects the fields of the type to determine if they are valid.
  3912  func (s *ClearTimerAction) Validate() error {
  3913  	invalidParams := request.ErrInvalidParams{Context: "ClearTimerAction"}
  3914  	if s.TimerName == nil {
  3915  		invalidParams.Add(request.NewErrParamRequired("TimerName"))
  3916  	}
  3917  	if s.TimerName != nil && len(*s.TimerName) < 1 {
  3918  		invalidParams.Add(request.NewErrParamMinLen("TimerName", 1))
  3919  	}
  3920  
  3921  	if invalidParams.Len() > 0 {
  3922  		return invalidParams
  3923  	}
  3924  	return nil
  3925  }
  3926  
  3927  // SetTimerName sets the TimerName field's value.
  3928  func (s *ClearTimerAction) SetTimerName(v string) *ClearTimerAction {
  3929  	s.TimerName = &v
  3930  	return s
  3931  }
  3932  
  3933  type CreateAlarmModelInput struct {
  3934  	_ struct{} `type:"structure"`
  3935  
  3936  	// Contains the configuration information of alarm state changes.
  3937  	AlarmCapabilities *AlarmCapabilities `locationName:"alarmCapabilities" type:"structure"`
  3938  
  3939  	// Contains information about one or more alarm actions.
  3940  	AlarmEventActions *AlarmEventActions `locationName:"alarmEventActions" type:"structure"`
  3941  
  3942  	// A description that tells you what the alarm model detects.
  3943  	AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"`
  3944  
  3945  	// A unique name that helps you identify the alarm model. You can't change this
  3946  	// name after you create the alarm model.
  3947  	//
  3948  	// AlarmModelName is a required field
  3949  	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"`
  3950  
  3951  	// Contains information about one or more notification actions.
  3952  	AlarmNotification *AlarmNotification `locationName:"alarmNotification" type:"structure"`
  3953  
  3954  	// Defines when your alarm is invoked.
  3955  	//
  3956  	// AlarmRule is a required field
  3957  	AlarmRule *AlarmRule `locationName:"alarmRule" type:"structure" required:"true"`
  3958  
  3959  	// An input attribute used as a key to create an alarm. AWS IoT Events routes
  3960  	// inputs (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html)
  3961  	// associated with this key to the alarm.
  3962  	Key *string `locationName:"key" min:"1" type:"string"`
  3963  
  3964  	// The ARN of the IAM role that allows the alarm to perform actions and access
  3965  	// AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  3966  	// in the AWS General Reference.
  3967  	//
  3968  	// RoleArn is a required field
  3969  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
  3970  
  3971  	// A non-negative integer that reflects the severity level of the alarm.
  3972  	Severity *int64 `locationName:"severity" type:"integer"`
  3973  
  3974  	// A list of key-value pairs that contain metadata for the alarm model. The
  3975  	// tags help you manage the alarm model. For more information, see Tagging your
  3976  	// AWS IoT Events resources (https://docs.aws.amazon.com/iotevents/latest/developerguide/tagging-iotevents.html)
  3977  	// in the AWS IoT Events Developer Guide.
  3978  	//
  3979  	// You can create up to 50 tags for one alarm model.
  3980  	Tags []*Tag `locationName:"tags" type:"list"`
  3981  }
  3982  
  3983  // String returns the string representation.
  3984  //
  3985  // API parameter values that are decorated as "sensitive" in the API will not
  3986  // be included in the string output. The member name will be present, but the
  3987  // value will be replaced with "sensitive".
  3988  func (s CreateAlarmModelInput) String() string {
  3989  	return awsutil.Prettify(s)
  3990  }
  3991  
  3992  // GoString returns the string representation.
  3993  //
  3994  // API parameter values that are decorated as "sensitive" in the API will not
  3995  // be included in the string output. The member name will be present, but the
  3996  // value will be replaced with "sensitive".
  3997  func (s CreateAlarmModelInput) GoString() string {
  3998  	return s.String()
  3999  }
  4000  
  4001  // Validate inspects the fields of the type to determine if they are valid.
  4002  func (s *CreateAlarmModelInput) Validate() error {
  4003  	invalidParams := request.ErrInvalidParams{Context: "CreateAlarmModelInput"}
  4004  	if s.AlarmModelName == nil {
  4005  		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
  4006  	}
  4007  	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
  4008  		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
  4009  	}
  4010  	if s.AlarmRule == nil {
  4011  		invalidParams.Add(request.NewErrParamRequired("AlarmRule"))
  4012  	}
  4013  	if s.Key != nil && len(*s.Key) < 1 {
  4014  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  4015  	}
  4016  	if s.RoleArn == nil {
  4017  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  4018  	}
  4019  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
  4020  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
  4021  	}
  4022  	if s.AlarmCapabilities != nil {
  4023  		if err := s.AlarmCapabilities.Validate(); err != nil {
  4024  			invalidParams.AddNested("AlarmCapabilities", err.(request.ErrInvalidParams))
  4025  		}
  4026  	}
  4027  	if s.AlarmEventActions != nil {
  4028  		if err := s.AlarmEventActions.Validate(); err != nil {
  4029  			invalidParams.AddNested("AlarmEventActions", err.(request.ErrInvalidParams))
  4030  		}
  4031  	}
  4032  	if s.AlarmNotification != nil {
  4033  		if err := s.AlarmNotification.Validate(); err != nil {
  4034  			invalidParams.AddNested("AlarmNotification", err.(request.ErrInvalidParams))
  4035  		}
  4036  	}
  4037  	if s.AlarmRule != nil {
  4038  		if err := s.AlarmRule.Validate(); err != nil {
  4039  			invalidParams.AddNested("AlarmRule", err.(request.ErrInvalidParams))
  4040  		}
  4041  	}
  4042  	if s.Tags != nil {
  4043  		for i, v := range s.Tags {
  4044  			if v == nil {
  4045  				continue
  4046  			}
  4047  			if err := v.Validate(); err != nil {
  4048  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4049  			}
  4050  		}
  4051  	}
  4052  
  4053  	if invalidParams.Len() > 0 {
  4054  		return invalidParams
  4055  	}
  4056  	return nil
  4057  }
  4058  
  4059  // SetAlarmCapabilities sets the AlarmCapabilities field's value.
  4060  func (s *CreateAlarmModelInput) SetAlarmCapabilities(v *AlarmCapabilities) *CreateAlarmModelInput {
  4061  	s.AlarmCapabilities = v
  4062  	return s
  4063  }
  4064  
  4065  // SetAlarmEventActions sets the AlarmEventActions field's value.
  4066  func (s *CreateAlarmModelInput) SetAlarmEventActions(v *AlarmEventActions) *CreateAlarmModelInput {
  4067  	s.AlarmEventActions = v
  4068  	return s
  4069  }
  4070  
  4071  // SetAlarmModelDescription sets the AlarmModelDescription field's value.
  4072  func (s *CreateAlarmModelInput) SetAlarmModelDescription(v string) *CreateAlarmModelInput {
  4073  	s.AlarmModelDescription = &v
  4074  	return s
  4075  }
  4076  
  4077  // SetAlarmModelName sets the AlarmModelName field's value.
  4078  func (s *CreateAlarmModelInput) SetAlarmModelName(v string) *CreateAlarmModelInput {
  4079  	s.AlarmModelName = &v
  4080  	return s
  4081  }
  4082  
  4083  // SetAlarmNotification sets the AlarmNotification field's value.
  4084  func (s *CreateAlarmModelInput) SetAlarmNotification(v *AlarmNotification) *CreateAlarmModelInput {
  4085  	s.AlarmNotification = v
  4086  	return s
  4087  }
  4088  
  4089  // SetAlarmRule sets the AlarmRule field's value.
  4090  func (s *CreateAlarmModelInput) SetAlarmRule(v *AlarmRule) *CreateAlarmModelInput {
  4091  	s.AlarmRule = v
  4092  	return s
  4093  }
  4094  
  4095  // SetKey sets the Key field's value.
  4096  func (s *CreateAlarmModelInput) SetKey(v string) *CreateAlarmModelInput {
  4097  	s.Key = &v
  4098  	return s
  4099  }
  4100  
  4101  // SetRoleArn sets the RoleArn field's value.
  4102  func (s *CreateAlarmModelInput) SetRoleArn(v string) *CreateAlarmModelInput {
  4103  	s.RoleArn = &v
  4104  	return s
  4105  }
  4106  
  4107  // SetSeverity sets the Severity field's value.
  4108  func (s *CreateAlarmModelInput) SetSeverity(v int64) *CreateAlarmModelInput {
  4109  	s.Severity = &v
  4110  	return s
  4111  }
  4112  
  4113  // SetTags sets the Tags field's value.
  4114  func (s *CreateAlarmModelInput) SetTags(v []*Tag) *CreateAlarmModelInput {
  4115  	s.Tags = v
  4116  	return s
  4117  }
  4118  
  4119  type CreateAlarmModelOutput struct {
  4120  	_ struct{} `type:"structure"`
  4121  
  4122  	// The ARN of the alarm model. For more information, see Amazon Resource Names
  4123  	// (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  4124  	// in the AWS General Reference.
  4125  	AlarmModelArn *string `locationName:"alarmModelArn" type:"string"`
  4126  
  4127  	// The version of the alarm model.
  4128  	AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"`
  4129  
  4130  	// The time the alarm model was created, in the Unix epoch format.
  4131  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  4132  
  4133  	// The time the alarm model was last updated, in the Unix epoch format.
  4134  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  4135  
  4136  	// The status of the alarm model. The status can be one of the following values:
  4137  	//
  4138  	//    * ACTIVE - The alarm model is active and it's ready to evaluate data.
  4139  	//
  4140  	//    * ACTIVATING - AWS IoT Events is activating your alarm model. Activating
  4141  	//    an alarm model can take up to a few minutes.
  4142  	//
  4143  	//    * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate
  4144  	//    data. Check your alarm model information and update the alarm model.
  4145  	//
  4146  	//    * FAILED - You couldn't create or update the alarm model. Check your alarm
  4147  	//    model information and try again.
  4148  	Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"`
  4149  }
  4150  
  4151  // String returns the string representation.
  4152  //
  4153  // API parameter values that are decorated as "sensitive" in the API will not
  4154  // be included in the string output. The member name will be present, but the
  4155  // value will be replaced with "sensitive".
  4156  func (s CreateAlarmModelOutput) String() string {
  4157  	return awsutil.Prettify(s)
  4158  }
  4159  
  4160  // GoString returns the string representation.
  4161  //
  4162  // API parameter values that are decorated as "sensitive" in the API will not
  4163  // be included in the string output. The member name will be present, but the
  4164  // value will be replaced with "sensitive".
  4165  func (s CreateAlarmModelOutput) GoString() string {
  4166  	return s.String()
  4167  }
  4168  
  4169  // SetAlarmModelArn sets the AlarmModelArn field's value.
  4170  func (s *CreateAlarmModelOutput) SetAlarmModelArn(v string) *CreateAlarmModelOutput {
  4171  	s.AlarmModelArn = &v
  4172  	return s
  4173  }
  4174  
  4175  // SetAlarmModelVersion sets the AlarmModelVersion field's value.
  4176  func (s *CreateAlarmModelOutput) SetAlarmModelVersion(v string) *CreateAlarmModelOutput {
  4177  	s.AlarmModelVersion = &v
  4178  	return s
  4179  }
  4180  
  4181  // SetCreationTime sets the CreationTime field's value.
  4182  func (s *CreateAlarmModelOutput) SetCreationTime(v time.Time) *CreateAlarmModelOutput {
  4183  	s.CreationTime = &v
  4184  	return s
  4185  }
  4186  
  4187  // SetLastUpdateTime sets the LastUpdateTime field's value.
  4188  func (s *CreateAlarmModelOutput) SetLastUpdateTime(v time.Time) *CreateAlarmModelOutput {
  4189  	s.LastUpdateTime = &v
  4190  	return s
  4191  }
  4192  
  4193  // SetStatus sets the Status field's value.
  4194  func (s *CreateAlarmModelOutput) SetStatus(v string) *CreateAlarmModelOutput {
  4195  	s.Status = &v
  4196  	return s
  4197  }
  4198  
  4199  type CreateDetectorModelInput struct {
  4200  	_ struct{} `type:"structure"`
  4201  
  4202  	// Information that defines how the detectors operate.
  4203  	//
  4204  	// DetectorModelDefinition is a required field
  4205  	DetectorModelDefinition *DetectorModelDefinition `locationName:"detectorModelDefinition" type:"structure" required:"true"`
  4206  
  4207  	// A brief description of the detector model.
  4208  	DetectorModelDescription *string `locationName:"detectorModelDescription" type:"string"`
  4209  
  4210  	// The name of the detector model.
  4211  	//
  4212  	// DetectorModelName is a required field
  4213  	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string" required:"true"`
  4214  
  4215  	// Information about the order in which events are evaluated and how actions
  4216  	// are executed.
  4217  	EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"`
  4218  
  4219  	// The input attribute key used to identify a device or system to create a detector
  4220  	// (an instance of the detector model) and then to route each input received
  4221  	// to the appropriate detector (instance). This parameter uses a JSON-path expression
  4222  	// in the message payload of each input to specify the attribute-value pair
  4223  	// that is used to identify the device associated with the input.
  4224  	Key *string `locationName:"key" min:"1" type:"string"`
  4225  
  4226  	// The ARN of the role that grants permission to AWS IoT Events to perform its
  4227  	// operations.
  4228  	//
  4229  	// RoleArn is a required field
  4230  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
  4231  
  4232  	// Metadata that can be used to manage the detector model.
  4233  	Tags []*Tag `locationName:"tags" type:"list"`
  4234  }
  4235  
  4236  // String returns the string representation.
  4237  //
  4238  // API parameter values that are decorated as "sensitive" in the API will not
  4239  // be included in the string output. The member name will be present, but the
  4240  // value will be replaced with "sensitive".
  4241  func (s CreateDetectorModelInput) String() string {
  4242  	return awsutil.Prettify(s)
  4243  }
  4244  
  4245  // GoString returns the string representation.
  4246  //
  4247  // API parameter values that are decorated as "sensitive" in the API will not
  4248  // be included in the string output. The member name will be present, but the
  4249  // value will be replaced with "sensitive".
  4250  func (s CreateDetectorModelInput) GoString() string {
  4251  	return s.String()
  4252  }
  4253  
  4254  // Validate inspects the fields of the type to determine if they are valid.
  4255  func (s *CreateDetectorModelInput) Validate() error {
  4256  	invalidParams := request.ErrInvalidParams{Context: "CreateDetectorModelInput"}
  4257  	if s.DetectorModelDefinition == nil {
  4258  		invalidParams.Add(request.NewErrParamRequired("DetectorModelDefinition"))
  4259  	}
  4260  	if s.DetectorModelName == nil {
  4261  		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
  4262  	}
  4263  	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
  4264  		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
  4265  	}
  4266  	if s.Key != nil && len(*s.Key) < 1 {
  4267  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  4268  	}
  4269  	if s.RoleArn == nil {
  4270  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  4271  	}
  4272  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
  4273  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
  4274  	}
  4275  	if s.DetectorModelDefinition != nil {
  4276  		if err := s.DetectorModelDefinition.Validate(); err != nil {
  4277  			invalidParams.AddNested("DetectorModelDefinition", err.(request.ErrInvalidParams))
  4278  		}
  4279  	}
  4280  	if s.Tags != nil {
  4281  		for i, v := range s.Tags {
  4282  			if v == nil {
  4283  				continue
  4284  			}
  4285  			if err := v.Validate(); err != nil {
  4286  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4287  			}
  4288  		}
  4289  	}
  4290  
  4291  	if invalidParams.Len() > 0 {
  4292  		return invalidParams
  4293  	}
  4294  	return nil
  4295  }
  4296  
  4297  // SetDetectorModelDefinition sets the DetectorModelDefinition field's value.
  4298  func (s *CreateDetectorModelInput) SetDetectorModelDefinition(v *DetectorModelDefinition) *CreateDetectorModelInput {
  4299  	s.DetectorModelDefinition = v
  4300  	return s
  4301  }
  4302  
  4303  // SetDetectorModelDescription sets the DetectorModelDescription field's value.
  4304  func (s *CreateDetectorModelInput) SetDetectorModelDescription(v string) *CreateDetectorModelInput {
  4305  	s.DetectorModelDescription = &v
  4306  	return s
  4307  }
  4308  
  4309  // SetDetectorModelName sets the DetectorModelName field's value.
  4310  func (s *CreateDetectorModelInput) SetDetectorModelName(v string) *CreateDetectorModelInput {
  4311  	s.DetectorModelName = &v
  4312  	return s
  4313  }
  4314  
  4315  // SetEvaluationMethod sets the EvaluationMethod field's value.
  4316  func (s *CreateDetectorModelInput) SetEvaluationMethod(v string) *CreateDetectorModelInput {
  4317  	s.EvaluationMethod = &v
  4318  	return s
  4319  }
  4320  
  4321  // SetKey sets the Key field's value.
  4322  func (s *CreateDetectorModelInput) SetKey(v string) *CreateDetectorModelInput {
  4323  	s.Key = &v
  4324  	return s
  4325  }
  4326  
  4327  // SetRoleArn sets the RoleArn field's value.
  4328  func (s *CreateDetectorModelInput) SetRoleArn(v string) *CreateDetectorModelInput {
  4329  	s.RoleArn = &v
  4330  	return s
  4331  }
  4332  
  4333  // SetTags sets the Tags field's value.
  4334  func (s *CreateDetectorModelInput) SetTags(v []*Tag) *CreateDetectorModelInput {
  4335  	s.Tags = v
  4336  	return s
  4337  }
  4338  
  4339  type CreateDetectorModelOutput struct {
  4340  	_ struct{} `type:"structure"`
  4341  
  4342  	// Information about how the detector model is configured.
  4343  	DetectorModelConfiguration *DetectorModelConfiguration `locationName:"detectorModelConfiguration" type:"structure"`
  4344  }
  4345  
  4346  // String returns the string representation.
  4347  //
  4348  // API parameter values that are decorated as "sensitive" in the API will not
  4349  // be included in the string output. The member name will be present, but the
  4350  // value will be replaced with "sensitive".
  4351  func (s CreateDetectorModelOutput) String() string {
  4352  	return awsutil.Prettify(s)
  4353  }
  4354  
  4355  // GoString returns the string representation.
  4356  //
  4357  // API parameter values that are decorated as "sensitive" in the API will not
  4358  // be included in the string output. The member name will be present, but the
  4359  // value will be replaced with "sensitive".
  4360  func (s CreateDetectorModelOutput) GoString() string {
  4361  	return s.String()
  4362  }
  4363  
  4364  // SetDetectorModelConfiguration sets the DetectorModelConfiguration field's value.
  4365  func (s *CreateDetectorModelOutput) SetDetectorModelConfiguration(v *DetectorModelConfiguration) *CreateDetectorModelOutput {
  4366  	s.DetectorModelConfiguration = v
  4367  	return s
  4368  }
  4369  
  4370  type CreateInputInput struct {
  4371  	_ struct{} `type:"structure"`
  4372  
  4373  	// The definition of the input.
  4374  	//
  4375  	// InputDefinition is a required field
  4376  	InputDefinition *InputDefinition `locationName:"inputDefinition" type:"structure" required:"true"`
  4377  
  4378  	// A brief description of the input.
  4379  	InputDescription *string `locationName:"inputDescription" type:"string"`
  4380  
  4381  	// The name you want to give to the input.
  4382  	//
  4383  	// InputName is a required field
  4384  	InputName *string `locationName:"inputName" min:"1" type:"string" required:"true"`
  4385  
  4386  	// Metadata that can be used to manage the input.
  4387  	Tags []*Tag `locationName:"tags" type:"list"`
  4388  }
  4389  
  4390  // String returns the string representation.
  4391  //
  4392  // API parameter values that are decorated as "sensitive" in the API will not
  4393  // be included in the string output. The member name will be present, but the
  4394  // value will be replaced with "sensitive".
  4395  func (s CreateInputInput) String() string {
  4396  	return awsutil.Prettify(s)
  4397  }
  4398  
  4399  // GoString returns the string representation.
  4400  //
  4401  // API parameter values that are decorated as "sensitive" in the API will not
  4402  // be included in the string output. The member name will be present, but the
  4403  // value will be replaced with "sensitive".
  4404  func (s CreateInputInput) GoString() string {
  4405  	return s.String()
  4406  }
  4407  
  4408  // Validate inspects the fields of the type to determine if they are valid.
  4409  func (s *CreateInputInput) Validate() error {
  4410  	invalidParams := request.ErrInvalidParams{Context: "CreateInputInput"}
  4411  	if s.InputDefinition == nil {
  4412  		invalidParams.Add(request.NewErrParamRequired("InputDefinition"))
  4413  	}
  4414  	if s.InputName == nil {
  4415  		invalidParams.Add(request.NewErrParamRequired("InputName"))
  4416  	}
  4417  	if s.InputName != nil && len(*s.InputName) < 1 {
  4418  		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
  4419  	}
  4420  	if s.InputDefinition != nil {
  4421  		if err := s.InputDefinition.Validate(); err != nil {
  4422  			invalidParams.AddNested("InputDefinition", err.(request.ErrInvalidParams))
  4423  		}
  4424  	}
  4425  	if s.Tags != nil {
  4426  		for i, v := range s.Tags {
  4427  			if v == nil {
  4428  				continue
  4429  			}
  4430  			if err := v.Validate(); err != nil {
  4431  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4432  			}
  4433  		}
  4434  	}
  4435  
  4436  	if invalidParams.Len() > 0 {
  4437  		return invalidParams
  4438  	}
  4439  	return nil
  4440  }
  4441  
  4442  // SetInputDefinition sets the InputDefinition field's value.
  4443  func (s *CreateInputInput) SetInputDefinition(v *InputDefinition) *CreateInputInput {
  4444  	s.InputDefinition = v
  4445  	return s
  4446  }
  4447  
  4448  // SetInputDescription sets the InputDescription field's value.
  4449  func (s *CreateInputInput) SetInputDescription(v string) *CreateInputInput {
  4450  	s.InputDescription = &v
  4451  	return s
  4452  }
  4453  
  4454  // SetInputName sets the InputName field's value.
  4455  func (s *CreateInputInput) SetInputName(v string) *CreateInputInput {
  4456  	s.InputName = &v
  4457  	return s
  4458  }
  4459  
  4460  // SetTags sets the Tags field's value.
  4461  func (s *CreateInputInput) SetTags(v []*Tag) *CreateInputInput {
  4462  	s.Tags = v
  4463  	return s
  4464  }
  4465  
  4466  type CreateInputOutput struct {
  4467  	_ struct{} `type:"structure"`
  4468  
  4469  	// Information about the configuration of the input.
  4470  	InputConfiguration *InputConfiguration `locationName:"inputConfiguration" type:"structure"`
  4471  }
  4472  
  4473  // String returns the string representation.
  4474  //
  4475  // API parameter values that are decorated as "sensitive" in the API will not
  4476  // be included in the string output. The member name will be present, but the
  4477  // value will be replaced with "sensitive".
  4478  func (s CreateInputOutput) String() string {
  4479  	return awsutil.Prettify(s)
  4480  }
  4481  
  4482  // GoString returns the string representation.
  4483  //
  4484  // API parameter values that are decorated as "sensitive" in the API will not
  4485  // be included in the string output. The member name will be present, but the
  4486  // value will be replaced with "sensitive".
  4487  func (s CreateInputOutput) GoString() string {
  4488  	return s.String()
  4489  }
  4490  
  4491  // SetInputConfiguration sets the InputConfiguration field's value.
  4492  func (s *CreateInputOutput) SetInputConfiguration(v *InputConfiguration) *CreateInputOutput {
  4493  	s.InputConfiguration = v
  4494  	return s
  4495  }
  4496  
  4497  type DeleteAlarmModelInput struct {
  4498  	_ struct{} `type:"structure" nopayload:"true"`
  4499  
  4500  	// The name of the alarm model.
  4501  	//
  4502  	// AlarmModelName is a required field
  4503  	AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"`
  4504  }
  4505  
  4506  // String returns the string representation.
  4507  //
  4508  // API parameter values that are decorated as "sensitive" in the API will not
  4509  // be included in the string output. The member name will be present, but the
  4510  // value will be replaced with "sensitive".
  4511  func (s DeleteAlarmModelInput) String() string {
  4512  	return awsutil.Prettify(s)
  4513  }
  4514  
  4515  // GoString returns the string representation.
  4516  //
  4517  // API parameter values that are decorated as "sensitive" in the API will not
  4518  // be included in the string output. The member name will be present, but the
  4519  // value will be replaced with "sensitive".
  4520  func (s DeleteAlarmModelInput) GoString() string {
  4521  	return s.String()
  4522  }
  4523  
  4524  // Validate inspects the fields of the type to determine if they are valid.
  4525  func (s *DeleteAlarmModelInput) Validate() error {
  4526  	invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmModelInput"}
  4527  	if s.AlarmModelName == nil {
  4528  		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
  4529  	}
  4530  	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
  4531  		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
  4532  	}
  4533  
  4534  	if invalidParams.Len() > 0 {
  4535  		return invalidParams
  4536  	}
  4537  	return nil
  4538  }
  4539  
  4540  // SetAlarmModelName sets the AlarmModelName field's value.
  4541  func (s *DeleteAlarmModelInput) SetAlarmModelName(v string) *DeleteAlarmModelInput {
  4542  	s.AlarmModelName = &v
  4543  	return s
  4544  }
  4545  
  4546  type DeleteAlarmModelOutput struct {
  4547  	_ struct{} `type:"structure" nopayload:"true"`
  4548  }
  4549  
  4550  // String returns the string representation.
  4551  //
  4552  // API parameter values that are decorated as "sensitive" in the API will not
  4553  // be included in the string output. The member name will be present, but the
  4554  // value will be replaced with "sensitive".
  4555  func (s DeleteAlarmModelOutput) String() string {
  4556  	return awsutil.Prettify(s)
  4557  }
  4558  
  4559  // GoString returns the string representation.
  4560  //
  4561  // API parameter values that are decorated as "sensitive" in the API will not
  4562  // be included in the string output. The member name will be present, but the
  4563  // value will be replaced with "sensitive".
  4564  func (s DeleteAlarmModelOutput) GoString() string {
  4565  	return s.String()
  4566  }
  4567  
  4568  type DeleteDetectorModelInput struct {
  4569  	_ struct{} `type:"structure" nopayload:"true"`
  4570  
  4571  	// The name of the detector model to be deleted.
  4572  	//
  4573  	// DetectorModelName is a required field
  4574  	DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"`
  4575  }
  4576  
  4577  // String returns the string representation.
  4578  //
  4579  // API parameter values that are decorated as "sensitive" in the API will not
  4580  // be included in the string output. The member name will be present, but the
  4581  // value will be replaced with "sensitive".
  4582  func (s DeleteDetectorModelInput) String() string {
  4583  	return awsutil.Prettify(s)
  4584  }
  4585  
  4586  // GoString returns the string representation.
  4587  //
  4588  // API parameter values that are decorated as "sensitive" in the API will not
  4589  // be included in the string output. The member name will be present, but the
  4590  // value will be replaced with "sensitive".
  4591  func (s DeleteDetectorModelInput) GoString() string {
  4592  	return s.String()
  4593  }
  4594  
  4595  // Validate inspects the fields of the type to determine if they are valid.
  4596  func (s *DeleteDetectorModelInput) Validate() error {
  4597  	invalidParams := request.ErrInvalidParams{Context: "DeleteDetectorModelInput"}
  4598  	if s.DetectorModelName == nil {
  4599  		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
  4600  	}
  4601  	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
  4602  		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
  4603  	}
  4604  
  4605  	if invalidParams.Len() > 0 {
  4606  		return invalidParams
  4607  	}
  4608  	return nil
  4609  }
  4610  
  4611  // SetDetectorModelName sets the DetectorModelName field's value.
  4612  func (s *DeleteDetectorModelInput) SetDetectorModelName(v string) *DeleteDetectorModelInput {
  4613  	s.DetectorModelName = &v
  4614  	return s
  4615  }
  4616  
  4617  type DeleteDetectorModelOutput struct {
  4618  	_ struct{} `type:"structure" nopayload:"true"`
  4619  }
  4620  
  4621  // String returns the string representation.
  4622  //
  4623  // API parameter values that are decorated as "sensitive" in the API will not
  4624  // be included in the string output. The member name will be present, but the
  4625  // value will be replaced with "sensitive".
  4626  func (s DeleteDetectorModelOutput) String() string {
  4627  	return awsutil.Prettify(s)
  4628  }
  4629  
  4630  // GoString returns the string representation.
  4631  //
  4632  // API parameter values that are decorated as "sensitive" in the API will not
  4633  // be included in the string output. The member name will be present, but the
  4634  // value will be replaced with "sensitive".
  4635  func (s DeleteDetectorModelOutput) GoString() string {
  4636  	return s.String()
  4637  }
  4638  
  4639  type DeleteInputInput struct {
  4640  	_ struct{} `type:"structure" nopayload:"true"`
  4641  
  4642  	// The name of the input to delete.
  4643  	//
  4644  	// InputName is a required field
  4645  	InputName *string `location:"uri" locationName:"inputName" min:"1" type:"string" required:"true"`
  4646  }
  4647  
  4648  // String returns the string representation.
  4649  //
  4650  // API parameter values that are decorated as "sensitive" in the API will not
  4651  // be included in the string output. The member name will be present, but the
  4652  // value will be replaced with "sensitive".
  4653  func (s DeleteInputInput) String() string {
  4654  	return awsutil.Prettify(s)
  4655  }
  4656  
  4657  // GoString returns the string representation.
  4658  //
  4659  // API parameter values that are decorated as "sensitive" in the API will not
  4660  // be included in the string output. The member name will be present, but the
  4661  // value will be replaced with "sensitive".
  4662  func (s DeleteInputInput) GoString() string {
  4663  	return s.String()
  4664  }
  4665  
  4666  // Validate inspects the fields of the type to determine if they are valid.
  4667  func (s *DeleteInputInput) Validate() error {
  4668  	invalidParams := request.ErrInvalidParams{Context: "DeleteInputInput"}
  4669  	if s.InputName == nil {
  4670  		invalidParams.Add(request.NewErrParamRequired("InputName"))
  4671  	}
  4672  	if s.InputName != nil && len(*s.InputName) < 1 {
  4673  		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
  4674  	}
  4675  
  4676  	if invalidParams.Len() > 0 {
  4677  		return invalidParams
  4678  	}
  4679  	return nil
  4680  }
  4681  
  4682  // SetInputName sets the InputName field's value.
  4683  func (s *DeleteInputInput) SetInputName(v string) *DeleteInputInput {
  4684  	s.InputName = &v
  4685  	return s
  4686  }
  4687  
  4688  type DeleteInputOutput struct {
  4689  	_ struct{} `type:"structure" nopayload:"true"`
  4690  }
  4691  
  4692  // String returns the string representation.
  4693  //
  4694  // API parameter values that are decorated as "sensitive" in the API will not
  4695  // be included in the string output. The member name will be present, but the
  4696  // value will be replaced with "sensitive".
  4697  func (s DeleteInputOutput) String() string {
  4698  	return awsutil.Prettify(s)
  4699  }
  4700  
  4701  // GoString returns the string representation.
  4702  //
  4703  // API parameter values that are decorated as "sensitive" in the API will not
  4704  // be included in the string output. The member name will be present, but the
  4705  // value will be replaced with "sensitive".
  4706  func (s DeleteInputOutput) GoString() string {
  4707  	return s.String()
  4708  }
  4709  
  4710  type DescribeAlarmModelInput struct {
  4711  	_ struct{} `type:"structure" nopayload:"true"`
  4712  
  4713  	// The name of the alarm model.
  4714  	//
  4715  	// AlarmModelName is a required field
  4716  	AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"`
  4717  
  4718  	// The version of the alarm model.
  4719  	AlarmModelVersion *string `location:"querystring" locationName:"version" min:"1" type:"string"`
  4720  }
  4721  
  4722  // String returns the string representation.
  4723  //
  4724  // API parameter values that are decorated as "sensitive" in the API will not
  4725  // be included in the string output. The member name will be present, but the
  4726  // value will be replaced with "sensitive".
  4727  func (s DescribeAlarmModelInput) String() string {
  4728  	return awsutil.Prettify(s)
  4729  }
  4730  
  4731  // GoString returns the string representation.
  4732  //
  4733  // API parameter values that are decorated as "sensitive" in the API will not
  4734  // be included in the string output. The member name will be present, but the
  4735  // value will be replaced with "sensitive".
  4736  func (s DescribeAlarmModelInput) GoString() string {
  4737  	return s.String()
  4738  }
  4739  
  4740  // Validate inspects the fields of the type to determine if they are valid.
  4741  func (s *DescribeAlarmModelInput) Validate() error {
  4742  	invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmModelInput"}
  4743  	if s.AlarmModelName == nil {
  4744  		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
  4745  	}
  4746  	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
  4747  		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
  4748  	}
  4749  	if s.AlarmModelVersion != nil && len(*s.AlarmModelVersion) < 1 {
  4750  		invalidParams.Add(request.NewErrParamMinLen("AlarmModelVersion", 1))
  4751  	}
  4752  
  4753  	if invalidParams.Len() > 0 {
  4754  		return invalidParams
  4755  	}
  4756  	return nil
  4757  }
  4758  
  4759  // SetAlarmModelName sets the AlarmModelName field's value.
  4760  func (s *DescribeAlarmModelInput) SetAlarmModelName(v string) *DescribeAlarmModelInput {
  4761  	s.AlarmModelName = &v
  4762  	return s
  4763  }
  4764  
  4765  // SetAlarmModelVersion sets the AlarmModelVersion field's value.
  4766  func (s *DescribeAlarmModelInput) SetAlarmModelVersion(v string) *DescribeAlarmModelInput {
  4767  	s.AlarmModelVersion = &v
  4768  	return s
  4769  }
  4770  
  4771  type DescribeAlarmModelOutput struct {
  4772  	_ struct{} `type:"structure"`
  4773  
  4774  	// Contains the configuration information of alarm state changes.
  4775  	AlarmCapabilities *AlarmCapabilities `locationName:"alarmCapabilities" type:"structure"`
  4776  
  4777  	// Contains information about one or more alarm actions.
  4778  	AlarmEventActions *AlarmEventActions `locationName:"alarmEventActions" type:"structure"`
  4779  
  4780  	// The ARN of the alarm model. For more information, see Amazon Resource Names
  4781  	// (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  4782  	// in the AWS General Reference.
  4783  	AlarmModelArn *string `locationName:"alarmModelArn" type:"string"`
  4784  
  4785  	// The description of the alarm model.
  4786  	AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"`
  4787  
  4788  	// The name of the alarm model.
  4789  	AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"`
  4790  
  4791  	// The version of the alarm model.
  4792  	AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"`
  4793  
  4794  	// Contains information about one or more notification actions.
  4795  	AlarmNotification *AlarmNotification `locationName:"alarmNotification" type:"structure"`
  4796  
  4797  	// Defines when your alarm is invoked.
  4798  	AlarmRule *AlarmRule `locationName:"alarmRule" type:"structure"`
  4799  
  4800  	// The time the alarm model was created, in the Unix epoch format.
  4801  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  4802  
  4803  	// An input attribute used as a key to create an alarm. AWS IoT Events routes
  4804  	// inputs (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html)
  4805  	// associated with this key to the alarm.
  4806  	Key *string `locationName:"key" min:"1" type:"string"`
  4807  
  4808  	// The time the alarm model was last updated, in the Unix epoch format.
  4809  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  4810  
  4811  	// The ARN of the IAM role that allows the alarm to perform actions and access
  4812  	// AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  4813  	// in the AWS General Reference.
  4814  	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
  4815  
  4816  	// A non-negative integer that reflects the severity level of the alarm.
  4817  	Severity *int64 `locationName:"severity" type:"integer"`
  4818  
  4819  	// The status of the alarm model. The status can be one of the following values:
  4820  	//
  4821  	//    * ACTIVE - The alarm model is active and it's ready to evaluate data.
  4822  	//
  4823  	//    * ACTIVATING - AWS IoT Events is activating your alarm model. Activating
  4824  	//    an alarm model can take up to a few minutes.
  4825  	//
  4826  	//    * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate
  4827  	//    data. Check your alarm model information and update the alarm model.
  4828  	//
  4829  	//    * FAILED - You couldn't create or update the alarm model. Check your alarm
  4830  	//    model information and try again.
  4831  	Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"`
  4832  
  4833  	// Contains information about the status of the alarm model.
  4834  	StatusMessage *string `locationName:"statusMessage" type:"string"`
  4835  }
  4836  
  4837  // String returns the string representation.
  4838  //
  4839  // API parameter values that are decorated as "sensitive" in the API will not
  4840  // be included in the string output. The member name will be present, but the
  4841  // value will be replaced with "sensitive".
  4842  func (s DescribeAlarmModelOutput) String() string {
  4843  	return awsutil.Prettify(s)
  4844  }
  4845  
  4846  // GoString returns the string representation.
  4847  //
  4848  // API parameter values that are decorated as "sensitive" in the API will not
  4849  // be included in the string output. The member name will be present, but the
  4850  // value will be replaced with "sensitive".
  4851  func (s DescribeAlarmModelOutput) GoString() string {
  4852  	return s.String()
  4853  }
  4854  
  4855  // SetAlarmCapabilities sets the AlarmCapabilities field's value.
  4856  func (s *DescribeAlarmModelOutput) SetAlarmCapabilities(v *AlarmCapabilities) *DescribeAlarmModelOutput {
  4857  	s.AlarmCapabilities = v
  4858  	return s
  4859  }
  4860  
  4861  // SetAlarmEventActions sets the AlarmEventActions field's value.
  4862  func (s *DescribeAlarmModelOutput) SetAlarmEventActions(v *AlarmEventActions) *DescribeAlarmModelOutput {
  4863  	s.AlarmEventActions = v
  4864  	return s
  4865  }
  4866  
  4867  // SetAlarmModelArn sets the AlarmModelArn field's value.
  4868  func (s *DescribeAlarmModelOutput) SetAlarmModelArn(v string) *DescribeAlarmModelOutput {
  4869  	s.AlarmModelArn = &v
  4870  	return s
  4871  }
  4872  
  4873  // SetAlarmModelDescription sets the AlarmModelDescription field's value.
  4874  func (s *DescribeAlarmModelOutput) SetAlarmModelDescription(v string) *DescribeAlarmModelOutput {
  4875  	s.AlarmModelDescription = &v
  4876  	return s
  4877  }
  4878  
  4879  // SetAlarmModelName sets the AlarmModelName field's value.
  4880  func (s *DescribeAlarmModelOutput) SetAlarmModelName(v string) *DescribeAlarmModelOutput {
  4881  	s.AlarmModelName = &v
  4882  	return s
  4883  }
  4884  
  4885  // SetAlarmModelVersion sets the AlarmModelVersion field's value.
  4886  func (s *DescribeAlarmModelOutput) SetAlarmModelVersion(v string) *DescribeAlarmModelOutput {
  4887  	s.AlarmModelVersion = &v
  4888  	return s
  4889  }
  4890  
  4891  // SetAlarmNotification sets the AlarmNotification field's value.
  4892  func (s *DescribeAlarmModelOutput) SetAlarmNotification(v *AlarmNotification) *DescribeAlarmModelOutput {
  4893  	s.AlarmNotification = v
  4894  	return s
  4895  }
  4896  
  4897  // SetAlarmRule sets the AlarmRule field's value.
  4898  func (s *DescribeAlarmModelOutput) SetAlarmRule(v *AlarmRule) *DescribeAlarmModelOutput {
  4899  	s.AlarmRule = v
  4900  	return s
  4901  }
  4902  
  4903  // SetCreationTime sets the CreationTime field's value.
  4904  func (s *DescribeAlarmModelOutput) SetCreationTime(v time.Time) *DescribeAlarmModelOutput {
  4905  	s.CreationTime = &v
  4906  	return s
  4907  }
  4908  
  4909  // SetKey sets the Key field's value.
  4910  func (s *DescribeAlarmModelOutput) SetKey(v string) *DescribeAlarmModelOutput {
  4911  	s.Key = &v
  4912  	return s
  4913  }
  4914  
  4915  // SetLastUpdateTime sets the LastUpdateTime field's value.
  4916  func (s *DescribeAlarmModelOutput) SetLastUpdateTime(v time.Time) *DescribeAlarmModelOutput {
  4917  	s.LastUpdateTime = &v
  4918  	return s
  4919  }
  4920  
  4921  // SetRoleArn sets the RoleArn field's value.
  4922  func (s *DescribeAlarmModelOutput) SetRoleArn(v string) *DescribeAlarmModelOutput {
  4923  	s.RoleArn = &v
  4924  	return s
  4925  }
  4926  
  4927  // SetSeverity sets the Severity field's value.
  4928  func (s *DescribeAlarmModelOutput) SetSeverity(v int64) *DescribeAlarmModelOutput {
  4929  	s.Severity = &v
  4930  	return s
  4931  }
  4932  
  4933  // SetStatus sets the Status field's value.
  4934  func (s *DescribeAlarmModelOutput) SetStatus(v string) *DescribeAlarmModelOutput {
  4935  	s.Status = &v
  4936  	return s
  4937  }
  4938  
  4939  // SetStatusMessage sets the StatusMessage field's value.
  4940  func (s *DescribeAlarmModelOutput) SetStatusMessage(v string) *DescribeAlarmModelOutput {
  4941  	s.StatusMessage = &v
  4942  	return s
  4943  }
  4944  
  4945  type DescribeDetectorModelAnalysisInput struct {
  4946  	_ struct{} `type:"structure" nopayload:"true"`
  4947  
  4948  	// The ID of the analysis result that you want to retrieve.
  4949  	//
  4950  	// AnalysisId is a required field
  4951  	AnalysisId *string `location:"uri" locationName:"analysisId" type:"string" required:"true"`
  4952  }
  4953  
  4954  // String returns the string representation.
  4955  //
  4956  // API parameter values that are decorated as "sensitive" in the API will not
  4957  // be included in the string output. The member name will be present, but the
  4958  // value will be replaced with "sensitive".
  4959  func (s DescribeDetectorModelAnalysisInput) String() string {
  4960  	return awsutil.Prettify(s)
  4961  }
  4962  
  4963  // GoString returns the string representation.
  4964  //
  4965  // API parameter values that are decorated as "sensitive" in the API will not
  4966  // be included in the string output. The member name will be present, but the
  4967  // value will be replaced with "sensitive".
  4968  func (s DescribeDetectorModelAnalysisInput) GoString() string {
  4969  	return s.String()
  4970  }
  4971  
  4972  // Validate inspects the fields of the type to determine if they are valid.
  4973  func (s *DescribeDetectorModelAnalysisInput) Validate() error {
  4974  	invalidParams := request.ErrInvalidParams{Context: "DescribeDetectorModelAnalysisInput"}
  4975  	if s.AnalysisId == nil {
  4976  		invalidParams.Add(request.NewErrParamRequired("AnalysisId"))
  4977  	}
  4978  	if s.AnalysisId != nil && len(*s.AnalysisId) < 1 {
  4979  		invalidParams.Add(request.NewErrParamMinLen("AnalysisId", 1))
  4980  	}
  4981  
  4982  	if invalidParams.Len() > 0 {
  4983  		return invalidParams
  4984  	}
  4985  	return nil
  4986  }
  4987  
  4988  // SetAnalysisId sets the AnalysisId field's value.
  4989  func (s *DescribeDetectorModelAnalysisInput) SetAnalysisId(v string) *DescribeDetectorModelAnalysisInput {
  4990  	s.AnalysisId = &v
  4991  	return s
  4992  }
  4993  
  4994  type DescribeDetectorModelAnalysisOutput struct {
  4995  	_ struct{} `type:"structure"`
  4996  
  4997  	// The status of the analysis activity. The status can be one of the following
  4998  	// values:
  4999  	//
  5000  	//    * RUNNING - AWS IoT Events is analyzing your detector model. This process
  5001  	//    can take several minutes to complete.
  5002  	//
  5003  	//    * COMPLETE - AWS IoT Events finished analyzing your detector model.
  5004  	//
  5005  	//    * FAILED - AWS IoT Events couldn't analyze your detector model. Try again
  5006  	//    later.
  5007  	Status *string `locationName:"status" type:"string" enum:"AnalysisStatus"`
  5008  }
  5009  
  5010  // String returns the string representation.
  5011  //
  5012  // API parameter values that are decorated as "sensitive" in the API will not
  5013  // be included in the string output. The member name will be present, but the
  5014  // value will be replaced with "sensitive".
  5015  func (s DescribeDetectorModelAnalysisOutput) String() string {
  5016  	return awsutil.Prettify(s)
  5017  }
  5018  
  5019  // GoString returns the string representation.
  5020  //
  5021  // API parameter values that are decorated as "sensitive" in the API will not
  5022  // be included in the string output. The member name will be present, but the
  5023  // value will be replaced with "sensitive".
  5024  func (s DescribeDetectorModelAnalysisOutput) GoString() string {
  5025  	return s.String()
  5026  }
  5027  
  5028  // SetStatus sets the Status field's value.
  5029  func (s *DescribeDetectorModelAnalysisOutput) SetStatus(v string) *DescribeDetectorModelAnalysisOutput {
  5030  	s.Status = &v
  5031  	return s
  5032  }
  5033  
  5034  type DescribeDetectorModelInput struct {
  5035  	_ struct{} `type:"structure" nopayload:"true"`
  5036  
  5037  	// The name of the detector model.
  5038  	//
  5039  	// DetectorModelName is a required field
  5040  	DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"`
  5041  
  5042  	// The version of the detector model.
  5043  	DetectorModelVersion *string `location:"querystring" locationName:"version" min:"1" type:"string"`
  5044  }
  5045  
  5046  // String returns the string representation.
  5047  //
  5048  // API parameter values that are decorated as "sensitive" in the API will not
  5049  // be included in the string output. The member name will be present, but the
  5050  // value will be replaced with "sensitive".
  5051  func (s DescribeDetectorModelInput) String() string {
  5052  	return awsutil.Prettify(s)
  5053  }
  5054  
  5055  // GoString returns the string representation.
  5056  //
  5057  // API parameter values that are decorated as "sensitive" in the API will not
  5058  // be included in the string output. The member name will be present, but the
  5059  // value will be replaced with "sensitive".
  5060  func (s DescribeDetectorModelInput) GoString() string {
  5061  	return s.String()
  5062  }
  5063  
  5064  // Validate inspects the fields of the type to determine if they are valid.
  5065  func (s *DescribeDetectorModelInput) Validate() error {
  5066  	invalidParams := request.ErrInvalidParams{Context: "DescribeDetectorModelInput"}
  5067  	if s.DetectorModelName == nil {
  5068  		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
  5069  	}
  5070  	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
  5071  		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
  5072  	}
  5073  	if s.DetectorModelVersion != nil && len(*s.DetectorModelVersion) < 1 {
  5074  		invalidParams.Add(request.NewErrParamMinLen("DetectorModelVersion", 1))
  5075  	}
  5076  
  5077  	if invalidParams.Len() > 0 {
  5078  		return invalidParams
  5079  	}
  5080  	return nil
  5081  }
  5082  
  5083  // SetDetectorModelName sets the DetectorModelName field's value.
  5084  func (s *DescribeDetectorModelInput) SetDetectorModelName(v string) *DescribeDetectorModelInput {
  5085  	s.DetectorModelName = &v
  5086  	return s
  5087  }
  5088  
  5089  // SetDetectorModelVersion sets the DetectorModelVersion field's value.
  5090  func (s *DescribeDetectorModelInput) SetDetectorModelVersion(v string) *DescribeDetectorModelInput {
  5091  	s.DetectorModelVersion = &v
  5092  	return s
  5093  }
  5094  
  5095  type DescribeDetectorModelOutput struct {
  5096  	_ struct{} `type:"structure"`
  5097  
  5098  	// Information about the detector model.
  5099  	DetectorModel *DetectorModel `locationName:"detectorModel" type:"structure"`
  5100  }
  5101  
  5102  // String returns the string representation.
  5103  //
  5104  // API parameter values that are decorated as "sensitive" in the API will not
  5105  // be included in the string output. The member name will be present, but the
  5106  // value will be replaced with "sensitive".
  5107  func (s DescribeDetectorModelOutput) String() string {
  5108  	return awsutil.Prettify(s)
  5109  }
  5110  
  5111  // GoString returns the string representation.
  5112  //
  5113  // API parameter values that are decorated as "sensitive" in the API will not
  5114  // be included in the string output. The member name will be present, but the
  5115  // value will be replaced with "sensitive".
  5116  func (s DescribeDetectorModelOutput) GoString() string {
  5117  	return s.String()
  5118  }
  5119  
  5120  // SetDetectorModel sets the DetectorModel field's value.
  5121  func (s *DescribeDetectorModelOutput) SetDetectorModel(v *DetectorModel) *DescribeDetectorModelOutput {
  5122  	s.DetectorModel = v
  5123  	return s
  5124  }
  5125  
  5126  type DescribeInputInput struct {
  5127  	_ struct{} `type:"structure" nopayload:"true"`
  5128  
  5129  	// The name of the input.
  5130  	//
  5131  	// InputName is a required field
  5132  	InputName *string `location:"uri" locationName:"inputName" min:"1" type:"string" required:"true"`
  5133  }
  5134  
  5135  // String returns the string representation.
  5136  //
  5137  // API parameter values that are decorated as "sensitive" in the API will not
  5138  // be included in the string output. The member name will be present, but the
  5139  // value will be replaced with "sensitive".
  5140  func (s DescribeInputInput) String() string {
  5141  	return awsutil.Prettify(s)
  5142  }
  5143  
  5144  // GoString returns the string representation.
  5145  //
  5146  // API parameter values that are decorated as "sensitive" in the API will not
  5147  // be included in the string output. The member name will be present, but the
  5148  // value will be replaced with "sensitive".
  5149  func (s DescribeInputInput) GoString() string {
  5150  	return s.String()
  5151  }
  5152  
  5153  // Validate inspects the fields of the type to determine if they are valid.
  5154  func (s *DescribeInputInput) Validate() error {
  5155  	invalidParams := request.ErrInvalidParams{Context: "DescribeInputInput"}
  5156  	if s.InputName == nil {
  5157  		invalidParams.Add(request.NewErrParamRequired("InputName"))
  5158  	}
  5159  	if s.InputName != nil && len(*s.InputName) < 1 {
  5160  		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
  5161  	}
  5162  
  5163  	if invalidParams.Len() > 0 {
  5164  		return invalidParams
  5165  	}
  5166  	return nil
  5167  }
  5168  
  5169  // SetInputName sets the InputName field's value.
  5170  func (s *DescribeInputInput) SetInputName(v string) *DescribeInputInput {
  5171  	s.InputName = &v
  5172  	return s
  5173  }
  5174  
  5175  type DescribeInputOutput struct {
  5176  	_ struct{} `type:"structure"`
  5177  
  5178  	// Information about the input.
  5179  	Input *Input `locationName:"input" type:"structure"`
  5180  }
  5181  
  5182  // String returns the string representation.
  5183  //
  5184  // API parameter values that are decorated as "sensitive" in the API will not
  5185  // be included in the string output. The member name will be present, but the
  5186  // value will be replaced with "sensitive".
  5187  func (s DescribeInputOutput) String() string {
  5188  	return awsutil.Prettify(s)
  5189  }
  5190  
  5191  // GoString returns the string representation.
  5192  //
  5193  // API parameter values that are decorated as "sensitive" in the API will not
  5194  // be included in the string output. The member name will be present, but the
  5195  // value will be replaced with "sensitive".
  5196  func (s DescribeInputOutput) GoString() string {
  5197  	return s.String()
  5198  }
  5199  
  5200  // SetInput sets the Input field's value.
  5201  func (s *DescribeInputOutput) SetInput(v *Input) *DescribeInputOutput {
  5202  	s.Input = v
  5203  	return s
  5204  }
  5205  
  5206  type DescribeLoggingOptionsInput struct {
  5207  	_ struct{} `type:"structure" nopayload:"true"`
  5208  }
  5209  
  5210  // String returns the string representation.
  5211  //
  5212  // API parameter values that are decorated as "sensitive" in the API will not
  5213  // be included in the string output. The member name will be present, but the
  5214  // value will be replaced with "sensitive".
  5215  func (s DescribeLoggingOptionsInput) String() string {
  5216  	return awsutil.Prettify(s)
  5217  }
  5218  
  5219  // GoString returns the string representation.
  5220  //
  5221  // API parameter values that are decorated as "sensitive" in the API will not
  5222  // be included in the string output. The member name will be present, but the
  5223  // value will be replaced with "sensitive".
  5224  func (s DescribeLoggingOptionsInput) GoString() string {
  5225  	return s.String()
  5226  }
  5227  
  5228  type DescribeLoggingOptionsOutput struct {
  5229  	_ struct{} `type:"structure"`
  5230  
  5231  	// The current settings of the AWS IoT Events logging options.
  5232  	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure"`
  5233  }
  5234  
  5235  // String returns the string representation.
  5236  //
  5237  // API parameter values that are decorated as "sensitive" in the API will not
  5238  // be included in the string output. The member name will be present, but the
  5239  // value will be replaced with "sensitive".
  5240  func (s DescribeLoggingOptionsOutput) String() string {
  5241  	return awsutil.Prettify(s)
  5242  }
  5243  
  5244  // GoString returns the string representation.
  5245  //
  5246  // API parameter values that are decorated as "sensitive" in the API will not
  5247  // be included in the string output. The member name will be present, but the
  5248  // value will be replaced with "sensitive".
  5249  func (s DescribeLoggingOptionsOutput) GoString() string {
  5250  	return s.String()
  5251  }
  5252  
  5253  // SetLoggingOptions sets the LoggingOptions field's value.
  5254  func (s *DescribeLoggingOptionsOutput) SetLoggingOptions(v *LoggingOptions) *DescribeLoggingOptionsOutput {
  5255  	s.LoggingOptions = v
  5256  	return s
  5257  }
  5258  
  5259  // The detector model and the specific detectors (instances) for which the logging
  5260  // level is given.
  5261  type DetectorDebugOption struct {
  5262  	_ struct{} `type:"structure"`
  5263  
  5264  	// The name of the detector model.
  5265  	//
  5266  	// DetectorModelName is a required field
  5267  	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string" required:"true"`
  5268  
  5269  	// The value of the input attribute key used to create the detector (the instance
  5270  	// of the detector model).
  5271  	KeyValue *string `locationName:"keyValue" min:"1" type:"string"`
  5272  }
  5273  
  5274  // String returns the string representation.
  5275  //
  5276  // API parameter values that are decorated as "sensitive" in the API will not
  5277  // be included in the string output. The member name will be present, but the
  5278  // value will be replaced with "sensitive".
  5279  func (s DetectorDebugOption) String() string {
  5280  	return awsutil.Prettify(s)
  5281  }
  5282  
  5283  // GoString returns the string representation.
  5284  //
  5285  // API parameter values that are decorated as "sensitive" in the API will not
  5286  // be included in the string output. The member name will be present, but the
  5287  // value will be replaced with "sensitive".
  5288  func (s DetectorDebugOption) GoString() string {
  5289  	return s.String()
  5290  }
  5291  
  5292  // Validate inspects the fields of the type to determine if they are valid.
  5293  func (s *DetectorDebugOption) Validate() error {
  5294  	invalidParams := request.ErrInvalidParams{Context: "DetectorDebugOption"}
  5295  	if s.DetectorModelName == nil {
  5296  		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
  5297  	}
  5298  	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
  5299  		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
  5300  	}
  5301  	if s.KeyValue != nil && len(*s.KeyValue) < 1 {
  5302  		invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1))
  5303  	}
  5304  
  5305  	if invalidParams.Len() > 0 {
  5306  		return invalidParams
  5307  	}
  5308  	return nil
  5309  }
  5310  
  5311  // SetDetectorModelName sets the DetectorModelName field's value.
  5312  func (s *DetectorDebugOption) SetDetectorModelName(v string) *DetectorDebugOption {
  5313  	s.DetectorModelName = &v
  5314  	return s
  5315  }
  5316  
  5317  // SetKeyValue sets the KeyValue field's value.
  5318  func (s *DetectorDebugOption) SetKeyValue(v string) *DetectorDebugOption {
  5319  	s.KeyValue = &v
  5320  	return s
  5321  }
  5322  
  5323  // Information about the detector model.
  5324  type DetectorModel struct {
  5325  	_ struct{} `type:"structure"`
  5326  
  5327  	// Information about how the detector is configured.
  5328  	DetectorModelConfiguration *DetectorModelConfiguration `locationName:"detectorModelConfiguration" type:"structure"`
  5329  
  5330  	// Information that defines how a detector operates.
  5331  	DetectorModelDefinition *DetectorModelDefinition `locationName:"detectorModelDefinition" type:"structure"`
  5332  }
  5333  
  5334  // String returns the string representation.
  5335  //
  5336  // API parameter values that are decorated as "sensitive" in the API will not
  5337  // be included in the string output. The member name will be present, but the
  5338  // value will be replaced with "sensitive".
  5339  func (s DetectorModel) String() string {
  5340  	return awsutil.Prettify(s)
  5341  }
  5342  
  5343  // GoString returns the string representation.
  5344  //
  5345  // API parameter values that are decorated as "sensitive" in the API will not
  5346  // be included in the string output. The member name will be present, but the
  5347  // value will be replaced with "sensitive".
  5348  func (s DetectorModel) GoString() string {
  5349  	return s.String()
  5350  }
  5351  
  5352  // SetDetectorModelConfiguration sets the DetectorModelConfiguration field's value.
  5353  func (s *DetectorModel) SetDetectorModelConfiguration(v *DetectorModelConfiguration) *DetectorModel {
  5354  	s.DetectorModelConfiguration = v
  5355  	return s
  5356  }
  5357  
  5358  // SetDetectorModelDefinition sets the DetectorModelDefinition field's value.
  5359  func (s *DetectorModel) SetDetectorModelDefinition(v *DetectorModelDefinition) *DetectorModel {
  5360  	s.DetectorModelDefinition = v
  5361  	return s
  5362  }
  5363  
  5364  // Information about how the detector model is configured.
  5365  type DetectorModelConfiguration struct {
  5366  	_ struct{} `type:"structure"`
  5367  
  5368  	// The time the detector model was created.
  5369  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  5370  
  5371  	// The ARN of the detector model.
  5372  	DetectorModelArn *string `locationName:"detectorModelArn" type:"string"`
  5373  
  5374  	// A brief description of the detector model.
  5375  	DetectorModelDescription *string `locationName:"detectorModelDescription" type:"string"`
  5376  
  5377  	// The name of the detector model.
  5378  	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string"`
  5379  
  5380  	// The version of the detector model.
  5381  	DetectorModelVersion *string `locationName:"detectorModelVersion" min:"1" type:"string"`
  5382  
  5383  	// Information about the order in which events are evaluated and how actions
  5384  	// are executed.
  5385  	EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"`
  5386  
  5387  	// The value used to identify a detector instance. When a device or system sends
  5388  	// input, a new detector instance with a unique key value is created. AWS IoT
  5389  	// Events can continue to route input to its corresponding detector instance
  5390  	// based on this identifying information.
  5391  	//
  5392  	// This parameter uses a JSON-path expression to select the attribute-value
  5393  	// pair in the message payload that is used for identification. To route the
  5394  	// message to the correct detector instance, the device must send a message
  5395  	// payload that contains the same attribute-value.
  5396  	Key *string `locationName:"key" min:"1" type:"string"`
  5397  
  5398  	// The time the detector model was last updated.
  5399  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  5400  
  5401  	// The ARN of the role that grants permission to AWS IoT Events to perform its
  5402  	// operations.
  5403  	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
  5404  
  5405  	// The status of the detector model.
  5406  	Status *string `locationName:"status" type:"string" enum:"DetectorModelVersionStatus"`
  5407  }
  5408  
  5409  // String returns the string representation.
  5410  //
  5411  // API parameter values that are decorated as "sensitive" in the API will not
  5412  // be included in the string output. The member name will be present, but the
  5413  // value will be replaced with "sensitive".
  5414  func (s DetectorModelConfiguration) String() string {
  5415  	return awsutil.Prettify(s)
  5416  }
  5417  
  5418  // GoString returns the string representation.
  5419  //
  5420  // API parameter values that are decorated as "sensitive" in the API will not
  5421  // be included in the string output. The member name will be present, but the
  5422  // value will be replaced with "sensitive".
  5423  func (s DetectorModelConfiguration) GoString() string {
  5424  	return s.String()
  5425  }
  5426  
  5427  // SetCreationTime sets the CreationTime field's value.
  5428  func (s *DetectorModelConfiguration) SetCreationTime(v time.Time) *DetectorModelConfiguration {
  5429  	s.CreationTime = &v
  5430  	return s
  5431  }
  5432  
  5433  // SetDetectorModelArn sets the DetectorModelArn field's value.
  5434  func (s *DetectorModelConfiguration) SetDetectorModelArn(v string) *DetectorModelConfiguration {
  5435  	s.DetectorModelArn = &v
  5436  	return s
  5437  }
  5438  
  5439  // SetDetectorModelDescription sets the DetectorModelDescription field's value.
  5440  func (s *DetectorModelConfiguration) SetDetectorModelDescription(v string) *DetectorModelConfiguration {
  5441  	s.DetectorModelDescription = &v
  5442  	return s
  5443  }
  5444  
  5445  // SetDetectorModelName sets the DetectorModelName field's value.
  5446  func (s *DetectorModelConfiguration) SetDetectorModelName(v string) *DetectorModelConfiguration {
  5447  	s.DetectorModelName = &v
  5448  	return s
  5449  }
  5450  
  5451  // SetDetectorModelVersion sets the DetectorModelVersion field's value.
  5452  func (s *DetectorModelConfiguration) SetDetectorModelVersion(v string) *DetectorModelConfiguration {
  5453  	s.DetectorModelVersion = &v
  5454  	return s
  5455  }
  5456  
  5457  // SetEvaluationMethod sets the EvaluationMethod field's value.
  5458  func (s *DetectorModelConfiguration) SetEvaluationMethod(v string) *DetectorModelConfiguration {
  5459  	s.EvaluationMethod = &v
  5460  	return s
  5461  }
  5462  
  5463  // SetKey sets the Key field's value.
  5464  func (s *DetectorModelConfiguration) SetKey(v string) *DetectorModelConfiguration {
  5465  	s.Key = &v
  5466  	return s
  5467  }
  5468  
  5469  // SetLastUpdateTime sets the LastUpdateTime field's value.
  5470  func (s *DetectorModelConfiguration) SetLastUpdateTime(v time.Time) *DetectorModelConfiguration {
  5471  	s.LastUpdateTime = &v
  5472  	return s
  5473  }
  5474  
  5475  // SetRoleArn sets the RoleArn field's value.
  5476  func (s *DetectorModelConfiguration) SetRoleArn(v string) *DetectorModelConfiguration {
  5477  	s.RoleArn = &v
  5478  	return s
  5479  }
  5480  
  5481  // SetStatus sets the Status field's value.
  5482  func (s *DetectorModelConfiguration) SetStatus(v string) *DetectorModelConfiguration {
  5483  	s.Status = &v
  5484  	return s
  5485  }
  5486  
  5487  // Information that defines how a detector operates.
  5488  type DetectorModelDefinition struct {
  5489  	_ struct{} `type:"structure"`
  5490  
  5491  	// The state that is entered at the creation of each detector (instance).
  5492  	//
  5493  	// InitialStateName is a required field
  5494  	InitialStateName *string `locationName:"initialStateName" min:"1" type:"string" required:"true"`
  5495  
  5496  	// Information about the states of the detector.
  5497  	//
  5498  	// States is a required field
  5499  	States []*State `locationName:"states" min:"1" type:"list" required:"true"`
  5500  }
  5501  
  5502  // String returns the string representation.
  5503  //
  5504  // API parameter values that are decorated as "sensitive" in the API will not
  5505  // be included in the string output. The member name will be present, but the
  5506  // value will be replaced with "sensitive".
  5507  func (s DetectorModelDefinition) String() string {
  5508  	return awsutil.Prettify(s)
  5509  }
  5510  
  5511  // GoString returns the string representation.
  5512  //
  5513  // API parameter values that are decorated as "sensitive" in the API will not
  5514  // be included in the string output. The member name will be present, but the
  5515  // value will be replaced with "sensitive".
  5516  func (s DetectorModelDefinition) GoString() string {
  5517  	return s.String()
  5518  }
  5519  
  5520  // Validate inspects the fields of the type to determine if they are valid.
  5521  func (s *DetectorModelDefinition) Validate() error {
  5522  	invalidParams := request.ErrInvalidParams{Context: "DetectorModelDefinition"}
  5523  	if s.InitialStateName == nil {
  5524  		invalidParams.Add(request.NewErrParamRequired("InitialStateName"))
  5525  	}
  5526  	if s.InitialStateName != nil && len(*s.InitialStateName) < 1 {
  5527  		invalidParams.Add(request.NewErrParamMinLen("InitialStateName", 1))
  5528  	}
  5529  	if s.States == nil {
  5530  		invalidParams.Add(request.NewErrParamRequired("States"))
  5531  	}
  5532  	if s.States != nil && len(s.States) < 1 {
  5533  		invalidParams.Add(request.NewErrParamMinLen("States", 1))
  5534  	}
  5535  	if s.States != nil {
  5536  		for i, v := range s.States {
  5537  			if v == nil {
  5538  				continue
  5539  			}
  5540  			if err := v.Validate(); err != nil {
  5541  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "States", i), err.(request.ErrInvalidParams))
  5542  			}
  5543  		}
  5544  	}
  5545  
  5546  	if invalidParams.Len() > 0 {
  5547  		return invalidParams
  5548  	}
  5549  	return nil
  5550  }
  5551  
  5552  // SetInitialStateName sets the InitialStateName field's value.
  5553  func (s *DetectorModelDefinition) SetInitialStateName(v string) *DetectorModelDefinition {
  5554  	s.InitialStateName = &v
  5555  	return s
  5556  }
  5557  
  5558  // SetStates sets the States field's value.
  5559  func (s *DetectorModelDefinition) SetStates(v []*State) *DetectorModelDefinition {
  5560  	s.States = v
  5561  	return s
  5562  }
  5563  
  5564  // Information about the detector model.
  5565  type DetectorModelSummary struct {
  5566  	_ struct{} `type:"structure"`
  5567  
  5568  	// The time the detector model was created.
  5569  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  5570  
  5571  	// A brief description of the detector model.
  5572  	DetectorModelDescription *string `locationName:"detectorModelDescription" type:"string"`
  5573  
  5574  	// The name of the detector model.
  5575  	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string"`
  5576  }
  5577  
  5578  // String returns the string representation.
  5579  //
  5580  // API parameter values that are decorated as "sensitive" in the API will not
  5581  // be included in the string output. The member name will be present, but the
  5582  // value will be replaced with "sensitive".
  5583  func (s DetectorModelSummary) String() string {
  5584  	return awsutil.Prettify(s)
  5585  }
  5586  
  5587  // GoString returns the string representation.
  5588  //
  5589  // API parameter values that are decorated as "sensitive" in the API will not
  5590  // be included in the string output. The member name will be present, but the
  5591  // value will be replaced with "sensitive".
  5592  func (s DetectorModelSummary) GoString() string {
  5593  	return s.String()
  5594  }
  5595  
  5596  // SetCreationTime sets the CreationTime field's value.
  5597  func (s *DetectorModelSummary) SetCreationTime(v time.Time) *DetectorModelSummary {
  5598  	s.CreationTime = &v
  5599  	return s
  5600  }
  5601  
  5602  // SetDetectorModelDescription sets the DetectorModelDescription field's value.
  5603  func (s *DetectorModelSummary) SetDetectorModelDescription(v string) *DetectorModelSummary {
  5604  	s.DetectorModelDescription = &v
  5605  	return s
  5606  }
  5607  
  5608  // SetDetectorModelName sets the DetectorModelName field's value.
  5609  func (s *DetectorModelSummary) SetDetectorModelName(v string) *DetectorModelSummary {
  5610  	s.DetectorModelName = &v
  5611  	return s
  5612  }
  5613  
  5614  // Information about the detector model version.
  5615  type DetectorModelVersionSummary struct {
  5616  	_ struct{} `type:"structure"`
  5617  
  5618  	// The time the detector model version was created.
  5619  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  5620  
  5621  	// The ARN of the detector model version.
  5622  	DetectorModelArn *string `locationName:"detectorModelArn" type:"string"`
  5623  
  5624  	// The name of the detector model.
  5625  	DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string"`
  5626  
  5627  	// The ID of the detector model version.
  5628  	DetectorModelVersion *string `locationName:"detectorModelVersion" min:"1" type:"string"`
  5629  
  5630  	// Information about the order in which events are evaluated and how actions
  5631  	// are executed.
  5632  	EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"`
  5633  
  5634  	// The last time the detector model version was updated.
  5635  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  5636  
  5637  	// The ARN of the role that grants the detector model permission to perform
  5638  	// its tasks.
  5639  	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
  5640  
  5641  	// The status of the detector model version.
  5642  	Status *string `locationName:"status" type:"string" enum:"DetectorModelVersionStatus"`
  5643  }
  5644  
  5645  // String returns the string representation.
  5646  //
  5647  // API parameter values that are decorated as "sensitive" in the API will not
  5648  // be included in the string output. The member name will be present, but the
  5649  // value will be replaced with "sensitive".
  5650  func (s DetectorModelVersionSummary) String() string {
  5651  	return awsutil.Prettify(s)
  5652  }
  5653  
  5654  // GoString returns the string representation.
  5655  //
  5656  // API parameter values that are decorated as "sensitive" in the API will not
  5657  // be included in the string output. The member name will be present, but the
  5658  // value will be replaced with "sensitive".
  5659  func (s DetectorModelVersionSummary) GoString() string {
  5660  	return s.String()
  5661  }
  5662  
  5663  // SetCreationTime sets the CreationTime field's value.
  5664  func (s *DetectorModelVersionSummary) SetCreationTime(v time.Time) *DetectorModelVersionSummary {
  5665  	s.CreationTime = &v
  5666  	return s
  5667  }
  5668  
  5669  // SetDetectorModelArn sets the DetectorModelArn field's value.
  5670  func (s *DetectorModelVersionSummary) SetDetectorModelArn(v string) *DetectorModelVersionSummary {
  5671  	s.DetectorModelArn = &v
  5672  	return s
  5673  }
  5674  
  5675  // SetDetectorModelName sets the DetectorModelName field's value.
  5676  func (s *DetectorModelVersionSummary) SetDetectorModelName(v string) *DetectorModelVersionSummary {
  5677  	s.DetectorModelName = &v
  5678  	return s
  5679  }
  5680  
  5681  // SetDetectorModelVersion sets the DetectorModelVersion field's value.
  5682  func (s *DetectorModelVersionSummary) SetDetectorModelVersion(v string) *DetectorModelVersionSummary {
  5683  	s.DetectorModelVersion = &v
  5684  	return s
  5685  }
  5686  
  5687  // SetEvaluationMethod sets the EvaluationMethod field's value.
  5688  func (s *DetectorModelVersionSummary) SetEvaluationMethod(v string) *DetectorModelVersionSummary {
  5689  	s.EvaluationMethod = &v
  5690  	return s
  5691  }
  5692  
  5693  // SetLastUpdateTime sets the LastUpdateTime field's value.
  5694  func (s *DetectorModelVersionSummary) SetLastUpdateTime(v time.Time) *DetectorModelVersionSummary {
  5695  	s.LastUpdateTime = &v
  5696  	return s
  5697  }
  5698  
  5699  // SetRoleArn sets the RoleArn field's value.
  5700  func (s *DetectorModelVersionSummary) SetRoleArn(v string) *DetectorModelVersionSummary {
  5701  	s.RoleArn = &v
  5702  	return s
  5703  }
  5704  
  5705  // SetStatus sets the Status field's value.
  5706  func (s *DetectorModelVersionSummary) SetStatus(v string) *DetectorModelVersionSummary {
  5707  	s.Status = &v
  5708  	return s
  5709  }
  5710  
  5711  // Defines an action to write to the Amazon DynamoDB table that you created.
  5712  // The standard action payload contains all the information about the detector
  5713  // model instance and the event that triggered the action. You can customize
  5714  // the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
  5715  // One column of the DynamoDB table receives all attribute-value pairs in the
  5716  // payload that you specify.
  5717  //
  5718  // You must use expressions for all parameters in DynamoDBAction. The expressions
  5719  // accept literals, operators, functions, references, and substitution templates.
  5720  //
  5721  // Examples
  5722  //
  5723  //    * For literal values, the expressions must contain single quotes. For
  5724  //    example, the value for the hashKeyType parameter can be 'STRING'.
  5725  //
  5726  //    * For references, you must specify either variables or input values. For
  5727  //    example, the value for the hashKeyField parameter can be $input.GreenhouseInput.name.
  5728  //
  5729  //    * For a substitution template, you must use ${}, and the template must
  5730  //    be in single quotes. A substitution template can also contain a combination
  5731  //    of literals, operators, functions, references, and substitution templates.
  5732  //    In the following example, the value for the hashKeyValue parameter uses
  5733  //    a substitution template. '${$input.GreenhouseInput.temperature * 6 / 5
  5734  //    + 32} in Fahrenheit'
  5735  //
  5736  //    * For a string concatenation, you must use +. A string concatenation can
  5737  //    also contain a combination of literals, operators, functions, references,
  5738  //    and substitution templates. In the following example, the value for the
  5739  //    tableName parameter uses a string concatenation. 'GreenhouseTemperatureTable
  5740  //    ' + $input.GreenhouseInput.date
  5741  //
  5742  // For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
  5743  // in the AWS IoT Events Developer Guide.
  5744  //
  5745  // If the defined payload type is a string, DynamoDBAction writes non-JSON data
  5746  // to the DynamoDB table as binary data. The DynamoDB console displays the data
  5747  // as Base64-encoded text. The value for the payloadField parameter is <payload-field>_raw.
  5748  type DynamoDBAction struct {
  5749  	_ struct{} `type:"structure"`
  5750  
  5751  	// The name of the hash key (also called the partition key). The hashKeyField
  5752  	// value must match the partition key of the target DynamoDB table.
  5753  	//
  5754  	// HashKeyField is a required field
  5755  	HashKeyField *string `locationName:"hashKeyField" type:"string" required:"true"`
  5756  
  5757  	// The data type for the hash key (also called the partition key). You can specify
  5758  	// the following values:
  5759  	//
  5760  	//    * 'STRING' - The hash key is a string.
  5761  	//
  5762  	//    * 'NUMBER' - The hash key is a number.
  5763  	//
  5764  	// If you don't specify hashKeyType, the default value is 'STRING'.
  5765  	HashKeyType *string `locationName:"hashKeyType" type:"string"`
  5766  
  5767  	// The value of the hash key (also called the partition key).
  5768  	//
  5769  	// HashKeyValue is a required field
  5770  	HashKeyValue *string `locationName:"hashKeyValue" type:"string" required:"true"`
  5771  
  5772  	// The type of operation to perform. You can specify the following values:
  5773  	//
  5774  	//    * 'INSERT' - Insert data as a new item into the DynamoDB table. This item
  5775  	//    uses the specified hash key as a partition key. If you specified a range
  5776  	//    key, the item uses the range key as a sort key.
  5777  	//
  5778  	//    * 'UPDATE' - Update an existing item of the DynamoDB table with new data.
  5779  	//    This item's partition key must match the specified hash key. If you specified
  5780  	//    a range key, the range key must match the item's sort key.
  5781  	//
  5782  	//    * 'DELETE' - Delete an existing item of the DynamoDB table. This item's
  5783  	//    partition key must match the specified hash key. If you specified a range
  5784  	//    key, the range key must match the item's sort key.
  5785  	//
  5786  	// If you don't specify this parameter, AWS IoT Events triggers the 'INSERT'
  5787  	// operation.
  5788  	Operation *string `locationName:"operation" type:"string"`
  5789  
  5790  	// Information needed to configure the payload.
  5791  	//
  5792  	// By default, AWS IoT Events generates a standard payload in JSON for any action.
  5793  	// This action payload contains all attribute-value pairs that have the information
  5794  	// about the detector model instance and the event triggered the action. To
  5795  	// configure the action payload, you can use contentExpression.
  5796  	Payload *Payload `locationName:"payload" type:"structure"`
  5797  
  5798  	// The name of the DynamoDB column that receives the action payload.
  5799  	//
  5800  	// If you don't specify this parameter, the name of the DynamoDB column is payload.
  5801  	PayloadField *string `locationName:"payloadField" type:"string"`
  5802  
  5803  	// The name of the range key (also called the sort key). The rangeKeyField value
  5804  	// must match the sort key of the target DynamoDB table.
  5805  	RangeKeyField *string `locationName:"rangeKeyField" type:"string"`
  5806  
  5807  	// The data type for the range key (also called the sort key), You can specify
  5808  	// the following values:
  5809  	//
  5810  	//    * 'STRING' - The range key is a string.
  5811  	//
  5812  	//    * 'NUMBER' - The range key is number.
  5813  	//
  5814  	// If you don't specify rangeKeyField, the default value is 'STRING'.
  5815  	RangeKeyType *string `locationName:"rangeKeyType" type:"string"`
  5816  
  5817  	// The value of the range key (also called the sort key).
  5818  	RangeKeyValue *string `locationName:"rangeKeyValue" type:"string"`
  5819  
  5820  	// The name of the DynamoDB table. The tableName value must match the table
  5821  	// name of the target DynamoDB table.
  5822  	//
  5823  	// TableName is a required field
  5824  	TableName *string `locationName:"tableName" type:"string" required:"true"`
  5825  }
  5826  
  5827  // String returns the string representation.
  5828  //
  5829  // API parameter values that are decorated as "sensitive" in the API will not
  5830  // be included in the string output. The member name will be present, but the
  5831  // value will be replaced with "sensitive".
  5832  func (s DynamoDBAction) String() string {
  5833  	return awsutil.Prettify(s)
  5834  }
  5835  
  5836  // GoString returns the string representation.
  5837  //
  5838  // API parameter values that are decorated as "sensitive" in the API will not
  5839  // be included in the string output. The member name will be present, but the
  5840  // value will be replaced with "sensitive".
  5841  func (s DynamoDBAction) GoString() string {
  5842  	return s.String()
  5843  }
  5844  
  5845  // Validate inspects the fields of the type to determine if they are valid.
  5846  func (s *DynamoDBAction) Validate() error {
  5847  	invalidParams := request.ErrInvalidParams{Context: "DynamoDBAction"}
  5848  	if s.HashKeyField == nil {
  5849  		invalidParams.Add(request.NewErrParamRequired("HashKeyField"))
  5850  	}
  5851  	if s.HashKeyValue == nil {
  5852  		invalidParams.Add(request.NewErrParamRequired("HashKeyValue"))
  5853  	}
  5854  	if s.TableName == nil {
  5855  		invalidParams.Add(request.NewErrParamRequired("TableName"))
  5856  	}
  5857  	if s.Payload != nil {
  5858  		if err := s.Payload.Validate(); err != nil {
  5859  			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
  5860  		}
  5861  	}
  5862  
  5863  	if invalidParams.Len() > 0 {
  5864  		return invalidParams
  5865  	}
  5866  	return nil
  5867  }
  5868  
  5869  // SetHashKeyField sets the HashKeyField field's value.
  5870  func (s *DynamoDBAction) SetHashKeyField(v string) *DynamoDBAction {
  5871  	s.HashKeyField = &v
  5872  	return s
  5873  }
  5874  
  5875  // SetHashKeyType sets the HashKeyType field's value.
  5876  func (s *DynamoDBAction) SetHashKeyType(v string) *DynamoDBAction {
  5877  	s.HashKeyType = &v
  5878  	return s
  5879  }
  5880  
  5881  // SetHashKeyValue sets the HashKeyValue field's value.
  5882  func (s *DynamoDBAction) SetHashKeyValue(v string) *DynamoDBAction {
  5883  	s.HashKeyValue = &v
  5884  	return s
  5885  }
  5886  
  5887  // SetOperation sets the Operation field's value.
  5888  func (s *DynamoDBAction) SetOperation(v string) *DynamoDBAction {
  5889  	s.Operation = &v
  5890  	return s
  5891  }
  5892  
  5893  // SetPayload sets the Payload field's value.
  5894  func (s *DynamoDBAction) SetPayload(v *Payload) *DynamoDBAction {
  5895  	s.Payload = v
  5896  	return s
  5897  }
  5898  
  5899  // SetPayloadField sets the PayloadField field's value.
  5900  func (s *DynamoDBAction) SetPayloadField(v string) *DynamoDBAction {
  5901  	s.PayloadField = &v
  5902  	return s
  5903  }
  5904  
  5905  // SetRangeKeyField sets the RangeKeyField field's value.
  5906  func (s *DynamoDBAction) SetRangeKeyField(v string) *DynamoDBAction {
  5907  	s.RangeKeyField = &v
  5908  	return s
  5909  }
  5910  
  5911  // SetRangeKeyType sets the RangeKeyType field's value.
  5912  func (s *DynamoDBAction) SetRangeKeyType(v string) *DynamoDBAction {
  5913  	s.RangeKeyType = &v
  5914  	return s
  5915  }
  5916  
  5917  // SetRangeKeyValue sets the RangeKeyValue field's value.
  5918  func (s *DynamoDBAction) SetRangeKeyValue(v string) *DynamoDBAction {
  5919  	s.RangeKeyValue = &v
  5920  	return s
  5921  }
  5922  
  5923  // SetTableName sets the TableName field's value.
  5924  func (s *DynamoDBAction) SetTableName(v string) *DynamoDBAction {
  5925  	s.TableName = &v
  5926  	return s
  5927  }
  5928  
  5929  // Defines an action to write to the Amazon DynamoDB table that you created.
  5930  // The default action payload contains all the information about the detector
  5931  // model instance and the event that triggered the action. You can customize
  5932  // the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
  5933  // A separate column of the DynamoDB table receives one attribute-value pair
  5934  // in the payload that you specify.
  5935  //
  5936  // You must use expressions for all parameters in DynamoDBv2Action. The expressions
  5937  // accept literals, operators, functions, references, and substitution templates.
  5938  //
  5939  // Examples
  5940  //
  5941  //    * For literal values, the expressions must contain single quotes. For
  5942  //    example, the value for the tableName parameter can be 'GreenhouseTemperatureTable'.
  5943  //
  5944  //    * For references, you must specify either variables or input values. For
  5945  //    example, the value for the tableName parameter can be $variable.ddbtableName.
  5946  //
  5947  //    * For a substitution template, you must use ${}, and the template must
  5948  //    be in single quotes. A substitution template can also contain a combination
  5949  //    of literals, operators, functions, references, and substitution templates.
  5950  //    In the following example, the value for the contentExpression parameter
  5951  //    in Payload uses a substitution template. '{\"sensorID\": \"${$input.GreenhouseInput.sensor_id}\",
  5952  //    \"temperature\": \"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\"}'
  5953  //
  5954  //    * For a string concatenation, you must use +. A string concatenation can
  5955  //    also contain a combination of literals, operators, functions, references,
  5956  //    and substitution templates. In the following example, the value for the
  5957  //    tableName parameter uses a string concatenation. 'GreenhouseTemperatureTable
  5958  //    ' + $input.GreenhouseInput.date
  5959  //
  5960  // For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
  5961  // in the AWS IoT Events Developer Guide.
  5962  //
  5963  // The value for the type parameter in Payload must be JSON.
  5964  type DynamoDBv2Action struct {
  5965  	_ struct{} `type:"structure"`
  5966  
  5967  	// Information needed to configure the payload.
  5968  	//
  5969  	// By default, AWS IoT Events generates a standard payload in JSON for any action.
  5970  	// This action payload contains all attribute-value pairs that have the information
  5971  	// about the detector model instance and the event triggered the action. To
  5972  	// configure the action payload, you can use contentExpression.
  5973  	Payload *Payload `locationName:"payload" type:"structure"`
  5974  
  5975  	// The name of the DynamoDB table.
  5976  	//
  5977  	// TableName is a required field
  5978  	TableName *string `locationName:"tableName" type:"string" required:"true"`
  5979  }
  5980  
  5981  // String returns the string representation.
  5982  //
  5983  // API parameter values that are decorated as "sensitive" in the API will not
  5984  // be included in the string output. The member name will be present, but the
  5985  // value will be replaced with "sensitive".
  5986  func (s DynamoDBv2Action) String() string {
  5987  	return awsutil.Prettify(s)
  5988  }
  5989  
  5990  // GoString returns the string representation.
  5991  //
  5992  // API parameter values that are decorated as "sensitive" in the API will not
  5993  // be included in the string output. The member name will be present, but the
  5994  // value will be replaced with "sensitive".
  5995  func (s DynamoDBv2Action) GoString() string {
  5996  	return s.String()
  5997  }
  5998  
  5999  // Validate inspects the fields of the type to determine if they are valid.
  6000  func (s *DynamoDBv2Action) Validate() error {
  6001  	invalidParams := request.ErrInvalidParams{Context: "DynamoDBv2Action"}
  6002  	if s.TableName == nil {
  6003  		invalidParams.Add(request.NewErrParamRequired("TableName"))
  6004  	}
  6005  	if s.Payload != nil {
  6006  		if err := s.Payload.Validate(); err != nil {
  6007  			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
  6008  		}
  6009  	}
  6010  
  6011  	if invalidParams.Len() > 0 {
  6012  		return invalidParams
  6013  	}
  6014  	return nil
  6015  }
  6016  
  6017  // SetPayload sets the Payload field's value.
  6018  func (s *DynamoDBv2Action) SetPayload(v *Payload) *DynamoDBv2Action {
  6019  	s.Payload = v
  6020  	return s
  6021  }
  6022  
  6023  // SetTableName sets the TableName field's value.
  6024  func (s *DynamoDBv2Action) SetTableName(v string) *DynamoDBv2Action {
  6025  	s.TableName = &v
  6026  	return s
  6027  }
  6028  
  6029  // Contains the configuration information of email notifications.
  6030  type EmailConfiguration struct {
  6031  	_ struct{} `type:"structure"`
  6032  
  6033  	// Contains the subject and message of an email.
  6034  	Content *EmailContent `locationName:"content" type:"structure"`
  6035  
  6036  	// The email address that sends emails.
  6037  	//
  6038  	// If you use the AWS IoT Events managed AWS Lambda function to manage your
  6039  	// emails, you must verify the email address that sends emails in Amazon SES
  6040  	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html).
  6041  	//
  6042  	// From is a required field
  6043  	From *string `locationName:"from" type:"string" required:"true"`
  6044  
  6045  	// Contains the information of one or more recipients who receive the emails.
  6046  	//
  6047  	// You must add the users that receive emails to your AWS SSO store (https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html).
  6048  	//
  6049  	// Recipients is a required field
  6050  	Recipients *EmailRecipients `locationName:"recipients" type:"structure" required:"true"`
  6051  }
  6052  
  6053  // String returns the string representation.
  6054  //
  6055  // API parameter values that are decorated as "sensitive" in the API will not
  6056  // be included in the string output. The member name will be present, but the
  6057  // value will be replaced with "sensitive".
  6058  func (s EmailConfiguration) String() string {
  6059  	return awsutil.Prettify(s)
  6060  }
  6061  
  6062  // GoString returns the string representation.
  6063  //
  6064  // API parameter values that are decorated as "sensitive" in the API will not
  6065  // be included in the string output. The member name will be present, but the
  6066  // value will be replaced with "sensitive".
  6067  func (s EmailConfiguration) GoString() string {
  6068  	return s.String()
  6069  }
  6070  
  6071  // Validate inspects the fields of the type to determine if they are valid.
  6072  func (s *EmailConfiguration) Validate() error {
  6073  	invalidParams := request.ErrInvalidParams{Context: "EmailConfiguration"}
  6074  	if s.From == nil {
  6075  		invalidParams.Add(request.NewErrParamRequired("From"))
  6076  	}
  6077  	if s.Recipients == nil {
  6078  		invalidParams.Add(request.NewErrParamRequired("Recipients"))
  6079  	}
  6080  	if s.Recipients != nil {
  6081  		if err := s.Recipients.Validate(); err != nil {
  6082  			invalidParams.AddNested("Recipients", err.(request.ErrInvalidParams))
  6083  		}
  6084  	}
  6085  
  6086  	if invalidParams.Len() > 0 {
  6087  		return invalidParams
  6088  	}
  6089  	return nil
  6090  }
  6091  
  6092  // SetContent sets the Content field's value.
  6093  func (s *EmailConfiguration) SetContent(v *EmailContent) *EmailConfiguration {
  6094  	s.Content = v
  6095  	return s
  6096  }
  6097  
  6098  // SetFrom sets the From field's value.
  6099  func (s *EmailConfiguration) SetFrom(v string) *EmailConfiguration {
  6100  	s.From = &v
  6101  	return s
  6102  }
  6103  
  6104  // SetRecipients sets the Recipients field's value.
  6105  func (s *EmailConfiguration) SetRecipients(v *EmailRecipients) *EmailConfiguration {
  6106  	s.Recipients = v
  6107  	return s
  6108  }
  6109  
  6110  // Contains the subject and message of an email.
  6111  type EmailContent struct {
  6112  	_ struct{} `type:"structure"`
  6113  
  6114  	// The message that you want to send. The message can be up to 200 characters.
  6115  	AdditionalMessage *string `locationName:"additionalMessage" type:"string"`
  6116  
  6117  	// The subject of the email.
  6118  	Subject *string `locationName:"subject" type:"string"`
  6119  }
  6120  
  6121  // String returns the string representation.
  6122  //
  6123  // API parameter values that are decorated as "sensitive" in the API will not
  6124  // be included in the string output. The member name will be present, but the
  6125  // value will be replaced with "sensitive".
  6126  func (s EmailContent) String() string {
  6127  	return awsutil.Prettify(s)
  6128  }
  6129  
  6130  // GoString returns the string representation.
  6131  //
  6132  // API parameter values that are decorated as "sensitive" in the API will not
  6133  // be included in the string output. The member name will be present, but the
  6134  // value will be replaced with "sensitive".
  6135  func (s EmailContent) GoString() string {
  6136  	return s.String()
  6137  }
  6138  
  6139  // SetAdditionalMessage sets the AdditionalMessage field's value.
  6140  func (s *EmailContent) SetAdditionalMessage(v string) *EmailContent {
  6141  	s.AdditionalMessage = &v
  6142  	return s
  6143  }
  6144  
  6145  // SetSubject sets the Subject field's value.
  6146  func (s *EmailContent) SetSubject(v string) *EmailContent {
  6147  	s.Subject = &v
  6148  	return s
  6149  }
  6150  
  6151  // Contains the information of one or more recipients who receive the emails.
  6152  //
  6153  // You must add the users that receive emails to your AWS SSO store (https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html).
  6154  type EmailRecipients struct {
  6155  	_ struct{} `type:"structure"`
  6156  
  6157  	// Specifies one or more recipients who receive the email.
  6158  	To []*RecipientDetail `locationName:"to" min:"1" type:"list"`
  6159  }
  6160  
  6161  // String returns the string representation.
  6162  //
  6163  // API parameter values that are decorated as "sensitive" in the API will not
  6164  // be included in the string output. The member name will be present, but the
  6165  // value will be replaced with "sensitive".
  6166  func (s EmailRecipients) String() string {
  6167  	return awsutil.Prettify(s)
  6168  }
  6169  
  6170  // GoString returns the string representation.
  6171  //
  6172  // API parameter values that are decorated as "sensitive" in the API will not
  6173  // be included in the string output. The member name will be present, but the
  6174  // value will be replaced with "sensitive".
  6175  func (s EmailRecipients) GoString() string {
  6176  	return s.String()
  6177  }
  6178  
  6179  // Validate inspects the fields of the type to determine if they are valid.
  6180  func (s *EmailRecipients) Validate() error {
  6181  	invalidParams := request.ErrInvalidParams{Context: "EmailRecipients"}
  6182  	if s.To != nil && len(s.To) < 1 {
  6183  		invalidParams.Add(request.NewErrParamMinLen("To", 1))
  6184  	}
  6185  	if s.To != nil {
  6186  		for i, v := range s.To {
  6187  			if v == nil {
  6188  				continue
  6189  			}
  6190  			if err := v.Validate(); err != nil {
  6191  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "To", i), err.(request.ErrInvalidParams))
  6192  			}
  6193  		}
  6194  	}
  6195  
  6196  	if invalidParams.Len() > 0 {
  6197  		return invalidParams
  6198  	}
  6199  	return nil
  6200  }
  6201  
  6202  // SetTo sets the To field's value.
  6203  func (s *EmailRecipients) SetTo(v []*RecipientDetail) *EmailRecipients {
  6204  	s.To = v
  6205  	return s
  6206  }
  6207  
  6208  // Specifies the actions to be performed when the condition evaluates to TRUE.
  6209  type Event struct {
  6210  	_ struct{} `type:"structure"`
  6211  
  6212  	// The actions to be performed.
  6213  	Actions []*ActionData `locationName:"actions" type:"list"`
  6214  
  6215  	// Optional. The Boolean expression that, when TRUE, causes the actions to be
  6216  	// performed. If not present, the actions are performed (=TRUE). If the expression
  6217  	// result is not a Boolean value, the actions are not performed (=FALSE).
  6218  	Condition *string `locationName:"condition" type:"string"`
  6219  
  6220  	// The name of the event.
  6221  	//
  6222  	// EventName is a required field
  6223  	EventName *string `locationName:"eventName" type:"string" required:"true"`
  6224  }
  6225  
  6226  // String returns the string representation.
  6227  //
  6228  // API parameter values that are decorated as "sensitive" in the API will not
  6229  // be included in the string output. The member name will be present, but the
  6230  // value will be replaced with "sensitive".
  6231  func (s Event) String() string {
  6232  	return awsutil.Prettify(s)
  6233  }
  6234  
  6235  // GoString returns the string representation.
  6236  //
  6237  // API parameter values that are decorated as "sensitive" in the API will not
  6238  // be included in the string output. The member name will be present, but the
  6239  // value will be replaced with "sensitive".
  6240  func (s Event) GoString() string {
  6241  	return s.String()
  6242  }
  6243  
  6244  // Validate inspects the fields of the type to determine if they are valid.
  6245  func (s *Event) Validate() error {
  6246  	invalidParams := request.ErrInvalidParams{Context: "Event"}
  6247  	if s.EventName == nil {
  6248  		invalidParams.Add(request.NewErrParamRequired("EventName"))
  6249  	}
  6250  	if s.Actions != nil {
  6251  		for i, v := range s.Actions {
  6252  			if v == nil {
  6253  				continue
  6254  			}
  6255  			if err := v.Validate(); err != nil {
  6256  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
  6257  			}
  6258  		}
  6259  	}
  6260  
  6261  	if invalidParams.Len() > 0 {
  6262  		return invalidParams
  6263  	}
  6264  	return nil
  6265  }
  6266  
  6267  // SetActions sets the Actions field's value.
  6268  func (s *Event) SetActions(v []*ActionData) *Event {
  6269  	s.Actions = v
  6270  	return s
  6271  }
  6272  
  6273  // SetCondition sets the Condition field's value.
  6274  func (s *Event) SetCondition(v string) *Event {
  6275  	s.Condition = &v
  6276  	return s
  6277  }
  6278  
  6279  // SetEventName sets the EventName field's value.
  6280  func (s *Event) SetEventName(v string) *Event {
  6281  	s.EventName = &v
  6282  	return s
  6283  }
  6284  
  6285  // Sends information about the detector model instance and the event that triggered
  6286  // the action to an Amazon Kinesis Data Firehose delivery stream.
  6287  type FirehoseAction struct {
  6288  	_ struct{} `type:"structure"`
  6289  
  6290  	// The name of the Kinesis Data Firehose delivery stream where the data is written.
  6291  	//
  6292  	// DeliveryStreamName is a required field
  6293  	DeliveryStreamName *string `locationName:"deliveryStreamName" type:"string" required:"true"`
  6294  
  6295  	// You can configure the action payload when you send a message to an Amazon
  6296  	// Kinesis Data Firehose delivery stream.
  6297  	Payload *Payload `locationName:"payload" type:"structure"`
  6298  
  6299  	// A character separator that is used to separate records written to the Kinesis
  6300  	// Data Firehose delivery stream. Valid values are: '\n' (newline), '\t' (tab),
  6301  	// '\r\n' (Windows newline), ',' (comma).
  6302  	Separator *string `locationName:"separator" type:"string"`
  6303  }
  6304  
  6305  // String returns the string representation.
  6306  //
  6307  // API parameter values that are decorated as "sensitive" in the API will not
  6308  // be included in the string output. The member name will be present, but the
  6309  // value will be replaced with "sensitive".
  6310  func (s FirehoseAction) String() string {
  6311  	return awsutil.Prettify(s)
  6312  }
  6313  
  6314  // GoString returns the string representation.
  6315  //
  6316  // API parameter values that are decorated as "sensitive" in the API will not
  6317  // be included in the string output. The member name will be present, but the
  6318  // value will be replaced with "sensitive".
  6319  func (s FirehoseAction) GoString() string {
  6320  	return s.String()
  6321  }
  6322  
  6323  // Validate inspects the fields of the type to determine if they are valid.
  6324  func (s *FirehoseAction) Validate() error {
  6325  	invalidParams := request.ErrInvalidParams{Context: "FirehoseAction"}
  6326  	if s.DeliveryStreamName == nil {
  6327  		invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName"))
  6328  	}
  6329  	if s.Payload != nil {
  6330  		if err := s.Payload.Validate(); err != nil {
  6331  			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
  6332  		}
  6333  	}
  6334  
  6335  	if invalidParams.Len() > 0 {
  6336  		return invalidParams
  6337  	}
  6338  	return nil
  6339  }
  6340  
  6341  // SetDeliveryStreamName sets the DeliveryStreamName field's value.
  6342  func (s *FirehoseAction) SetDeliveryStreamName(v string) *FirehoseAction {
  6343  	s.DeliveryStreamName = &v
  6344  	return s
  6345  }
  6346  
  6347  // SetPayload sets the Payload field's value.
  6348  func (s *FirehoseAction) SetPayload(v *Payload) *FirehoseAction {
  6349  	s.Payload = v
  6350  	return s
  6351  }
  6352  
  6353  // SetSeparator sets the Separator field's value.
  6354  func (s *FirehoseAction) SetSeparator(v string) *FirehoseAction {
  6355  	s.Separator = &v
  6356  	return s
  6357  }
  6358  
  6359  type GetDetectorModelAnalysisResultsInput struct {
  6360  	_ struct{} `type:"structure" nopayload:"true"`
  6361  
  6362  	// The ID of the analysis result that you want to retrieve.
  6363  	//
  6364  	// AnalysisId is a required field
  6365  	AnalysisId *string `location:"uri" locationName:"analysisId" type:"string" required:"true"`
  6366  
  6367  	// The maximum number of results to be returned per request.
  6368  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  6369  
  6370  	// The token that you can use to return the next set of results.
  6371  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6372  }
  6373  
  6374  // String returns the string representation.
  6375  //
  6376  // API parameter values that are decorated as "sensitive" in the API will not
  6377  // be included in the string output. The member name will be present, but the
  6378  // value will be replaced with "sensitive".
  6379  func (s GetDetectorModelAnalysisResultsInput) String() string {
  6380  	return awsutil.Prettify(s)
  6381  }
  6382  
  6383  // GoString returns the string representation.
  6384  //
  6385  // API parameter values that are decorated as "sensitive" in the API will not
  6386  // be included in the string output. The member name will be present, but the
  6387  // value will be replaced with "sensitive".
  6388  func (s GetDetectorModelAnalysisResultsInput) GoString() string {
  6389  	return s.String()
  6390  }
  6391  
  6392  // Validate inspects the fields of the type to determine if they are valid.
  6393  func (s *GetDetectorModelAnalysisResultsInput) Validate() error {
  6394  	invalidParams := request.ErrInvalidParams{Context: "GetDetectorModelAnalysisResultsInput"}
  6395  	if s.AnalysisId == nil {
  6396  		invalidParams.Add(request.NewErrParamRequired("AnalysisId"))
  6397  	}
  6398  	if s.AnalysisId != nil && len(*s.AnalysisId) < 1 {
  6399  		invalidParams.Add(request.NewErrParamMinLen("AnalysisId", 1))
  6400  	}
  6401  
  6402  	if invalidParams.Len() > 0 {
  6403  		return invalidParams
  6404  	}
  6405  	return nil
  6406  }
  6407  
  6408  // SetAnalysisId sets the AnalysisId field's value.
  6409  func (s *GetDetectorModelAnalysisResultsInput) SetAnalysisId(v string) *GetDetectorModelAnalysisResultsInput {
  6410  	s.AnalysisId = &v
  6411  	return s
  6412  }
  6413  
  6414  // SetMaxResults sets the MaxResults field's value.
  6415  func (s *GetDetectorModelAnalysisResultsInput) SetMaxResults(v int64) *GetDetectorModelAnalysisResultsInput {
  6416  	s.MaxResults = &v
  6417  	return s
  6418  }
  6419  
  6420  // SetNextToken sets the NextToken field's value.
  6421  func (s *GetDetectorModelAnalysisResultsInput) SetNextToken(v string) *GetDetectorModelAnalysisResultsInput {
  6422  	s.NextToken = &v
  6423  	return s
  6424  }
  6425  
  6426  type GetDetectorModelAnalysisResultsOutput struct {
  6427  	_ struct{} `type:"structure"`
  6428  
  6429  	// Contains information about one or more analysis results.
  6430  	AnalysisResults []*AnalysisResult `locationName:"analysisResults" type:"list"`
  6431  
  6432  	// The token that you can use to return the next set of results, or null if
  6433  	// there are no more results.
  6434  	NextToken *string `locationName:"nextToken" type:"string"`
  6435  }
  6436  
  6437  // String returns the string representation.
  6438  //
  6439  // API parameter values that are decorated as "sensitive" in the API will not
  6440  // be included in the string output. The member name will be present, but the
  6441  // value will be replaced with "sensitive".
  6442  func (s GetDetectorModelAnalysisResultsOutput) String() string {
  6443  	return awsutil.Prettify(s)
  6444  }
  6445  
  6446  // GoString returns the string representation.
  6447  //
  6448  // API parameter values that are decorated as "sensitive" in the API will not
  6449  // be included in the string output. The member name will be present, but the
  6450  // value will be replaced with "sensitive".
  6451  func (s GetDetectorModelAnalysisResultsOutput) GoString() string {
  6452  	return s.String()
  6453  }
  6454  
  6455  // SetAnalysisResults sets the AnalysisResults field's value.
  6456  func (s *GetDetectorModelAnalysisResultsOutput) SetAnalysisResults(v []*AnalysisResult) *GetDetectorModelAnalysisResultsOutput {
  6457  	s.AnalysisResults = v
  6458  	return s
  6459  }
  6460  
  6461  // SetNextToken sets the NextToken field's value.
  6462  func (s *GetDetectorModelAnalysisResultsOutput) SetNextToken(v string) *GetDetectorModelAnalysisResultsOutput {
  6463  	s.NextToken = &v
  6464  	return s
  6465  }
  6466  
  6467  // Specifies the default alarm state. The configuration applies to all alarms
  6468  // that were created based on this alarm model.
  6469  type InitializationConfiguration struct {
  6470  	_ struct{} `type:"structure"`
  6471  
  6472  	// The value must be TRUE or FALSE. If FALSE, all alarm instances created based
  6473  	// on the alarm model are activated. The default value is TRUE.
  6474  	//
  6475  	// DisabledOnInitialization is a required field
  6476  	DisabledOnInitialization *bool `locationName:"disabledOnInitialization" type:"boolean" required:"true"`
  6477  }
  6478  
  6479  // String returns the string representation.
  6480  //
  6481  // API parameter values that are decorated as "sensitive" in the API will not
  6482  // be included in the string output. The member name will be present, but the
  6483  // value will be replaced with "sensitive".
  6484  func (s InitializationConfiguration) String() string {
  6485  	return awsutil.Prettify(s)
  6486  }
  6487  
  6488  // GoString returns the string representation.
  6489  //
  6490  // API parameter values that are decorated as "sensitive" in the API will not
  6491  // be included in the string output. The member name will be present, but the
  6492  // value will be replaced with "sensitive".
  6493  func (s InitializationConfiguration) GoString() string {
  6494  	return s.String()
  6495  }
  6496  
  6497  // Validate inspects the fields of the type to determine if they are valid.
  6498  func (s *InitializationConfiguration) Validate() error {
  6499  	invalidParams := request.ErrInvalidParams{Context: "InitializationConfiguration"}
  6500  	if s.DisabledOnInitialization == nil {
  6501  		invalidParams.Add(request.NewErrParamRequired("DisabledOnInitialization"))
  6502  	}
  6503  
  6504  	if invalidParams.Len() > 0 {
  6505  		return invalidParams
  6506  	}
  6507  	return nil
  6508  }
  6509  
  6510  // SetDisabledOnInitialization sets the DisabledOnInitialization field's value.
  6511  func (s *InitializationConfiguration) SetDisabledOnInitialization(v bool) *InitializationConfiguration {
  6512  	s.DisabledOnInitialization = &v
  6513  	return s
  6514  }
  6515  
  6516  // Information about the input.
  6517  type Input struct {
  6518  	_ struct{} `type:"structure"`
  6519  
  6520  	// Information about the configuration of an input.
  6521  	InputConfiguration *InputConfiguration `locationName:"inputConfiguration" type:"structure"`
  6522  
  6523  	// The definition of the input.
  6524  	InputDefinition *InputDefinition `locationName:"inputDefinition" type:"structure"`
  6525  }
  6526  
  6527  // String returns the string representation.
  6528  //
  6529  // API parameter values that are decorated as "sensitive" in the API will not
  6530  // be included in the string output. The member name will be present, but the
  6531  // value will be replaced with "sensitive".
  6532  func (s Input) String() string {
  6533  	return awsutil.Prettify(s)
  6534  }
  6535  
  6536  // GoString returns the string representation.
  6537  //
  6538  // API parameter values that are decorated as "sensitive" in the API will not
  6539  // be included in the string output. The member name will be present, but the
  6540  // value will be replaced with "sensitive".
  6541  func (s Input) GoString() string {
  6542  	return s.String()
  6543  }
  6544  
  6545  // SetInputConfiguration sets the InputConfiguration field's value.
  6546  func (s *Input) SetInputConfiguration(v *InputConfiguration) *Input {
  6547  	s.InputConfiguration = v
  6548  	return s
  6549  }
  6550  
  6551  // SetInputDefinition sets the InputDefinition field's value.
  6552  func (s *Input) SetInputDefinition(v *InputDefinition) *Input {
  6553  	s.InputDefinition = v
  6554  	return s
  6555  }
  6556  
  6557  // Information about the configuration of an input.
  6558  type InputConfiguration struct {
  6559  	_ struct{} `type:"structure"`
  6560  
  6561  	// The time the input was created.
  6562  	//
  6563  	// CreationTime is a required field
  6564  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp" required:"true"`
  6565  
  6566  	// The ARN of the input.
  6567  	//
  6568  	// InputArn is a required field
  6569  	InputArn *string `locationName:"inputArn" type:"string" required:"true"`
  6570  
  6571  	// A brief description of the input.
  6572  	InputDescription *string `locationName:"inputDescription" type:"string"`
  6573  
  6574  	// The name of the input.
  6575  	//
  6576  	// InputName is a required field
  6577  	InputName *string `locationName:"inputName" min:"1" type:"string" required:"true"`
  6578  
  6579  	// The last time the input was updated.
  6580  	//
  6581  	// LastUpdateTime is a required field
  6582  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp" required:"true"`
  6583  
  6584  	// The status of the input.
  6585  	//
  6586  	// Status is a required field
  6587  	Status *string `locationName:"status" type:"string" required:"true" enum:"InputStatus"`
  6588  }
  6589  
  6590  // String returns the string representation.
  6591  //
  6592  // API parameter values that are decorated as "sensitive" in the API will not
  6593  // be included in the string output. The member name will be present, but the
  6594  // value will be replaced with "sensitive".
  6595  func (s InputConfiguration) String() string {
  6596  	return awsutil.Prettify(s)
  6597  }
  6598  
  6599  // GoString returns the string representation.
  6600  //
  6601  // API parameter values that are decorated as "sensitive" in the API will not
  6602  // be included in the string output. The member name will be present, but the
  6603  // value will be replaced with "sensitive".
  6604  func (s InputConfiguration) GoString() string {
  6605  	return s.String()
  6606  }
  6607  
  6608  // SetCreationTime sets the CreationTime field's value.
  6609  func (s *InputConfiguration) SetCreationTime(v time.Time) *InputConfiguration {
  6610  	s.CreationTime = &v
  6611  	return s
  6612  }
  6613  
  6614  // SetInputArn sets the InputArn field's value.
  6615  func (s *InputConfiguration) SetInputArn(v string) *InputConfiguration {
  6616  	s.InputArn = &v
  6617  	return s
  6618  }
  6619  
  6620  // SetInputDescription sets the InputDescription field's value.
  6621  func (s *InputConfiguration) SetInputDescription(v string) *InputConfiguration {
  6622  	s.InputDescription = &v
  6623  	return s
  6624  }
  6625  
  6626  // SetInputName sets the InputName field's value.
  6627  func (s *InputConfiguration) SetInputName(v string) *InputConfiguration {
  6628  	s.InputName = &v
  6629  	return s
  6630  }
  6631  
  6632  // SetLastUpdateTime sets the LastUpdateTime field's value.
  6633  func (s *InputConfiguration) SetLastUpdateTime(v time.Time) *InputConfiguration {
  6634  	s.LastUpdateTime = &v
  6635  	return s
  6636  }
  6637  
  6638  // SetStatus sets the Status field's value.
  6639  func (s *InputConfiguration) SetStatus(v string) *InputConfiguration {
  6640  	s.Status = &v
  6641  	return s
  6642  }
  6643  
  6644  // The definition of the input.
  6645  type InputDefinition struct {
  6646  	_ struct{} `type:"structure"`
  6647  
  6648  	// The attributes from the JSON payload that are made available by the input.
  6649  	// Inputs are derived from messages sent to the AWS IoT Events system using
  6650  	// BatchPutMessage. Each such message contains a JSON payload, and those attributes
  6651  	// (and their paired values) specified here are available for use in the condition
  6652  	// expressions used by detectors that monitor this input.
  6653  	//
  6654  	// Attributes is a required field
  6655  	Attributes []*Attribute `locationName:"attributes" min:"1" type:"list" required:"true"`
  6656  }
  6657  
  6658  // String returns the string representation.
  6659  //
  6660  // API parameter values that are decorated as "sensitive" in the API will not
  6661  // be included in the string output. The member name will be present, but the
  6662  // value will be replaced with "sensitive".
  6663  func (s InputDefinition) String() string {
  6664  	return awsutil.Prettify(s)
  6665  }
  6666  
  6667  // GoString returns the string representation.
  6668  //
  6669  // API parameter values that are decorated as "sensitive" in the API will not
  6670  // be included in the string output. The member name will be present, but the
  6671  // value will be replaced with "sensitive".
  6672  func (s InputDefinition) GoString() string {
  6673  	return s.String()
  6674  }
  6675  
  6676  // Validate inspects the fields of the type to determine if they are valid.
  6677  func (s *InputDefinition) Validate() error {
  6678  	invalidParams := request.ErrInvalidParams{Context: "InputDefinition"}
  6679  	if s.Attributes == nil {
  6680  		invalidParams.Add(request.NewErrParamRequired("Attributes"))
  6681  	}
  6682  	if s.Attributes != nil && len(s.Attributes) < 1 {
  6683  		invalidParams.Add(request.NewErrParamMinLen("Attributes", 1))
  6684  	}
  6685  	if s.Attributes != nil {
  6686  		for i, v := range s.Attributes {
  6687  			if v == nil {
  6688  				continue
  6689  			}
  6690  			if err := v.Validate(); err != nil {
  6691  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
  6692  			}
  6693  		}
  6694  	}
  6695  
  6696  	if invalidParams.Len() > 0 {
  6697  		return invalidParams
  6698  	}
  6699  	return nil
  6700  }
  6701  
  6702  // SetAttributes sets the Attributes field's value.
  6703  func (s *InputDefinition) SetAttributes(v []*Attribute) *InputDefinition {
  6704  	s.Attributes = v
  6705  	return s
  6706  }
  6707  
  6708  // The identifer of the input.
  6709  type InputIdentifier struct {
  6710  	_ struct{} `type:"structure"`
  6711  
  6712  	// The identifier of the input routed to AWS IoT Events.
  6713  	IotEventsInputIdentifier *IotEventsInputIdentifier `locationName:"iotEventsInputIdentifier" type:"structure"`
  6714  
  6715  	// The identifer of the input routed from AWS IoT SiteWise.
  6716  	IotSiteWiseInputIdentifier *IotSiteWiseInputIdentifier `locationName:"iotSiteWiseInputIdentifier" type:"structure"`
  6717  }
  6718  
  6719  // String returns the string representation.
  6720  //
  6721  // API parameter values that are decorated as "sensitive" in the API will not
  6722  // be included in the string output. The member name will be present, but the
  6723  // value will be replaced with "sensitive".
  6724  func (s InputIdentifier) String() string {
  6725  	return awsutil.Prettify(s)
  6726  }
  6727  
  6728  // GoString returns the string representation.
  6729  //
  6730  // API parameter values that are decorated as "sensitive" in the API will not
  6731  // be included in the string output. The member name will be present, but the
  6732  // value will be replaced with "sensitive".
  6733  func (s InputIdentifier) GoString() string {
  6734  	return s.String()
  6735  }
  6736  
  6737  // Validate inspects the fields of the type to determine if they are valid.
  6738  func (s *InputIdentifier) Validate() error {
  6739  	invalidParams := request.ErrInvalidParams{Context: "InputIdentifier"}
  6740  	if s.IotEventsInputIdentifier != nil {
  6741  		if err := s.IotEventsInputIdentifier.Validate(); err != nil {
  6742  			invalidParams.AddNested("IotEventsInputIdentifier", err.(request.ErrInvalidParams))
  6743  		}
  6744  	}
  6745  	if s.IotSiteWiseInputIdentifier != nil {
  6746  		if err := s.IotSiteWiseInputIdentifier.Validate(); err != nil {
  6747  			invalidParams.AddNested("IotSiteWiseInputIdentifier", err.(request.ErrInvalidParams))
  6748  		}
  6749  	}
  6750  
  6751  	if invalidParams.Len() > 0 {
  6752  		return invalidParams
  6753  	}
  6754  	return nil
  6755  }
  6756  
  6757  // SetIotEventsInputIdentifier sets the IotEventsInputIdentifier field's value.
  6758  func (s *InputIdentifier) SetIotEventsInputIdentifier(v *IotEventsInputIdentifier) *InputIdentifier {
  6759  	s.IotEventsInputIdentifier = v
  6760  	return s
  6761  }
  6762  
  6763  // SetIotSiteWiseInputIdentifier sets the IotSiteWiseInputIdentifier field's value.
  6764  func (s *InputIdentifier) SetIotSiteWiseInputIdentifier(v *IotSiteWiseInputIdentifier) *InputIdentifier {
  6765  	s.IotSiteWiseInputIdentifier = v
  6766  	return s
  6767  }
  6768  
  6769  // Information about the input.
  6770  type InputSummary struct {
  6771  	_ struct{} `type:"structure"`
  6772  
  6773  	// The time the input was created.
  6774  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  6775  
  6776  	// The ARN of the input.
  6777  	InputArn *string `locationName:"inputArn" type:"string"`
  6778  
  6779  	// A brief description of the input.
  6780  	InputDescription *string `locationName:"inputDescription" type:"string"`
  6781  
  6782  	// The name of the input.
  6783  	InputName *string `locationName:"inputName" min:"1" type:"string"`
  6784  
  6785  	// The last time the input was updated.
  6786  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
  6787  
  6788  	// The status of the input.
  6789  	Status *string `locationName:"status" type:"string" enum:"InputStatus"`
  6790  }
  6791  
  6792  // String returns the string representation.
  6793  //
  6794  // API parameter values that are decorated as "sensitive" in the API will not
  6795  // be included in the string output. The member name will be present, but the
  6796  // value will be replaced with "sensitive".
  6797  func (s InputSummary) String() string {
  6798  	return awsutil.Prettify(s)
  6799  }
  6800  
  6801  // GoString returns the string representation.
  6802  //
  6803  // API parameter values that are decorated as "sensitive" in the API will not
  6804  // be included in the string output. The member name will be present, but the
  6805  // value will be replaced with "sensitive".
  6806  func (s InputSummary) GoString() string {
  6807  	return s.String()
  6808  }
  6809  
  6810  // SetCreationTime sets the CreationTime field's value.
  6811  func (s *InputSummary) SetCreationTime(v time.Time) *InputSummary {
  6812  	s.CreationTime = &v
  6813  	return s
  6814  }
  6815  
  6816  // SetInputArn sets the InputArn field's value.
  6817  func (s *InputSummary) SetInputArn(v string) *InputSummary {
  6818  	s.InputArn = &v
  6819  	return s
  6820  }
  6821  
  6822  // SetInputDescription sets the InputDescription field's value.
  6823  func (s *InputSummary) SetInputDescription(v string) *InputSummary {
  6824  	s.InputDescription = &v
  6825  	return s
  6826  }
  6827  
  6828  // SetInputName sets the InputName field's value.
  6829  func (s *InputSummary) SetInputName(v string) *InputSummary {
  6830  	s.InputName = &v
  6831  	return s
  6832  }
  6833  
  6834  // SetLastUpdateTime sets the LastUpdateTime field's value.
  6835  func (s *InputSummary) SetLastUpdateTime(v time.Time) *InputSummary {
  6836  	s.LastUpdateTime = &v
  6837  	return s
  6838  }
  6839  
  6840  // SetStatus sets the Status field's value.
  6841  func (s *InputSummary) SetStatus(v string) *InputSummary {
  6842  	s.Status = &v
  6843  	return s
  6844  }
  6845  
  6846  // An internal failure occurred.
  6847  type InternalFailureException struct {
  6848  	_            struct{}                  `type:"structure"`
  6849  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6850  
  6851  	// The message for the exception.
  6852  	Message_ *string `locationName:"message" type:"string"`
  6853  }
  6854  
  6855  // String returns the string representation.
  6856  //
  6857  // API parameter values that are decorated as "sensitive" in the API will not
  6858  // be included in the string output. The member name will be present, but the
  6859  // value will be replaced with "sensitive".
  6860  func (s InternalFailureException) String() string {
  6861  	return awsutil.Prettify(s)
  6862  }
  6863  
  6864  // GoString returns the string representation.
  6865  //
  6866  // API parameter values that are decorated as "sensitive" in the API will not
  6867  // be included in the string output. The member name will be present, but the
  6868  // value will be replaced with "sensitive".
  6869  func (s InternalFailureException) GoString() string {
  6870  	return s.String()
  6871  }
  6872  
  6873  func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
  6874  	return &InternalFailureException{
  6875  		RespMetadata: v,
  6876  	}
  6877  }
  6878  
  6879  // Code returns the exception type name.
  6880  func (s *InternalFailureException) Code() string {
  6881  	return "InternalFailureException"
  6882  }
  6883  
  6884  // Message returns the exception's message.
  6885  func (s *InternalFailureException) Message() string {
  6886  	if s.Message_ != nil {
  6887  		return *s.Message_
  6888  	}
  6889  	return ""
  6890  }
  6891  
  6892  // OrigErr always returns nil, satisfies awserr.Error interface.
  6893  func (s *InternalFailureException) OrigErr() error {
  6894  	return nil
  6895  }
  6896  
  6897  func (s *InternalFailureException) Error() string {
  6898  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6899  }
  6900  
  6901  // Status code returns the HTTP status code for the request's response error.
  6902  func (s *InternalFailureException) StatusCode() int {
  6903  	return s.RespMetadata.StatusCode
  6904  }
  6905  
  6906  // RequestID returns the service's response RequestID for request.
  6907  func (s *InternalFailureException) RequestID() string {
  6908  	return s.RespMetadata.RequestID
  6909  }
  6910  
  6911  // The request was invalid.
  6912  type InvalidRequestException struct {
  6913  	_            struct{}                  `type:"structure"`
  6914  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6915  
  6916  	// The message for the exception.
  6917  	Message_ *string `locationName:"message" type:"string"`
  6918  }
  6919  
  6920  // String returns the string representation.
  6921  //
  6922  // API parameter values that are decorated as "sensitive" in the API will not
  6923  // be included in the string output. The member name will be present, but the
  6924  // value will be replaced with "sensitive".
  6925  func (s InvalidRequestException) String() string {
  6926  	return awsutil.Prettify(s)
  6927  }
  6928  
  6929  // GoString returns the string representation.
  6930  //
  6931  // API parameter values that are decorated as "sensitive" in the API will not
  6932  // be included in the string output. The member name will be present, but the
  6933  // value will be replaced with "sensitive".
  6934  func (s InvalidRequestException) GoString() string {
  6935  	return s.String()
  6936  }
  6937  
  6938  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
  6939  	return &InvalidRequestException{
  6940  		RespMetadata: v,
  6941  	}
  6942  }
  6943  
  6944  // Code returns the exception type name.
  6945  func (s *InvalidRequestException) Code() string {
  6946  	return "InvalidRequestException"
  6947  }
  6948  
  6949  // Message returns the exception's message.
  6950  func (s *InvalidRequestException) Message() string {
  6951  	if s.Message_ != nil {
  6952  		return *s.Message_
  6953  	}
  6954  	return ""
  6955  }
  6956  
  6957  // OrigErr always returns nil, satisfies awserr.Error interface.
  6958  func (s *InvalidRequestException) OrigErr() error {
  6959  	return nil
  6960  }
  6961  
  6962  func (s *InvalidRequestException) Error() string {
  6963  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6964  }
  6965  
  6966  // Status code returns the HTTP status code for the request's response error.
  6967  func (s *InvalidRequestException) StatusCode() int {
  6968  	return s.RespMetadata.StatusCode
  6969  }
  6970  
  6971  // RequestID returns the service's response RequestID for request.
  6972  func (s *InvalidRequestException) RequestID() string {
  6973  	return s.RespMetadata.RequestID
  6974  }
  6975  
  6976  // The identifier of the input routed to AWS IoT Events.
  6977  type IotEventsInputIdentifier struct {
  6978  	_ struct{} `type:"structure"`
  6979  
  6980  	// The name of the input routed to AWS IoT Events.
  6981  	//
  6982  	// InputName is a required field
  6983  	InputName *string `locationName:"inputName" min:"1" type:"string" required:"true"`
  6984  }
  6985  
  6986  // String returns the string representation.
  6987  //
  6988  // API parameter values that are decorated as "sensitive" in the API will not
  6989  // be included in the string output. The member name will be present, but the
  6990  // value will be replaced with "sensitive".
  6991  func (s IotEventsInputIdentifier) String() string {
  6992  	return awsutil.Prettify(s)
  6993  }
  6994  
  6995  // GoString returns the string representation.
  6996  //
  6997  // API parameter values that are decorated as "sensitive" in the API will not
  6998  // be included in the string output. The member name will be present, but the
  6999  // value will be replaced with "sensitive".
  7000  func (s IotEventsInputIdentifier) GoString() string {
  7001  	return s.String()
  7002  }
  7003  
  7004  // Validate inspects the fields of the type to determine if they are valid.
  7005  func (s *IotEventsInputIdentifier) Validate() error {
  7006  	invalidParams := request.ErrInvalidParams{Context: "IotEventsInputIdentifier"}
  7007  	if s.InputName == nil {
  7008  		invalidParams.Add(request.NewErrParamRequired("InputName"))
  7009  	}
  7010  	if s.InputName != nil && len(*s.InputName) < 1 {
  7011  		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
  7012  	}
  7013  
  7014  	if invalidParams.Len() > 0 {
  7015  		return invalidParams
  7016  	}
  7017  	return nil
  7018  }
  7019  
  7020  // SetInputName sets the InputName field's value.
  7021  func (s *IotEventsInputIdentifier) SetInputName(v string) *IotEventsInputIdentifier {
  7022  	s.InputName = &v
  7023  	return s
  7024  }
  7025  
  7026  // Sends information about the detector model instance and the event that triggered
  7027  // the action to a specified asset property in AWS IoT SiteWise.
  7028  //
  7029  // You must use expressions for all parameters in IotSiteWiseAction. The expressions
  7030  // accept literals, operators, functions, references, and substitutions templates.
  7031  //
  7032  // Examples
  7033  //
  7034  //    * For literal values, the expressions must contain single quotes. For
  7035  //    example, the value for the propertyAlias parameter can be '/company/windfarm/3/turbine/7/temperature'.
  7036  //
  7037  //    * For references, you must specify either variables or input values. For
  7038  //    example, the value for the assetId parameter can be $input.TurbineInput.assetId1.
  7039  //
  7040  //    * For a substitution template, you must use ${}, and the template must
  7041  //    be in single quotes. A substitution template can also contain a combination
  7042  //    of literals, operators, functions, references, and substitution templates.
  7043  //    In the following example, the value for the propertyAlias parameter uses
  7044  //    a substitution template. 'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/
  7045  //    ${$input.TemperatureInput.sensorData.turbineID}/temperature'
  7046  //
  7047  // You must specify either propertyAlias or both assetId and propertyId to identify
  7048  // the target asset property in AWS IoT SiteWise.
  7049  //
  7050  // For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
  7051  // in the AWS IoT Events Developer Guide.
  7052  type IotSiteWiseAction struct {
  7053  	_ struct{} `type:"structure"`
  7054  
  7055  	// The ID of the asset that has the specified property.
  7056  	AssetId *string `locationName:"assetId" type:"string"`
  7057  
  7058  	// A unique identifier for this entry. You can use the entry ID to track which
  7059  	// data entry causes an error in case of failure. The default is a new unique
  7060  	// identifier.
  7061  	EntryId *string `locationName:"entryId" type:"string"`
  7062  
  7063  	// The alias of the asset property.
  7064  	PropertyAlias *string `locationName:"propertyAlias" type:"string"`
  7065  
  7066  	// The ID of the asset property.
  7067  	PropertyId *string `locationName:"propertyId" type:"string"`
  7068  
  7069  	// The value to send to the asset property. This value contains timestamp, quality,
  7070  	// and value (TQV) information.
  7071  	PropertyValue *AssetPropertyValue `locationName:"propertyValue" type:"structure"`
  7072  }
  7073  
  7074  // String returns the string representation.
  7075  //
  7076  // API parameter values that are decorated as "sensitive" in the API will not
  7077  // be included in the string output. The member name will be present, but the
  7078  // value will be replaced with "sensitive".
  7079  func (s IotSiteWiseAction) String() string {
  7080  	return awsutil.Prettify(s)
  7081  }
  7082  
  7083  // GoString returns the string representation.
  7084  //
  7085  // API parameter values that are decorated as "sensitive" in the API will not
  7086  // be included in the string output. The member name will be present, but the
  7087  // value will be replaced with "sensitive".
  7088  func (s IotSiteWiseAction) GoString() string {
  7089  	return s.String()
  7090  }
  7091  
  7092  // Validate inspects the fields of the type to determine if they are valid.
  7093  func (s *IotSiteWiseAction) Validate() error {
  7094  	invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseAction"}
  7095  	if s.PropertyValue != nil {
  7096  		if err := s.PropertyValue.Validate(); err != nil {
  7097  			invalidParams.AddNested("PropertyValue", err.(request.ErrInvalidParams))
  7098  		}
  7099  	}
  7100  
  7101  	if invalidParams.Len() > 0 {
  7102  		return invalidParams
  7103  	}
  7104  	return nil
  7105  }
  7106  
  7107  // SetAssetId sets the AssetId field's value.
  7108  func (s *IotSiteWiseAction) SetAssetId(v string) *IotSiteWiseAction {
  7109  	s.AssetId = &v
  7110  	return s
  7111  }
  7112  
  7113  // SetEntryId sets the EntryId field's value.
  7114  func (s *IotSiteWiseAction) SetEntryId(v string) *IotSiteWiseAction {
  7115  	s.EntryId = &v
  7116  	return s
  7117  }
  7118  
  7119  // SetPropertyAlias sets the PropertyAlias field's value.
  7120  func (s *IotSiteWiseAction) SetPropertyAlias(v string) *IotSiteWiseAction {
  7121  	s.PropertyAlias = &v
  7122  	return s
  7123  }
  7124  
  7125  // SetPropertyId sets the PropertyId field's value.
  7126  func (s *IotSiteWiseAction) SetPropertyId(v string) *IotSiteWiseAction {
  7127  	s.PropertyId = &v
  7128  	return s
  7129  }
  7130  
  7131  // SetPropertyValue sets the PropertyValue field's value.
  7132  func (s *IotSiteWiseAction) SetPropertyValue(v *AssetPropertyValue) *IotSiteWiseAction {
  7133  	s.PropertyValue = v
  7134  	return s
  7135  }
  7136  
  7137  // The asset model property identifer of the input routed from AWS IoT SiteWise.
  7138  type IotSiteWiseAssetModelPropertyIdentifier struct {
  7139  	_ struct{} `type:"structure"`
  7140  
  7141  	// The ID of the AWS IoT SiteWise asset model.
  7142  	//
  7143  	// AssetModelId is a required field
  7144  	AssetModelId *string `locationName:"assetModelId" type:"string" required:"true"`
  7145  
  7146  	// The ID of the AWS IoT SiteWise asset property.
  7147  	//
  7148  	// PropertyId is a required field
  7149  	PropertyId *string `locationName:"propertyId" type:"string" required:"true"`
  7150  }
  7151  
  7152  // String returns the string representation.
  7153  //
  7154  // API parameter values that are decorated as "sensitive" in the API will not
  7155  // be included in the string output. The member name will be present, but the
  7156  // value will be replaced with "sensitive".
  7157  func (s IotSiteWiseAssetModelPropertyIdentifier) String() string {
  7158  	return awsutil.Prettify(s)
  7159  }
  7160  
  7161  // GoString returns the string representation.
  7162  //
  7163  // API parameter values that are decorated as "sensitive" in the API will not
  7164  // be included in the string output. The member name will be present, but the
  7165  // value will be replaced with "sensitive".
  7166  func (s IotSiteWiseAssetModelPropertyIdentifier) GoString() string {
  7167  	return s.String()
  7168  }
  7169  
  7170  // Validate inspects the fields of the type to determine if they are valid.
  7171  func (s *IotSiteWiseAssetModelPropertyIdentifier) Validate() error {
  7172  	invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseAssetModelPropertyIdentifier"}
  7173  	if s.AssetModelId == nil {
  7174  		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
  7175  	}
  7176  	if s.PropertyId == nil {
  7177  		invalidParams.Add(request.NewErrParamRequired("PropertyId"))
  7178  	}
  7179  
  7180  	if invalidParams.Len() > 0 {
  7181  		return invalidParams
  7182  	}
  7183  	return nil
  7184  }
  7185  
  7186  // SetAssetModelId sets the AssetModelId field's value.
  7187  func (s *IotSiteWiseAssetModelPropertyIdentifier) SetAssetModelId(v string) *IotSiteWiseAssetModelPropertyIdentifier {
  7188  	s.AssetModelId = &v
  7189  	return s
  7190  }
  7191  
  7192  // SetPropertyId sets the PropertyId field's value.
  7193  func (s *IotSiteWiseAssetModelPropertyIdentifier) SetPropertyId(v string) *IotSiteWiseAssetModelPropertyIdentifier {
  7194  	s.PropertyId = &v
  7195  	return s
  7196  }
  7197  
  7198  // The identifer of the input routed from AWS IoT SiteWise.
  7199  type IotSiteWiseInputIdentifier struct {
  7200  	_ struct{} `type:"structure"`
  7201  
  7202  	// The identifier of the AWS IoT SiteWise asset model property.
  7203  	IotSiteWiseAssetModelPropertyIdentifier *IotSiteWiseAssetModelPropertyIdentifier `locationName:"iotSiteWiseAssetModelPropertyIdentifier" type:"structure"`
  7204  }
  7205  
  7206  // String returns the string representation.
  7207  //
  7208  // API parameter values that are decorated as "sensitive" in the API will not
  7209  // be included in the string output. The member name will be present, but the
  7210  // value will be replaced with "sensitive".
  7211  func (s IotSiteWiseInputIdentifier) String() string {
  7212  	return awsutil.Prettify(s)
  7213  }
  7214  
  7215  // GoString 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 IotSiteWiseInputIdentifier) GoString() string {
  7221  	return s.String()
  7222  }
  7223  
  7224  // Validate inspects the fields of the type to determine if they are valid.
  7225  func (s *IotSiteWiseInputIdentifier) Validate() error {
  7226  	invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseInputIdentifier"}
  7227  	if s.IotSiteWiseAssetModelPropertyIdentifier != nil {
  7228  		if err := s.IotSiteWiseAssetModelPropertyIdentifier.Validate(); err != nil {
  7229  			invalidParams.AddNested("IotSiteWiseAssetModelPropertyIdentifier", err.(request.ErrInvalidParams))
  7230  		}
  7231  	}
  7232  
  7233  	if invalidParams.Len() > 0 {
  7234  		return invalidParams
  7235  	}
  7236  	return nil
  7237  }
  7238  
  7239  // SetIotSiteWiseAssetModelPropertyIdentifier sets the IotSiteWiseAssetModelPropertyIdentifier field's value.
  7240  func (s *IotSiteWiseInputIdentifier) SetIotSiteWiseAssetModelPropertyIdentifier(v *IotSiteWiseAssetModelPropertyIdentifier) *IotSiteWiseInputIdentifier {
  7241  	s.IotSiteWiseAssetModelPropertyIdentifier = v
  7242  	return s
  7243  }
  7244  
  7245  // Information required to publish the MQTT message through the AWS IoT message
  7246  // broker.
  7247  type IotTopicPublishAction struct {
  7248  	_ struct{} `type:"structure"`
  7249  
  7250  	// The MQTT topic of the message. You can use a string expression that includes
  7251  	// variables ($variable.<variable-name>) and input values ($input.<input-name>.<path-to-datum>)
  7252  	// as the topic string.
  7253  	//
  7254  	// MqttTopic is a required field
  7255  	MqttTopic *string `locationName:"mqttTopic" min:"1" type:"string" required:"true"`
  7256  
  7257  	// You can configure the action payload when you publish a message to an AWS
  7258  	// IoT Core topic.
  7259  	Payload *Payload `locationName:"payload" type:"structure"`
  7260  }
  7261  
  7262  // String returns the string representation.
  7263  //
  7264  // API parameter values that are decorated as "sensitive" in the API will not
  7265  // be included in the string output. The member name will be present, but the
  7266  // value will be replaced with "sensitive".
  7267  func (s IotTopicPublishAction) String() string {
  7268  	return awsutil.Prettify(s)
  7269  }
  7270  
  7271  // GoString returns the string representation.
  7272  //
  7273  // API parameter values that are decorated as "sensitive" in the API will not
  7274  // be included in the string output. The member name will be present, but the
  7275  // value will be replaced with "sensitive".
  7276  func (s IotTopicPublishAction) GoString() string {
  7277  	return s.String()
  7278  }
  7279  
  7280  // Validate inspects the fields of the type to determine if they are valid.
  7281  func (s *IotTopicPublishAction) Validate() error {
  7282  	invalidParams := request.ErrInvalidParams{Context: "IotTopicPublishAction"}
  7283  	if s.MqttTopic == nil {
  7284  		invalidParams.Add(request.NewErrParamRequired("MqttTopic"))
  7285  	}
  7286  	if s.MqttTopic != nil && len(*s.MqttTopic) < 1 {
  7287  		invalidParams.Add(request.NewErrParamMinLen("MqttTopic", 1))
  7288  	}
  7289  	if s.Payload != nil {
  7290  		if err := s.Payload.Validate(); err != nil {
  7291  			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
  7292  		}
  7293  	}
  7294  
  7295  	if invalidParams.Len() > 0 {
  7296  		return invalidParams
  7297  	}
  7298  	return nil
  7299  }
  7300  
  7301  // SetMqttTopic sets the MqttTopic field's value.
  7302  func (s *IotTopicPublishAction) SetMqttTopic(v string) *IotTopicPublishAction {
  7303  	s.MqttTopic = &v
  7304  	return s
  7305  }
  7306  
  7307  // SetPayload sets the Payload field's value.
  7308  func (s *IotTopicPublishAction) SetPayload(v *Payload) *IotTopicPublishAction {
  7309  	s.Payload = v
  7310  	return s
  7311  }
  7312  
  7313  // Calls a Lambda function, passing in information about the detector model
  7314  // instance and the event that triggered the action.
  7315  type LambdaAction struct {
  7316  	_ struct{} `type:"structure"`
  7317  
  7318  	// The ARN of the Lambda function that is executed.
  7319  	//
  7320  	// FunctionArn is a required field
  7321  	FunctionArn *string `locationName:"functionArn" min:"1" type:"string" required:"true"`
  7322  
  7323  	// You can configure the action payload when you send a message to a Lambda
  7324  	// function.
  7325  	Payload *Payload `locationName:"payload" type:"structure"`
  7326  }
  7327  
  7328  // String returns the string representation.
  7329  //
  7330  // API parameter values that are decorated as "sensitive" in the API will not
  7331  // be included in the string output. The member name will be present, but the
  7332  // value will be replaced with "sensitive".
  7333  func (s LambdaAction) String() string {
  7334  	return awsutil.Prettify(s)
  7335  }
  7336  
  7337  // GoString returns the string representation.
  7338  //
  7339  // API parameter values that are decorated as "sensitive" in the API will not
  7340  // be included in the string output. The member name will be present, but the
  7341  // value will be replaced with "sensitive".
  7342  func (s LambdaAction) GoString() string {
  7343  	return s.String()
  7344  }
  7345  
  7346  // Validate inspects the fields of the type to determine if they are valid.
  7347  func (s *LambdaAction) Validate() error {
  7348  	invalidParams := request.ErrInvalidParams{Context: "LambdaAction"}
  7349  	if s.FunctionArn == nil {
  7350  		invalidParams.Add(request.NewErrParamRequired("FunctionArn"))
  7351  	}
  7352  	if s.FunctionArn != nil && len(*s.FunctionArn) < 1 {
  7353  		invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1))
  7354  	}
  7355  	if s.Payload != nil {
  7356  		if err := s.Payload.Validate(); err != nil {
  7357  			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
  7358  		}
  7359  	}
  7360  
  7361  	if invalidParams.Len() > 0 {
  7362  		return invalidParams
  7363  	}
  7364  	return nil
  7365  }
  7366  
  7367  // SetFunctionArn sets the FunctionArn field's value.
  7368  func (s *LambdaAction) SetFunctionArn(v string) *LambdaAction {
  7369  	s.FunctionArn = &v
  7370  	return s
  7371  }
  7372  
  7373  // SetPayload sets the Payload field's value.
  7374  func (s *LambdaAction) SetPayload(v *Payload) *LambdaAction {
  7375  	s.Payload = v
  7376  	return s
  7377  }
  7378  
  7379  // A limit was exceeded.
  7380  type LimitExceededException struct {
  7381  	_            struct{}                  `type:"structure"`
  7382  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7383  
  7384  	// The message for the exception.
  7385  	Message_ *string `locationName:"message" type:"string"`
  7386  }
  7387  
  7388  // String returns the string representation.
  7389  //
  7390  // API parameter values that are decorated as "sensitive" in the API will not
  7391  // be included in the string output. The member name will be present, but the
  7392  // value will be replaced with "sensitive".
  7393  func (s LimitExceededException) String() string {
  7394  	return awsutil.Prettify(s)
  7395  }
  7396  
  7397  // GoString returns the string representation.
  7398  //
  7399  // API parameter values that are decorated as "sensitive" in the API will not
  7400  // be included in the string output. The member name will be present, but the
  7401  // value will be replaced with "sensitive".
  7402  func (s LimitExceededException) GoString() string {
  7403  	return s.String()
  7404  }
  7405  
  7406  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
  7407  	return &LimitExceededException{
  7408  		RespMetadata: v,
  7409  	}
  7410  }
  7411  
  7412  // Code returns the exception type name.
  7413  func (s *LimitExceededException) Code() string {
  7414  	return "LimitExceededException"
  7415  }
  7416  
  7417  // Message returns the exception's message.
  7418  func (s *LimitExceededException) Message() string {
  7419  	if s.Message_ != nil {
  7420  		return *s.Message_
  7421  	}
  7422  	return ""
  7423  }
  7424  
  7425  // OrigErr always returns nil, satisfies awserr.Error interface.
  7426  func (s *LimitExceededException) OrigErr() error {
  7427  	return nil
  7428  }
  7429  
  7430  func (s *LimitExceededException) Error() string {
  7431  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7432  }
  7433  
  7434  // Status code returns the HTTP status code for the request's response error.
  7435  func (s *LimitExceededException) StatusCode() int {
  7436  	return s.RespMetadata.StatusCode
  7437  }
  7438  
  7439  // RequestID returns the service's response RequestID for request.
  7440  func (s *LimitExceededException) RequestID() string {
  7441  	return s.RespMetadata.RequestID
  7442  }
  7443  
  7444  type ListAlarmModelVersionsInput struct {
  7445  	_ struct{} `type:"structure" nopayload:"true"`
  7446  
  7447  	// The name of the alarm model.
  7448  	//
  7449  	// AlarmModelName is a required field
  7450  	AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"`
  7451  
  7452  	// The maximum number of results to be returned per request.
  7453  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  7454  
  7455  	// The token that you can use to return the next set of results.
  7456  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7457  }
  7458  
  7459  // String returns the string representation.
  7460  //
  7461  // API parameter values that are decorated as "sensitive" in the API will not
  7462  // be included in the string output. The member name will be present, but the
  7463  // value will be replaced with "sensitive".
  7464  func (s ListAlarmModelVersionsInput) String() string {
  7465  	return awsutil.Prettify(s)
  7466  }
  7467  
  7468  // GoString returns the string representation.
  7469  //
  7470  // API parameter values that are decorated as "sensitive" in the API will not
  7471  // be included in the string output. The member name will be present, but the
  7472  // value will be replaced with "sensitive".
  7473  func (s ListAlarmModelVersionsInput) GoString() string {
  7474  	return s.String()
  7475  }
  7476  
  7477  // Validate inspects the fields of the type to determine if they are valid.
  7478  func (s *ListAlarmModelVersionsInput) Validate() error {
  7479  	invalidParams := request.ErrInvalidParams{Context: "ListAlarmModelVersionsInput"}
  7480  	if s.AlarmModelName == nil {
  7481  		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
  7482  	}
  7483  	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
  7484  		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
  7485  	}
  7486  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7487  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7488  	}
  7489  
  7490  	if invalidParams.Len() > 0 {
  7491  		return invalidParams
  7492  	}
  7493  	return nil
  7494  }
  7495  
  7496  // SetAlarmModelName sets the AlarmModelName field's value.
  7497  func (s *ListAlarmModelVersionsInput) SetAlarmModelName(v string) *ListAlarmModelVersionsInput {
  7498  	s.AlarmModelName = &v
  7499  	return s
  7500  }
  7501  
  7502  // SetMaxResults sets the MaxResults field's value.
  7503  func (s *ListAlarmModelVersionsInput) SetMaxResults(v int64) *ListAlarmModelVersionsInput {
  7504  	s.MaxResults = &v
  7505  	return s
  7506  }
  7507  
  7508  // SetNextToken sets the NextToken field's value.
  7509  func (s *ListAlarmModelVersionsInput) SetNextToken(v string) *ListAlarmModelVersionsInput {
  7510  	s.NextToken = &v
  7511  	return s
  7512  }
  7513  
  7514  type ListAlarmModelVersionsOutput struct {
  7515  	_ struct{} `type:"structure"`
  7516  
  7517  	// A list that summarizes each alarm model version.
  7518  	AlarmModelVersionSummaries []*AlarmModelVersionSummary `locationName:"alarmModelVersionSummaries" type:"list"`
  7519  
  7520  	// The token that you can use to return the next set of results, or null if
  7521  	// there are no more results.
  7522  	NextToken *string `locationName:"nextToken" type:"string"`
  7523  }
  7524  
  7525  // String returns the string representation.
  7526  //
  7527  // API parameter values that are decorated as "sensitive" in the API will not
  7528  // be included in the string output. The member name will be present, but the
  7529  // value will be replaced with "sensitive".
  7530  func (s ListAlarmModelVersionsOutput) String() string {
  7531  	return awsutil.Prettify(s)
  7532  }
  7533  
  7534  // GoString returns the string representation.
  7535  //
  7536  // API parameter values that are decorated as "sensitive" in the API will not
  7537  // be included in the string output. The member name will be present, but the
  7538  // value will be replaced with "sensitive".
  7539  func (s ListAlarmModelVersionsOutput) GoString() string {
  7540  	return s.String()
  7541  }
  7542  
  7543  // SetAlarmModelVersionSummaries sets the AlarmModelVersionSummaries field's value.
  7544  func (s *ListAlarmModelVersionsOutput) SetAlarmModelVersionSummaries(v []*AlarmModelVersionSummary) *ListAlarmModelVersionsOutput {
  7545  	s.AlarmModelVersionSummaries = v
  7546  	return s
  7547  }
  7548  
  7549  // SetNextToken sets the NextToken field's value.
  7550  func (s *ListAlarmModelVersionsOutput) SetNextToken(v string) *ListAlarmModelVersionsOutput {
  7551  	s.NextToken = &v
  7552  	return s
  7553  }
  7554  
  7555  type ListAlarmModelsInput struct {
  7556  	_ struct{} `type:"structure" nopayload:"true"`
  7557  
  7558  	// The maximum number of results to be returned per request.
  7559  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  7560  
  7561  	// The token that you can use to return the next set of results.
  7562  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7563  }
  7564  
  7565  // String returns the string representation.
  7566  //
  7567  // API parameter values that are decorated as "sensitive" in the API will not
  7568  // be included in the string output. The member name will be present, but the
  7569  // value will be replaced with "sensitive".
  7570  func (s ListAlarmModelsInput) String() string {
  7571  	return awsutil.Prettify(s)
  7572  }
  7573  
  7574  // GoString returns the string representation.
  7575  //
  7576  // API parameter values that are decorated as "sensitive" in the API will not
  7577  // be included in the string output. The member name will be present, but the
  7578  // value will be replaced with "sensitive".
  7579  func (s ListAlarmModelsInput) GoString() string {
  7580  	return s.String()
  7581  }
  7582  
  7583  // Validate inspects the fields of the type to determine if they are valid.
  7584  func (s *ListAlarmModelsInput) Validate() error {
  7585  	invalidParams := request.ErrInvalidParams{Context: "ListAlarmModelsInput"}
  7586  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7587  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7588  	}
  7589  
  7590  	if invalidParams.Len() > 0 {
  7591  		return invalidParams
  7592  	}
  7593  	return nil
  7594  }
  7595  
  7596  // SetMaxResults sets the MaxResults field's value.
  7597  func (s *ListAlarmModelsInput) SetMaxResults(v int64) *ListAlarmModelsInput {
  7598  	s.MaxResults = &v
  7599  	return s
  7600  }
  7601  
  7602  // SetNextToken sets the NextToken field's value.
  7603  func (s *ListAlarmModelsInput) SetNextToken(v string) *ListAlarmModelsInput {
  7604  	s.NextToken = &v
  7605  	return s
  7606  }
  7607  
  7608  type ListAlarmModelsOutput struct {
  7609  	_ struct{} `type:"structure"`
  7610  
  7611  	// A list that summarizes each alarm model.
  7612  	AlarmModelSummaries []*AlarmModelSummary `locationName:"alarmModelSummaries" type:"list"`
  7613  
  7614  	// The token that you can use to return the next set of results, or null if
  7615  	// there are no more results.
  7616  	NextToken *string `locationName:"nextToken" type:"string"`
  7617  }
  7618  
  7619  // String returns the string representation.
  7620  //
  7621  // API parameter values that are decorated as "sensitive" in the API will not
  7622  // be included in the string output. The member name will be present, but the
  7623  // value will be replaced with "sensitive".
  7624  func (s ListAlarmModelsOutput) String() string {
  7625  	return awsutil.Prettify(s)
  7626  }
  7627  
  7628  // GoString returns the string representation.
  7629  //
  7630  // API parameter values that are decorated as "sensitive" in the API will not
  7631  // be included in the string output. The member name will be present, but the
  7632  // value will be replaced with "sensitive".
  7633  func (s ListAlarmModelsOutput) GoString() string {
  7634  	return s.String()
  7635  }
  7636  
  7637  // SetAlarmModelSummaries sets the AlarmModelSummaries field's value.
  7638  func (s *ListAlarmModelsOutput) SetAlarmModelSummaries(v []*AlarmModelSummary) *ListAlarmModelsOutput {
  7639  	s.AlarmModelSummaries = v
  7640  	return s
  7641  }
  7642  
  7643  // SetNextToken sets the NextToken field's value.
  7644  func (s *ListAlarmModelsOutput) SetNextToken(v string) *ListAlarmModelsOutput {
  7645  	s.NextToken = &v
  7646  	return s
  7647  }
  7648  
  7649  type ListDetectorModelVersionsInput struct {
  7650  	_ struct{} `type:"structure" nopayload:"true"`
  7651  
  7652  	// The name of the detector model whose versions are returned.
  7653  	//
  7654  	// DetectorModelName is a required field
  7655  	DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"`
  7656  
  7657  	// The maximum number of results to be returned per request.
  7658  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  7659  
  7660  	// The token that you can use to return the next set of results.
  7661  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7662  }
  7663  
  7664  // String returns the string representation.
  7665  //
  7666  // API parameter values that are decorated as "sensitive" in the API will not
  7667  // be included in the string output. The member name will be present, but the
  7668  // value will be replaced with "sensitive".
  7669  func (s ListDetectorModelVersionsInput) String() string {
  7670  	return awsutil.Prettify(s)
  7671  }
  7672  
  7673  // GoString returns the string representation.
  7674  //
  7675  // API parameter values that are decorated as "sensitive" in the API will not
  7676  // be included in the string output. The member name will be present, but the
  7677  // value will be replaced with "sensitive".
  7678  func (s ListDetectorModelVersionsInput) GoString() string {
  7679  	return s.String()
  7680  }
  7681  
  7682  // Validate inspects the fields of the type to determine if they are valid.
  7683  func (s *ListDetectorModelVersionsInput) Validate() error {
  7684  	invalidParams := request.ErrInvalidParams{Context: "ListDetectorModelVersionsInput"}
  7685  	if s.DetectorModelName == nil {
  7686  		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
  7687  	}
  7688  	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
  7689  		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
  7690  	}
  7691  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7692  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7693  	}
  7694  
  7695  	if invalidParams.Len() > 0 {
  7696  		return invalidParams
  7697  	}
  7698  	return nil
  7699  }
  7700  
  7701  // SetDetectorModelName sets the DetectorModelName field's value.
  7702  func (s *ListDetectorModelVersionsInput) SetDetectorModelName(v string) *ListDetectorModelVersionsInput {
  7703  	s.DetectorModelName = &v
  7704  	return s
  7705  }
  7706  
  7707  // SetMaxResults sets the MaxResults field's value.
  7708  func (s *ListDetectorModelVersionsInput) SetMaxResults(v int64) *ListDetectorModelVersionsInput {
  7709  	s.MaxResults = &v
  7710  	return s
  7711  }
  7712  
  7713  // SetNextToken sets the NextToken field's value.
  7714  func (s *ListDetectorModelVersionsInput) SetNextToken(v string) *ListDetectorModelVersionsInput {
  7715  	s.NextToken = &v
  7716  	return s
  7717  }
  7718  
  7719  type ListDetectorModelVersionsOutput struct {
  7720  	_ struct{} `type:"structure"`
  7721  
  7722  	// Summary information about the detector model versions.
  7723  	DetectorModelVersionSummaries []*DetectorModelVersionSummary `locationName:"detectorModelVersionSummaries" type:"list"`
  7724  
  7725  	// The token that you can use to return the next set of results, or null if
  7726  	// there are no more results.
  7727  	NextToken *string `locationName:"nextToken" type:"string"`
  7728  }
  7729  
  7730  // String returns the string representation.
  7731  //
  7732  // API parameter values that are decorated as "sensitive" in the API will not
  7733  // be included in the string output. The member name will be present, but the
  7734  // value will be replaced with "sensitive".
  7735  func (s ListDetectorModelVersionsOutput) String() string {
  7736  	return awsutil.Prettify(s)
  7737  }
  7738  
  7739  // GoString returns the string representation.
  7740  //
  7741  // API parameter values that are decorated as "sensitive" in the API will not
  7742  // be included in the string output. The member name will be present, but the
  7743  // value will be replaced with "sensitive".
  7744  func (s ListDetectorModelVersionsOutput) GoString() string {
  7745  	return s.String()
  7746  }
  7747  
  7748  // SetDetectorModelVersionSummaries sets the DetectorModelVersionSummaries field's value.
  7749  func (s *ListDetectorModelVersionsOutput) SetDetectorModelVersionSummaries(v []*DetectorModelVersionSummary) *ListDetectorModelVersionsOutput {
  7750  	s.DetectorModelVersionSummaries = v
  7751  	return s
  7752  }
  7753  
  7754  // SetNextToken sets the NextToken field's value.
  7755  func (s *ListDetectorModelVersionsOutput) SetNextToken(v string) *ListDetectorModelVersionsOutput {
  7756  	s.NextToken = &v
  7757  	return s
  7758  }
  7759  
  7760  type ListDetectorModelsInput struct {
  7761  	_ struct{} `type:"structure" nopayload:"true"`
  7762  
  7763  	// The maximum number of results to be returned per request.
  7764  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  7765  
  7766  	// The token that you can use to return the next set of results.
  7767  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7768  }
  7769  
  7770  // String returns the string representation.
  7771  //
  7772  // API parameter values that are decorated as "sensitive" in the API will not
  7773  // be included in the string output. The member name will be present, but the
  7774  // value will be replaced with "sensitive".
  7775  func (s ListDetectorModelsInput) String() string {
  7776  	return awsutil.Prettify(s)
  7777  }
  7778  
  7779  // GoString returns the string representation.
  7780  //
  7781  // API parameter values that are decorated as "sensitive" in the API will not
  7782  // be included in the string output. The member name will be present, but the
  7783  // value will be replaced with "sensitive".
  7784  func (s ListDetectorModelsInput) GoString() string {
  7785  	return s.String()
  7786  }
  7787  
  7788  // Validate inspects the fields of the type to determine if they are valid.
  7789  func (s *ListDetectorModelsInput) Validate() error {
  7790  	invalidParams := request.ErrInvalidParams{Context: "ListDetectorModelsInput"}
  7791  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7792  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7793  	}
  7794  
  7795  	if invalidParams.Len() > 0 {
  7796  		return invalidParams
  7797  	}
  7798  	return nil
  7799  }
  7800  
  7801  // SetMaxResults sets the MaxResults field's value.
  7802  func (s *ListDetectorModelsInput) SetMaxResults(v int64) *ListDetectorModelsInput {
  7803  	s.MaxResults = &v
  7804  	return s
  7805  }
  7806  
  7807  // SetNextToken sets the NextToken field's value.
  7808  func (s *ListDetectorModelsInput) SetNextToken(v string) *ListDetectorModelsInput {
  7809  	s.NextToken = &v
  7810  	return s
  7811  }
  7812  
  7813  type ListDetectorModelsOutput struct {
  7814  	_ struct{} `type:"structure"`
  7815  
  7816  	// Summary information about the detector models.
  7817  	DetectorModelSummaries []*DetectorModelSummary `locationName:"detectorModelSummaries" type:"list"`
  7818  
  7819  	// The token that you can use to return the next set of results, or null if
  7820  	// there are no more results.
  7821  	NextToken *string `locationName:"nextToken" type:"string"`
  7822  }
  7823  
  7824  // String returns the string representation.
  7825  //
  7826  // API parameter values that are decorated as "sensitive" in the API will not
  7827  // be included in the string output. The member name will be present, but the
  7828  // value will be replaced with "sensitive".
  7829  func (s ListDetectorModelsOutput) String() string {
  7830  	return awsutil.Prettify(s)
  7831  }
  7832  
  7833  // GoString returns the string representation.
  7834  //
  7835  // API parameter values that are decorated as "sensitive" in the API will not
  7836  // be included in the string output. The member name will be present, but the
  7837  // value will be replaced with "sensitive".
  7838  func (s ListDetectorModelsOutput) GoString() string {
  7839  	return s.String()
  7840  }
  7841  
  7842  // SetDetectorModelSummaries sets the DetectorModelSummaries field's value.
  7843  func (s *ListDetectorModelsOutput) SetDetectorModelSummaries(v []*DetectorModelSummary) *ListDetectorModelsOutput {
  7844  	s.DetectorModelSummaries = v
  7845  	return s
  7846  }
  7847  
  7848  // SetNextToken sets the NextToken field's value.
  7849  func (s *ListDetectorModelsOutput) SetNextToken(v string) *ListDetectorModelsOutput {
  7850  	s.NextToken = &v
  7851  	return s
  7852  }
  7853  
  7854  type ListInputRoutingsInput struct {
  7855  	_ struct{} `type:"structure"`
  7856  
  7857  	// The identifer of the routed input.
  7858  	//
  7859  	// InputIdentifier is a required field
  7860  	InputIdentifier *InputIdentifier `locationName:"inputIdentifier" type:"structure" required:"true"`
  7861  
  7862  	// The maximum number of results to be returned per request.
  7863  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  7864  
  7865  	// The token that you can use to return the next set of results.
  7866  	NextToken *string `locationName:"nextToken" type:"string"`
  7867  }
  7868  
  7869  // String returns the string representation.
  7870  //
  7871  // API parameter values that are decorated as "sensitive" in the API will not
  7872  // be included in the string output. The member name will be present, but the
  7873  // value will be replaced with "sensitive".
  7874  func (s ListInputRoutingsInput) String() string {
  7875  	return awsutil.Prettify(s)
  7876  }
  7877  
  7878  // GoString returns the string representation.
  7879  //
  7880  // API parameter values that are decorated as "sensitive" in the API will not
  7881  // be included in the string output. The member name will be present, but the
  7882  // value will be replaced with "sensitive".
  7883  func (s ListInputRoutingsInput) GoString() string {
  7884  	return s.String()
  7885  }
  7886  
  7887  // Validate inspects the fields of the type to determine if they are valid.
  7888  func (s *ListInputRoutingsInput) Validate() error {
  7889  	invalidParams := request.ErrInvalidParams{Context: "ListInputRoutingsInput"}
  7890  	if s.InputIdentifier == nil {
  7891  		invalidParams.Add(request.NewErrParamRequired("InputIdentifier"))
  7892  	}
  7893  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7894  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7895  	}
  7896  	if s.InputIdentifier != nil {
  7897  		if err := s.InputIdentifier.Validate(); err != nil {
  7898  			invalidParams.AddNested("InputIdentifier", err.(request.ErrInvalidParams))
  7899  		}
  7900  	}
  7901  
  7902  	if invalidParams.Len() > 0 {
  7903  		return invalidParams
  7904  	}
  7905  	return nil
  7906  }
  7907  
  7908  // SetInputIdentifier sets the InputIdentifier field's value.
  7909  func (s *ListInputRoutingsInput) SetInputIdentifier(v *InputIdentifier) *ListInputRoutingsInput {
  7910  	s.InputIdentifier = v
  7911  	return s
  7912  }
  7913  
  7914  // SetMaxResults sets the MaxResults field's value.
  7915  func (s *ListInputRoutingsInput) SetMaxResults(v int64) *ListInputRoutingsInput {
  7916  	s.MaxResults = &v
  7917  	return s
  7918  }
  7919  
  7920  // SetNextToken sets the NextToken field's value.
  7921  func (s *ListInputRoutingsInput) SetNextToken(v string) *ListInputRoutingsInput {
  7922  	s.NextToken = &v
  7923  	return s
  7924  }
  7925  
  7926  type ListInputRoutingsOutput struct {
  7927  	_ struct{} `type:"structure"`
  7928  
  7929  	// The token that you can use to return the next set of results, or null if
  7930  	// there are no more results.
  7931  	NextToken *string `locationName:"nextToken" type:"string"`
  7932  
  7933  	// Summary information about the routed resources.
  7934  	RoutedResources []*RoutedResource `locationName:"routedResources" type:"list"`
  7935  }
  7936  
  7937  // String returns the string representation.
  7938  //
  7939  // API parameter values that are decorated as "sensitive" in the API will not
  7940  // be included in the string output. The member name will be present, but the
  7941  // value will be replaced with "sensitive".
  7942  func (s ListInputRoutingsOutput) String() string {
  7943  	return awsutil.Prettify(s)
  7944  }
  7945  
  7946  // GoString returns the string representation.
  7947  //
  7948  // API parameter values that are decorated as "sensitive" in the API will not
  7949  // be included in the string output. The member name will be present, but the
  7950  // value will be replaced with "sensitive".
  7951  func (s ListInputRoutingsOutput) GoString() string {
  7952  	return s.String()
  7953  }
  7954  
  7955  // SetNextToken sets the NextToken field's value.
  7956  func (s *ListInputRoutingsOutput) SetNextToken(v string) *ListInputRoutingsOutput {
  7957  	s.NextToken = &v
  7958  	return s
  7959  }
  7960  
  7961  // SetRoutedResources sets the RoutedResources field's value.
  7962  func (s *ListInputRoutingsOutput) SetRoutedResources(v []*RoutedResource) *ListInputRoutingsOutput {
  7963  	s.RoutedResources = v
  7964  	return s
  7965  }
  7966  
  7967  type ListInputsInput struct {
  7968  	_ struct{} `type:"structure" nopayload:"true"`
  7969  
  7970  	// The maximum number of results to be returned per request.
  7971  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  7972  
  7973  	// The token that you can use to return the next set of results.
  7974  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7975  }
  7976  
  7977  // String returns the string representation.
  7978  //
  7979  // API parameter values that are decorated as "sensitive" in the API will not
  7980  // be included in the string output. The member name will be present, but the
  7981  // value will be replaced with "sensitive".
  7982  func (s ListInputsInput) String() string {
  7983  	return awsutil.Prettify(s)
  7984  }
  7985  
  7986  // GoString returns the string representation.
  7987  //
  7988  // API parameter values that are decorated as "sensitive" in the API will not
  7989  // be included in the string output. The member name will be present, but the
  7990  // value will be replaced with "sensitive".
  7991  func (s ListInputsInput) GoString() string {
  7992  	return s.String()
  7993  }
  7994  
  7995  // Validate inspects the fields of the type to determine if they are valid.
  7996  func (s *ListInputsInput) Validate() error {
  7997  	invalidParams := request.ErrInvalidParams{Context: "ListInputsInput"}
  7998  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7999  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8000  	}
  8001  
  8002  	if invalidParams.Len() > 0 {
  8003  		return invalidParams
  8004  	}
  8005  	return nil
  8006  }
  8007  
  8008  // SetMaxResults sets the MaxResults field's value.
  8009  func (s *ListInputsInput) SetMaxResults(v int64) *ListInputsInput {
  8010  	s.MaxResults = &v
  8011  	return s
  8012  }
  8013  
  8014  // SetNextToken sets the NextToken field's value.
  8015  func (s *ListInputsInput) SetNextToken(v string) *ListInputsInput {
  8016  	s.NextToken = &v
  8017  	return s
  8018  }
  8019  
  8020  type ListInputsOutput struct {
  8021  	_ struct{} `type:"structure"`
  8022  
  8023  	// Summary information about the inputs.
  8024  	InputSummaries []*InputSummary `locationName:"inputSummaries" type:"list"`
  8025  
  8026  	// The token that you can use to return the next set of results, or null if
  8027  	// there are no more results.
  8028  	NextToken *string `locationName:"nextToken" type:"string"`
  8029  }
  8030  
  8031  // String returns the string representation.
  8032  //
  8033  // API parameter values that are decorated as "sensitive" in the API will not
  8034  // be included in the string output. The member name will be present, but the
  8035  // value will be replaced with "sensitive".
  8036  func (s ListInputsOutput) String() string {
  8037  	return awsutil.Prettify(s)
  8038  }
  8039  
  8040  // GoString returns the string representation.
  8041  //
  8042  // API parameter values that are decorated as "sensitive" in the API will not
  8043  // be included in the string output. The member name will be present, but the
  8044  // value will be replaced with "sensitive".
  8045  func (s ListInputsOutput) GoString() string {
  8046  	return s.String()
  8047  }
  8048  
  8049  // SetInputSummaries sets the InputSummaries field's value.
  8050  func (s *ListInputsOutput) SetInputSummaries(v []*InputSummary) *ListInputsOutput {
  8051  	s.InputSummaries = v
  8052  	return s
  8053  }
  8054  
  8055  // SetNextToken sets the NextToken field's value.
  8056  func (s *ListInputsOutput) SetNextToken(v string) *ListInputsOutput {
  8057  	s.NextToken = &v
  8058  	return s
  8059  }
  8060  
  8061  type ListTagsForResourceInput struct {
  8062  	_ struct{} `type:"structure" nopayload:"true"`
  8063  
  8064  	// The ARN of the resource.
  8065  	//
  8066  	// ResourceArn is a required field
  8067  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
  8068  }
  8069  
  8070  // String returns the string representation.
  8071  //
  8072  // API parameter values that are decorated as "sensitive" in the API will not
  8073  // be included in the string output. The member name will be present, but the
  8074  // value will be replaced with "sensitive".
  8075  func (s ListTagsForResourceInput) String() string {
  8076  	return awsutil.Prettify(s)
  8077  }
  8078  
  8079  // GoString returns the string representation.
  8080  //
  8081  // API parameter values that are decorated as "sensitive" in the API will not
  8082  // be included in the string output. The member name will be present, but the
  8083  // value will be replaced with "sensitive".
  8084  func (s ListTagsForResourceInput) GoString() string {
  8085  	return s.String()
  8086  }
  8087  
  8088  // Validate inspects the fields of the type to determine if they are valid.
  8089  func (s *ListTagsForResourceInput) Validate() error {
  8090  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  8091  	if s.ResourceArn == nil {
  8092  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8093  	}
  8094  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  8095  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  8096  	}
  8097  
  8098  	if invalidParams.Len() > 0 {
  8099  		return invalidParams
  8100  	}
  8101  	return nil
  8102  }
  8103  
  8104  // SetResourceArn sets the ResourceArn field's value.
  8105  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  8106  	s.ResourceArn = &v
  8107  	return s
  8108  }
  8109  
  8110  type ListTagsForResourceOutput struct {
  8111  	_ struct{} `type:"structure"`
  8112  
  8113  	// The list of tags assigned to the resource.
  8114  	Tags []*Tag `locationName:"tags" type:"list"`
  8115  }
  8116  
  8117  // String returns the string representation.
  8118  //
  8119  // API parameter values that are decorated as "sensitive" in the API will not
  8120  // be included in the string output. The member name will be present, but the
  8121  // value will be replaced with "sensitive".
  8122  func (s ListTagsForResourceOutput) String() string {
  8123  	return awsutil.Prettify(s)
  8124  }
  8125  
  8126  // GoString returns the string representation.
  8127  //
  8128  // API parameter values that are decorated as "sensitive" in the API will not
  8129  // be included in the string output. The member name will be present, but the
  8130  // value will be replaced with "sensitive".
  8131  func (s ListTagsForResourceOutput) GoString() string {
  8132  	return s.String()
  8133  }
  8134  
  8135  // SetTags sets the Tags field's value.
  8136  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  8137  	s.Tags = v
  8138  	return s
  8139  }
  8140  
  8141  // The values of the AWS IoT Events logging options.
  8142  type LoggingOptions struct {
  8143  	_ struct{} `type:"structure"`
  8144  
  8145  	// Information that identifies those detector models and their detectors (instances)
  8146  	// for which the logging level is given.
  8147  	DetectorDebugOptions []*DetectorDebugOption `locationName:"detectorDebugOptions" min:"1" type:"list"`
  8148  
  8149  	// If TRUE, logging is enabled for AWS IoT Events.
  8150  	//
  8151  	// Enabled is a required field
  8152  	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  8153  
  8154  	// The logging level.
  8155  	//
  8156  	// Level is a required field
  8157  	Level *string `locationName:"level" type:"string" required:"true" enum:"LoggingLevel"`
  8158  
  8159  	// The ARN of the role that grants permission to AWS IoT Events to perform logging.
  8160  	//
  8161  	// RoleArn is a required field
  8162  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
  8163  }
  8164  
  8165  // String returns the string representation.
  8166  //
  8167  // API parameter values that are decorated as "sensitive" in the API will not
  8168  // be included in the string output. The member name will be present, but the
  8169  // value will be replaced with "sensitive".
  8170  func (s LoggingOptions) String() string {
  8171  	return awsutil.Prettify(s)
  8172  }
  8173  
  8174  // GoString returns the string representation.
  8175  //
  8176  // API parameter values that are decorated as "sensitive" in the API will not
  8177  // be included in the string output. The member name will be present, but the
  8178  // value will be replaced with "sensitive".
  8179  func (s LoggingOptions) GoString() string {
  8180  	return s.String()
  8181  }
  8182  
  8183  // Validate inspects the fields of the type to determine if they are valid.
  8184  func (s *LoggingOptions) Validate() error {
  8185  	invalidParams := request.ErrInvalidParams{Context: "LoggingOptions"}
  8186  	if s.DetectorDebugOptions != nil && len(s.DetectorDebugOptions) < 1 {
  8187  		invalidParams.Add(request.NewErrParamMinLen("DetectorDebugOptions", 1))
  8188  	}
  8189  	if s.Enabled == nil {
  8190  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  8191  	}
  8192  	if s.Level == nil {
  8193  		invalidParams.Add(request.NewErrParamRequired("Level"))
  8194  	}
  8195  	if s.RoleArn == nil {
  8196  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  8197  	}
  8198  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
  8199  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
  8200  	}
  8201  	if s.DetectorDebugOptions != nil {
  8202  		for i, v := range s.DetectorDebugOptions {
  8203  			if v == nil {
  8204  				continue
  8205  			}
  8206  			if err := v.Validate(); err != nil {
  8207  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DetectorDebugOptions", i), err.(request.ErrInvalidParams))
  8208  			}
  8209  		}
  8210  	}
  8211  
  8212  	if invalidParams.Len() > 0 {
  8213  		return invalidParams
  8214  	}
  8215  	return nil
  8216  }
  8217  
  8218  // SetDetectorDebugOptions sets the DetectorDebugOptions field's value.
  8219  func (s *LoggingOptions) SetDetectorDebugOptions(v []*DetectorDebugOption) *LoggingOptions {
  8220  	s.DetectorDebugOptions = v
  8221  	return s
  8222  }
  8223  
  8224  // SetEnabled sets the Enabled field's value.
  8225  func (s *LoggingOptions) SetEnabled(v bool) *LoggingOptions {
  8226  	s.Enabled = &v
  8227  	return s
  8228  }
  8229  
  8230  // SetLevel sets the Level field's value.
  8231  func (s *LoggingOptions) SetLevel(v string) *LoggingOptions {
  8232  	s.Level = &v
  8233  	return s
  8234  }
  8235  
  8236  // SetRoleArn sets the RoleArn field's value.
  8237  func (s *LoggingOptions) SetRoleArn(v string) *LoggingOptions {
  8238  	s.RoleArn = &v
  8239  	return s
  8240  }
  8241  
  8242  // Contains the notification settings of an alarm model. The settings apply
  8243  // to all alarms that were created based on this alarm model.
  8244  type NotificationAction struct {
  8245  	_ struct{} `type:"structure"`
  8246  
  8247  	// Specifies an AWS Lambda function to manage alarm notifications. You can create
  8248  	// one or use the AWS Lambda function provided by AWS IoT Events (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html).
  8249  	//
  8250  	// Action is a required field
  8251  	Action *NotificationTargetActions `locationName:"action" type:"structure" required:"true"`
  8252  
  8253  	// Contains the configuration information of email notifications.
  8254  	EmailConfigurations []*EmailConfiguration `locationName:"emailConfigurations" min:"1" type:"list"`
  8255  
  8256  	// Contains the configuration information of SMS notifications.
  8257  	SmsConfigurations []*SMSConfiguration `locationName:"smsConfigurations" min:"1" type:"list"`
  8258  }
  8259  
  8260  // String returns the string representation.
  8261  //
  8262  // API parameter values that are decorated as "sensitive" in the API will not
  8263  // be included in the string output. The member name will be present, but the
  8264  // value will be replaced with "sensitive".
  8265  func (s NotificationAction) String() string {
  8266  	return awsutil.Prettify(s)
  8267  }
  8268  
  8269  // GoString returns the string representation.
  8270  //
  8271  // API parameter values that are decorated as "sensitive" in the API will not
  8272  // be included in the string output. The member name will be present, but the
  8273  // value will be replaced with "sensitive".
  8274  func (s NotificationAction) GoString() string {
  8275  	return s.String()
  8276  }
  8277  
  8278  // Validate inspects the fields of the type to determine if they are valid.
  8279  func (s *NotificationAction) Validate() error {
  8280  	invalidParams := request.ErrInvalidParams{Context: "NotificationAction"}
  8281  	if s.Action == nil {
  8282  		invalidParams.Add(request.NewErrParamRequired("Action"))
  8283  	}
  8284  	if s.EmailConfigurations != nil && len(s.EmailConfigurations) < 1 {
  8285  		invalidParams.Add(request.NewErrParamMinLen("EmailConfigurations", 1))
  8286  	}
  8287  	if s.SmsConfigurations != nil && len(s.SmsConfigurations) < 1 {
  8288  		invalidParams.Add(request.NewErrParamMinLen("SmsConfigurations", 1))
  8289  	}
  8290  	if s.Action != nil {
  8291  		if err := s.Action.Validate(); err != nil {
  8292  			invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
  8293  		}
  8294  	}
  8295  	if s.EmailConfigurations != nil {
  8296  		for i, v := range s.EmailConfigurations {
  8297  			if v == nil {
  8298  				continue
  8299  			}
  8300  			if err := v.Validate(); err != nil {
  8301  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EmailConfigurations", i), err.(request.ErrInvalidParams))
  8302  			}
  8303  		}
  8304  	}
  8305  	if s.SmsConfigurations != nil {
  8306  		for i, v := range s.SmsConfigurations {
  8307  			if v == nil {
  8308  				continue
  8309  			}
  8310  			if err := v.Validate(); err != nil {
  8311  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SmsConfigurations", i), err.(request.ErrInvalidParams))
  8312  			}
  8313  		}
  8314  	}
  8315  
  8316  	if invalidParams.Len() > 0 {
  8317  		return invalidParams
  8318  	}
  8319  	return nil
  8320  }
  8321  
  8322  // SetAction sets the Action field's value.
  8323  func (s *NotificationAction) SetAction(v *NotificationTargetActions) *NotificationAction {
  8324  	s.Action = v
  8325  	return s
  8326  }
  8327  
  8328  // SetEmailConfigurations sets the EmailConfigurations field's value.
  8329  func (s *NotificationAction) SetEmailConfigurations(v []*EmailConfiguration) *NotificationAction {
  8330  	s.EmailConfigurations = v
  8331  	return s
  8332  }
  8333  
  8334  // SetSmsConfigurations sets the SmsConfigurations field's value.
  8335  func (s *NotificationAction) SetSmsConfigurations(v []*SMSConfiguration) *NotificationAction {
  8336  	s.SmsConfigurations = v
  8337  	return s
  8338  }
  8339  
  8340  // Specifies an AWS Lambda function to manage alarm notifications. You can create
  8341  // one or use the AWS Lambda function provided by AWS IoT Events (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html).
  8342  type NotificationTargetActions struct {
  8343  	_ struct{} `type:"structure"`
  8344  
  8345  	// Calls a Lambda function, passing in information about the detector model
  8346  	// instance and the event that triggered the action.
  8347  	LambdaAction *LambdaAction `locationName:"lambdaAction" type:"structure"`
  8348  }
  8349  
  8350  // String returns the string representation.
  8351  //
  8352  // API parameter values that are decorated as "sensitive" in the API will not
  8353  // be included in the string output. The member name will be present, but the
  8354  // value will be replaced with "sensitive".
  8355  func (s NotificationTargetActions) String() string {
  8356  	return awsutil.Prettify(s)
  8357  }
  8358  
  8359  // GoString returns the string representation.
  8360  //
  8361  // API parameter values that are decorated as "sensitive" in the API will not
  8362  // be included in the string output. The member name will be present, but the
  8363  // value will be replaced with "sensitive".
  8364  func (s NotificationTargetActions) GoString() string {
  8365  	return s.String()
  8366  }
  8367  
  8368  // Validate inspects the fields of the type to determine if they are valid.
  8369  func (s *NotificationTargetActions) Validate() error {
  8370  	invalidParams := request.ErrInvalidParams{Context: "NotificationTargetActions"}
  8371  	if s.LambdaAction != nil {
  8372  		if err := s.LambdaAction.Validate(); err != nil {
  8373  			invalidParams.AddNested("LambdaAction", err.(request.ErrInvalidParams))
  8374  		}
  8375  	}
  8376  
  8377  	if invalidParams.Len() > 0 {
  8378  		return invalidParams
  8379  	}
  8380  	return nil
  8381  }
  8382  
  8383  // SetLambdaAction sets the LambdaAction field's value.
  8384  func (s *NotificationTargetActions) SetLambdaAction(v *LambdaAction) *NotificationTargetActions {
  8385  	s.LambdaAction = v
  8386  	return s
  8387  }
  8388  
  8389  // When entering this state, perform these actions if the condition is TRUE.
  8390  type OnEnterLifecycle struct {
  8391  	_ struct{} `type:"structure"`
  8392  
  8393  	// Specifies the actions that are performed when the state is entered and the
  8394  	// condition is TRUE.
  8395  	Events []*Event `locationName:"events" type:"list"`
  8396  }
  8397  
  8398  // String returns the string representation.
  8399  //
  8400  // API parameter values that are decorated as "sensitive" in the API will not
  8401  // be included in the string output. The member name will be present, but the
  8402  // value will be replaced with "sensitive".
  8403  func (s OnEnterLifecycle) String() string {
  8404  	return awsutil.Prettify(s)
  8405  }
  8406  
  8407  // GoString returns the string representation.
  8408  //
  8409  // API parameter values that are decorated as "sensitive" in the API will not
  8410  // be included in the string output. The member name will be present, but the
  8411  // value will be replaced with "sensitive".
  8412  func (s OnEnterLifecycle) GoString() string {
  8413  	return s.String()
  8414  }
  8415  
  8416  // Validate inspects the fields of the type to determine if they are valid.
  8417  func (s *OnEnterLifecycle) Validate() error {
  8418  	invalidParams := request.ErrInvalidParams{Context: "OnEnterLifecycle"}
  8419  	if s.Events != nil {
  8420  		for i, v := range s.Events {
  8421  			if v == nil {
  8422  				continue
  8423  			}
  8424  			if err := v.Validate(); err != nil {
  8425  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
  8426  			}
  8427  		}
  8428  	}
  8429  
  8430  	if invalidParams.Len() > 0 {
  8431  		return invalidParams
  8432  	}
  8433  	return nil
  8434  }
  8435  
  8436  // SetEvents sets the Events field's value.
  8437  func (s *OnEnterLifecycle) SetEvents(v []*Event) *OnEnterLifecycle {
  8438  	s.Events = v
  8439  	return s
  8440  }
  8441  
  8442  // When exiting this state, perform these actions if the specified condition
  8443  // is TRUE.
  8444  type OnExitLifecycle struct {
  8445  	_ struct{} `type:"structure"`
  8446  
  8447  	// Specifies the actions that are performed when the state is exited and the
  8448  	// condition is TRUE.
  8449  	Events []*Event `locationName:"events" type:"list"`
  8450  }
  8451  
  8452  // String returns the string representation.
  8453  //
  8454  // API parameter values that are decorated as "sensitive" in the API will not
  8455  // be included in the string output. The member name will be present, but the
  8456  // value will be replaced with "sensitive".
  8457  func (s OnExitLifecycle) String() string {
  8458  	return awsutil.Prettify(s)
  8459  }
  8460  
  8461  // GoString returns the string representation.
  8462  //
  8463  // API parameter values that are decorated as "sensitive" in the API will not
  8464  // be included in the string output. The member name will be present, but the
  8465  // value will be replaced with "sensitive".
  8466  func (s OnExitLifecycle) GoString() string {
  8467  	return s.String()
  8468  }
  8469  
  8470  // Validate inspects the fields of the type to determine if they are valid.
  8471  func (s *OnExitLifecycle) Validate() error {
  8472  	invalidParams := request.ErrInvalidParams{Context: "OnExitLifecycle"}
  8473  	if s.Events != nil {
  8474  		for i, v := range s.Events {
  8475  			if v == nil {
  8476  				continue
  8477  			}
  8478  			if err := v.Validate(); err != nil {
  8479  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
  8480  			}
  8481  		}
  8482  	}
  8483  
  8484  	if invalidParams.Len() > 0 {
  8485  		return invalidParams
  8486  	}
  8487  	return nil
  8488  }
  8489  
  8490  // SetEvents sets the Events field's value.
  8491  func (s *OnExitLifecycle) SetEvents(v []*Event) *OnExitLifecycle {
  8492  	s.Events = v
  8493  	return s
  8494  }
  8495  
  8496  // Specifies the actions performed when the condition evaluates to TRUE.
  8497  type OnInputLifecycle struct {
  8498  	_ struct{} `type:"structure"`
  8499  
  8500  	// Specifies the actions performed when the condition evaluates to TRUE.
  8501  	Events []*Event `locationName:"events" type:"list"`
  8502  
  8503  	// Specifies the actions performed, and the next state entered, when a condition
  8504  	// evaluates to TRUE.
  8505  	TransitionEvents []*TransitionEvent `locationName:"transitionEvents" type:"list"`
  8506  }
  8507  
  8508  // String returns the string representation.
  8509  //
  8510  // API parameter values that are decorated as "sensitive" in the API will not
  8511  // be included in the string output. The member name will be present, but the
  8512  // value will be replaced with "sensitive".
  8513  func (s OnInputLifecycle) String() string {
  8514  	return awsutil.Prettify(s)
  8515  }
  8516  
  8517  // GoString returns the string representation.
  8518  //
  8519  // API parameter values that are decorated as "sensitive" in the API will not
  8520  // be included in the string output. The member name will be present, but the
  8521  // value will be replaced with "sensitive".
  8522  func (s OnInputLifecycle) GoString() string {
  8523  	return s.String()
  8524  }
  8525  
  8526  // Validate inspects the fields of the type to determine if they are valid.
  8527  func (s *OnInputLifecycle) Validate() error {
  8528  	invalidParams := request.ErrInvalidParams{Context: "OnInputLifecycle"}
  8529  	if s.Events != nil {
  8530  		for i, v := range s.Events {
  8531  			if v == nil {
  8532  				continue
  8533  			}
  8534  			if err := v.Validate(); err != nil {
  8535  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
  8536  			}
  8537  		}
  8538  	}
  8539  	if s.TransitionEvents != nil {
  8540  		for i, v := range s.TransitionEvents {
  8541  			if v == nil {
  8542  				continue
  8543  			}
  8544  			if err := v.Validate(); err != nil {
  8545  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransitionEvents", i), err.(request.ErrInvalidParams))
  8546  			}
  8547  		}
  8548  	}
  8549  
  8550  	if invalidParams.Len() > 0 {
  8551  		return invalidParams
  8552  	}
  8553  	return nil
  8554  }
  8555  
  8556  // SetEvents sets the Events field's value.
  8557  func (s *OnInputLifecycle) SetEvents(v []*Event) *OnInputLifecycle {
  8558  	s.Events = v
  8559  	return s
  8560  }
  8561  
  8562  // SetTransitionEvents sets the TransitionEvents field's value.
  8563  func (s *OnInputLifecycle) SetTransitionEvents(v []*TransitionEvent) *OnInputLifecycle {
  8564  	s.TransitionEvents = v
  8565  	return s
  8566  }
  8567  
  8568  // Information needed to configure the payload.
  8569  //
  8570  // By default, AWS IoT Events generates a standard payload in JSON for any action.
  8571  // This action payload contains all attribute-value pairs that have the information
  8572  // about the detector model instance and the event triggered the action. To
  8573  // configure the action payload, you can use contentExpression.
  8574  type Payload struct {
  8575  	_ struct{} `type:"structure"`
  8576  
  8577  	// The content of the payload. You can use a string expression that includes
  8578  	// quoted strings ('<string>'), variables ($variable.<variable-name>), input
  8579  	// values ($input.<input-name>.<path-to-datum>), string concatenations, and
  8580  	// quoted strings that contain ${} as the content. The recommended maximum size
  8581  	// of a content expression is 1 KB.
  8582  	//
  8583  	// ContentExpression is a required field
  8584  	ContentExpression *string `locationName:"contentExpression" min:"1" type:"string" required:"true"`
  8585  
  8586  	// The value of the payload type can be either STRING or JSON.
  8587  	//
  8588  	// Type is a required field
  8589  	Type *string `locationName:"type" type:"string" required:"true" enum:"PayloadType"`
  8590  }
  8591  
  8592  // String returns the string representation.
  8593  //
  8594  // API parameter values that are decorated as "sensitive" in the API will not
  8595  // be included in the string output. The member name will be present, but the
  8596  // value will be replaced with "sensitive".
  8597  func (s Payload) String() string {
  8598  	return awsutil.Prettify(s)
  8599  }
  8600  
  8601  // GoString returns the string representation.
  8602  //
  8603  // API parameter values that are decorated as "sensitive" in the API will not
  8604  // be included in the string output. The member name will be present, but the
  8605  // value will be replaced with "sensitive".
  8606  func (s Payload) GoString() string {
  8607  	return s.String()
  8608  }
  8609  
  8610  // Validate inspects the fields of the type to determine if they are valid.
  8611  func (s *Payload) Validate() error {
  8612  	invalidParams := request.ErrInvalidParams{Context: "Payload"}
  8613  	if s.ContentExpression == nil {
  8614  		invalidParams.Add(request.NewErrParamRequired("ContentExpression"))
  8615  	}
  8616  	if s.ContentExpression != nil && len(*s.ContentExpression) < 1 {
  8617  		invalidParams.Add(request.NewErrParamMinLen("ContentExpression", 1))
  8618  	}
  8619  	if s.Type == nil {
  8620  		invalidParams.Add(request.NewErrParamRequired("Type"))
  8621  	}
  8622  
  8623  	if invalidParams.Len() > 0 {
  8624  		return invalidParams
  8625  	}
  8626  	return nil
  8627  }
  8628  
  8629  // SetContentExpression sets the ContentExpression field's value.
  8630  func (s *Payload) SetContentExpression(v string) *Payload {
  8631  	s.ContentExpression = &v
  8632  	return s
  8633  }
  8634  
  8635  // SetType sets the Type field's value.
  8636  func (s *Payload) SetType(v string) *Payload {
  8637  	s.Type = &v
  8638  	return s
  8639  }
  8640  
  8641  type PutLoggingOptionsInput struct {
  8642  	_ struct{} `type:"structure"`
  8643  
  8644  	// The new values of the AWS IoT Events logging options.
  8645  	//
  8646  	// LoggingOptions is a required field
  8647  	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure" required:"true"`
  8648  }
  8649  
  8650  // String returns the string representation.
  8651  //
  8652  // API parameter values that are decorated as "sensitive" in the API will not
  8653  // be included in the string output. The member name will be present, but the
  8654  // value will be replaced with "sensitive".
  8655  func (s PutLoggingOptionsInput) String() string {
  8656  	return awsutil.Prettify(s)
  8657  }
  8658  
  8659  // GoString returns the string representation.
  8660  //
  8661  // API parameter values that are decorated as "sensitive" in the API will not
  8662  // be included in the string output. The member name will be present, but the
  8663  // value will be replaced with "sensitive".
  8664  func (s PutLoggingOptionsInput) GoString() string {
  8665  	return s.String()
  8666  }
  8667  
  8668  // Validate inspects the fields of the type to determine if they are valid.
  8669  func (s *PutLoggingOptionsInput) Validate() error {
  8670  	invalidParams := request.ErrInvalidParams{Context: "PutLoggingOptionsInput"}
  8671  	if s.LoggingOptions == nil {
  8672  		invalidParams.Add(request.NewErrParamRequired("LoggingOptions"))
  8673  	}
  8674  	if s.LoggingOptions != nil {
  8675  		if err := s.LoggingOptions.Validate(); err != nil {
  8676  			invalidParams.AddNested("LoggingOptions", err.(request.ErrInvalidParams))
  8677  		}
  8678  	}
  8679  
  8680  	if invalidParams.Len() > 0 {
  8681  		return invalidParams
  8682  	}
  8683  	return nil
  8684  }
  8685  
  8686  // SetLoggingOptions sets the LoggingOptions field's value.
  8687  func (s *PutLoggingOptionsInput) SetLoggingOptions(v *LoggingOptions) *PutLoggingOptionsInput {
  8688  	s.LoggingOptions = v
  8689  	return s
  8690  }
  8691  
  8692  type PutLoggingOptionsOutput struct {
  8693  	_ struct{} `type:"structure" nopayload:"true"`
  8694  }
  8695  
  8696  // String returns the string representation.
  8697  //
  8698  // API parameter values that are decorated as "sensitive" in the API will not
  8699  // be included in the string output. The member name will be present, but the
  8700  // value will be replaced with "sensitive".
  8701  func (s PutLoggingOptionsOutput) String() string {
  8702  	return awsutil.Prettify(s)
  8703  }
  8704  
  8705  // GoString returns the string representation.
  8706  //
  8707  // API parameter values that are decorated as "sensitive" in the API will not
  8708  // be included in the string output. The member name will be present, but the
  8709  // value will be replaced with "sensitive".
  8710  func (s PutLoggingOptionsOutput) GoString() string {
  8711  	return s.String()
  8712  }
  8713  
  8714  // The information that identifies the recipient.
  8715  type RecipientDetail struct {
  8716  	_ struct{} `type:"structure"`
  8717  
  8718  	// The AWS Single Sign-On (AWS SSO) authentication information.
  8719  	SsoIdentity *SSOIdentity `locationName:"ssoIdentity" type:"structure"`
  8720  }
  8721  
  8722  // String returns the string representation.
  8723  //
  8724  // API parameter values that are decorated as "sensitive" in the API will not
  8725  // be included in the string output. The member name will be present, but the
  8726  // value will be replaced with "sensitive".
  8727  func (s RecipientDetail) String() string {
  8728  	return awsutil.Prettify(s)
  8729  }
  8730  
  8731  // GoString returns the string representation.
  8732  //
  8733  // API parameter values that are decorated as "sensitive" in the API will not
  8734  // be included in the string output. The member name will be present, but the
  8735  // value will be replaced with "sensitive".
  8736  func (s RecipientDetail) GoString() string {
  8737  	return s.String()
  8738  }
  8739  
  8740  // Validate inspects the fields of the type to determine if they are valid.
  8741  func (s *RecipientDetail) Validate() error {
  8742  	invalidParams := request.ErrInvalidParams{Context: "RecipientDetail"}
  8743  	if s.SsoIdentity != nil {
  8744  		if err := s.SsoIdentity.Validate(); err != nil {
  8745  			invalidParams.AddNested("SsoIdentity", err.(request.ErrInvalidParams))
  8746  		}
  8747  	}
  8748  
  8749  	if invalidParams.Len() > 0 {
  8750  		return invalidParams
  8751  	}
  8752  	return nil
  8753  }
  8754  
  8755  // SetSsoIdentity sets the SsoIdentity field's value.
  8756  func (s *RecipientDetail) SetSsoIdentity(v *SSOIdentity) *RecipientDetail {
  8757  	s.SsoIdentity = v
  8758  	return s
  8759  }
  8760  
  8761  // Information required to reset the timer. The timer is reset to the previously
  8762  // evaluated result of the duration. The duration expression isn't reevaluated
  8763  // when you reset the timer.
  8764  type ResetTimerAction struct {
  8765  	_ struct{} `type:"structure"`
  8766  
  8767  	// The name of the timer to reset.
  8768  	//
  8769  	// TimerName is a required field
  8770  	TimerName *string `locationName:"timerName" min:"1" type:"string" required:"true"`
  8771  }
  8772  
  8773  // String returns the string representation.
  8774  //
  8775  // API parameter values that are decorated as "sensitive" in the API will not
  8776  // be included in the string output. The member name will be present, but the
  8777  // value will be replaced with "sensitive".
  8778  func (s ResetTimerAction) String() string {
  8779  	return awsutil.Prettify(s)
  8780  }
  8781  
  8782  // GoString returns the string representation.
  8783  //
  8784  // API parameter values that are decorated as "sensitive" in the API will not
  8785  // be included in the string output. The member name will be present, but the
  8786  // value will be replaced with "sensitive".
  8787  func (s ResetTimerAction) GoString() string {
  8788  	return s.String()
  8789  }
  8790  
  8791  // Validate inspects the fields of the type to determine if they are valid.
  8792  func (s *ResetTimerAction) Validate() error {
  8793  	invalidParams := request.ErrInvalidParams{Context: "ResetTimerAction"}
  8794  	if s.TimerName == nil {
  8795  		invalidParams.Add(request.NewErrParamRequired("TimerName"))
  8796  	}
  8797  	if s.TimerName != nil && len(*s.TimerName) < 1 {
  8798  		invalidParams.Add(request.NewErrParamMinLen("TimerName", 1))
  8799  	}
  8800  
  8801  	if invalidParams.Len() > 0 {
  8802  		return invalidParams
  8803  	}
  8804  	return nil
  8805  }
  8806  
  8807  // SetTimerName sets the TimerName field's value.
  8808  func (s *ResetTimerAction) SetTimerName(v string) *ResetTimerAction {
  8809  	s.TimerName = &v
  8810  	return s
  8811  }
  8812  
  8813  // The resource already exists.
  8814  type ResourceAlreadyExistsException struct {
  8815  	_            struct{}                  `type:"structure"`
  8816  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8817  
  8818  	// The message for the exception.
  8819  	Message_ *string `locationName:"message" type:"string"`
  8820  
  8821  	// The ARN of the resource.
  8822  	ResourceArn *string `locationName:"resourceArn" type:"string"`
  8823  
  8824  	// The ID of the resource.
  8825  	ResourceId *string `locationName:"resourceId" type:"string"`
  8826  }
  8827  
  8828  // String returns the string representation.
  8829  //
  8830  // API parameter values that are decorated as "sensitive" in the API will not
  8831  // be included in the string output. The member name will be present, but the
  8832  // value will be replaced with "sensitive".
  8833  func (s ResourceAlreadyExistsException) String() string {
  8834  	return awsutil.Prettify(s)
  8835  }
  8836  
  8837  // GoString returns the string representation.
  8838  //
  8839  // API parameter values that are decorated as "sensitive" in the API will not
  8840  // be included in the string output. The member name will be present, but the
  8841  // value will be replaced with "sensitive".
  8842  func (s ResourceAlreadyExistsException) GoString() string {
  8843  	return s.String()
  8844  }
  8845  
  8846  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
  8847  	return &ResourceAlreadyExistsException{
  8848  		RespMetadata: v,
  8849  	}
  8850  }
  8851  
  8852  // Code returns the exception type name.
  8853  func (s *ResourceAlreadyExistsException) Code() string {
  8854  	return "ResourceAlreadyExistsException"
  8855  }
  8856  
  8857  // Message returns the exception's message.
  8858  func (s *ResourceAlreadyExistsException) Message() string {
  8859  	if s.Message_ != nil {
  8860  		return *s.Message_
  8861  	}
  8862  	return ""
  8863  }
  8864  
  8865  // OrigErr always returns nil, satisfies awserr.Error interface.
  8866  func (s *ResourceAlreadyExistsException) OrigErr() error {
  8867  	return nil
  8868  }
  8869  
  8870  func (s *ResourceAlreadyExistsException) Error() string {
  8871  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8872  }
  8873  
  8874  // Status code returns the HTTP status code for the request's response error.
  8875  func (s *ResourceAlreadyExistsException) StatusCode() int {
  8876  	return s.RespMetadata.StatusCode
  8877  }
  8878  
  8879  // RequestID returns the service's response RequestID for request.
  8880  func (s *ResourceAlreadyExistsException) RequestID() string {
  8881  	return s.RespMetadata.RequestID
  8882  }
  8883  
  8884  // The resource is in use.
  8885  type ResourceInUseException struct {
  8886  	_            struct{}                  `type:"structure"`
  8887  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8888  
  8889  	// The message for the exception.
  8890  	Message_ *string `locationName:"message" type:"string"`
  8891  }
  8892  
  8893  // String returns the string representation.
  8894  //
  8895  // API parameter values that are decorated as "sensitive" in the API will not
  8896  // be included in the string output. The member name will be present, but the
  8897  // value will be replaced with "sensitive".
  8898  func (s ResourceInUseException) String() string {
  8899  	return awsutil.Prettify(s)
  8900  }
  8901  
  8902  // GoString returns the string representation.
  8903  //
  8904  // API parameter values that are decorated as "sensitive" in the API will not
  8905  // be included in the string output. The member name will be present, but the
  8906  // value will be replaced with "sensitive".
  8907  func (s ResourceInUseException) GoString() string {
  8908  	return s.String()
  8909  }
  8910  
  8911  func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
  8912  	return &ResourceInUseException{
  8913  		RespMetadata: v,
  8914  	}
  8915  }
  8916  
  8917  // Code returns the exception type name.
  8918  func (s *ResourceInUseException) Code() string {
  8919  	return "ResourceInUseException"
  8920  }
  8921  
  8922  // Message returns the exception's message.
  8923  func (s *ResourceInUseException) Message() string {
  8924  	if s.Message_ != nil {
  8925  		return *s.Message_
  8926  	}
  8927  	return ""
  8928  }
  8929  
  8930  // OrigErr always returns nil, satisfies awserr.Error interface.
  8931  func (s *ResourceInUseException) OrigErr() error {
  8932  	return nil
  8933  }
  8934  
  8935  func (s *ResourceInUseException) Error() string {
  8936  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8937  }
  8938  
  8939  // Status code returns the HTTP status code for the request's response error.
  8940  func (s *ResourceInUseException) StatusCode() int {
  8941  	return s.RespMetadata.StatusCode
  8942  }
  8943  
  8944  // RequestID returns the service's response RequestID for request.
  8945  func (s *ResourceInUseException) RequestID() string {
  8946  	return s.RespMetadata.RequestID
  8947  }
  8948  
  8949  // The resource was not found.
  8950  type ResourceNotFoundException struct {
  8951  	_            struct{}                  `type:"structure"`
  8952  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8953  
  8954  	// The message for the exception.
  8955  	Message_ *string `locationName:"message" type:"string"`
  8956  }
  8957  
  8958  // String returns the string representation.
  8959  //
  8960  // API parameter values that are decorated as "sensitive" in the API will not
  8961  // be included in the string output. The member name will be present, but the
  8962  // value will be replaced with "sensitive".
  8963  func (s ResourceNotFoundException) String() string {
  8964  	return awsutil.Prettify(s)
  8965  }
  8966  
  8967  // GoString returns the string representation.
  8968  //
  8969  // API parameter values that are decorated as "sensitive" in the API will not
  8970  // be included in the string output. The member name will be present, but the
  8971  // value will be replaced with "sensitive".
  8972  func (s ResourceNotFoundException) GoString() string {
  8973  	return s.String()
  8974  }
  8975  
  8976  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  8977  	return &ResourceNotFoundException{
  8978  		RespMetadata: v,
  8979  	}
  8980  }
  8981  
  8982  // Code returns the exception type name.
  8983  func (s *ResourceNotFoundException) Code() string {
  8984  	return "ResourceNotFoundException"
  8985  }
  8986  
  8987  // Message returns the exception's message.
  8988  func (s *ResourceNotFoundException) Message() string {
  8989  	if s.Message_ != nil {
  8990  		return *s.Message_
  8991  	}
  8992  	return ""
  8993  }
  8994  
  8995  // OrigErr always returns nil, satisfies awserr.Error interface.
  8996  func (s *ResourceNotFoundException) OrigErr() error {
  8997  	return nil
  8998  }
  8999  
  9000  func (s *ResourceNotFoundException) Error() string {
  9001  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9002  }
  9003  
  9004  // Status code returns the HTTP status code for the request's response error.
  9005  func (s *ResourceNotFoundException) StatusCode() int {
  9006  	return s.RespMetadata.StatusCode
  9007  }
  9008  
  9009  // RequestID returns the service's response RequestID for request.
  9010  func (s *ResourceNotFoundException) RequestID() string {
  9011  	return s.RespMetadata.RequestID
  9012  }
  9013  
  9014  // Contains information about the routed resource.
  9015  type RoutedResource struct {
  9016  	_ struct{} `type:"structure"`
  9017  
  9018  	// The ARN of the routed resource. For more information, see Amazon Resource
  9019  	// Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  9020  	// in the AWS General Reference.
  9021  	Arn *string `locationName:"arn" min:"1" type:"string"`
  9022  
  9023  	// The name of the routed resource.
  9024  	Name *string `locationName:"name" type:"string"`
  9025  }
  9026  
  9027  // String returns the string representation.
  9028  //
  9029  // API parameter values that are decorated as "sensitive" in the API will not
  9030  // be included in the string output. The member name will be present, but the
  9031  // value will be replaced with "sensitive".
  9032  func (s RoutedResource) String() string {
  9033  	return awsutil.Prettify(s)
  9034  }
  9035  
  9036  // GoString returns the string representation.
  9037  //
  9038  // API parameter values that are decorated as "sensitive" in the API will not
  9039  // be included in the string output. The member name will be present, but the
  9040  // value will be replaced with "sensitive".
  9041  func (s RoutedResource) GoString() string {
  9042  	return s.String()
  9043  }
  9044  
  9045  // SetArn sets the Arn field's value.
  9046  func (s *RoutedResource) SetArn(v string) *RoutedResource {
  9047  	s.Arn = &v
  9048  	return s
  9049  }
  9050  
  9051  // SetName sets the Name field's value.
  9052  func (s *RoutedResource) SetName(v string) *RoutedResource {
  9053  	s.Name = &v
  9054  	return s
  9055  }
  9056  
  9057  // Contains the configuration information of SMS notifications.
  9058  type SMSConfiguration struct {
  9059  	_ struct{} `type:"structure"`
  9060  
  9061  	// The message that you want to send. The message can be up to 200 characters.
  9062  	AdditionalMessage *string `locationName:"additionalMessage" type:"string"`
  9063  
  9064  	// Specifies one or more recipients who receive the message.
  9065  	//
  9066  	// You must add the users that receive SMS messages to your AWS SSO store (https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html).
  9067  	//
  9068  	// Recipients is a required field
  9069  	Recipients []*RecipientDetail `locationName:"recipients" min:"1" type:"list" required:"true"`
  9070  
  9071  	// The sender ID.
  9072  	SenderId *string `locationName:"senderId" type:"string"`
  9073  }
  9074  
  9075  // String returns the string representation.
  9076  //
  9077  // API parameter values that are decorated as "sensitive" in the API will not
  9078  // be included in the string output. The member name will be present, but the
  9079  // value will be replaced with "sensitive".
  9080  func (s SMSConfiguration) String() string {
  9081  	return awsutil.Prettify(s)
  9082  }
  9083  
  9084  // GoString returns the string representation.
  9085  //
  9086  // API parameter values that are decorated as "sensitive" in the API will not
  9087  // be included in the string output. The member name will be present, but the
  9088  // value will be replaced with "sensitive".
  9089  func (s SMSConfiguration) GoString() string {
  9090  	return s.String()
  9091  }
  9092  
  9093  // Validate inspects the fields of the type to determine if they are valid.
  9094  func (s *SMSConfiguration) Validate() error {
  9095  	invalidParams := request.ErrInvalidParams{Context: "SMSConfiguration"}
  9096  	if s.Recipients == nil {
  9097  		invalidParams.Add(request.NewErrParamRequired("Recipients"))
  9098  	}
  9099  	if s.Recipients != nil && len(s.Recipients) < 1 {
  9100  		invalidParams.Add(request.NewErrParamMinLen("Recipients", 1))
  9101  	}
  9102  	if s.Recipients != nil {
  9103  		for i, v := range s.Recipients {
  9104  			if v == nil {
  9105  				continue
  9106  			}
  9107  			if err := v.Validate(); err != nil {
  9108  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Recipients", i), err.(request.ErrInvalidParams))
  9109  			}
  9110  		}
  9111  	}
  9112  
  9113  	if invalidParams.Len() > 0 {
  9114  		return invalidParams
  9115  	}
  9116  	return nil
  9117  }
  9118  
  9119  // SetAdditionalMessage sets the AdditionalMessage field's value.
  9120  func (s *SMSConfiguration) SetAdditionalMessage(v string) *SMSConfiguration {
  9121  	s.AdditionalMessage = &v
  9122  	return s
  9123  }
  9124  
  9125  // SetRecipients sets the Recipients field's value.
  9126  func (s *SMSConfiguration) SetRecipients(v []*RecipientDetail) *SMSConfiguration {
  9127  	s.Recipients = v
  9128  	return s
  9129  }
  9130  
  9131  // SetSenderId sets the SenderId field's value.
  9132  func (s *SMSConfiguration) SetSenderId(v string) *SMSConfiguration {
  9133  	s.SenderId = &v
  9134  	return s
  9135  }
  9136  
  9137  // Information required to publish the Amazon SNS message.
  9138  type SNSTopicPublishAction struct {
  9139  	_ struct{} `type:"structure"`
  9140  
  9141  	// You can configure the action payload when you send a message as an Amazon
  9142  	// SNS push notification.
  9143  	Payload *Payload `locationName:"payload" type:"structure"`
  9144  
  9145  	// The ARN of the Amazon SNS target where the message is sent.
  9146  	//
  9147  	// TargetArn is a required field
  9148  	TargetArn *string `locationName:"targetArn" min:"1" type:"string" required:"true"`
  9149  }
  9150  
  9151  // String returns the string representation.
  9152  //
  9153  // API parameter values that are decorated as "sensitive" in the API will not
  9154  // be included in the string output. The member name will be present, but the
  9155  // value will be replaced with "sensitive".
  9156  func (s SNSTopicPublishAction) String() string {
  9157  	return awsutil.Prettify(s)
  9158  }
  9159  
  9160  // GoString returns the string representation.
  9161  //
  9162  // API parameter values that are decorated as "sensitive" in the API will not
  9163  // be included in the string output. The member name will be present, but the
  9164  // value will be replaced with "sensitive".
  9165  func (s SNSTopicPublishAction) GoString() string {
  9166  	return s.String()
  9167  }
  9168  
  9169  // Validate inspects the fields of the type to determine if they are valid.
  9170  func (s *SNSTopicPublishAction) Validate() error {
  9171  	invalidParams := request.ErrInvalidParams{Context: "SNSTopicPublishAction"}
  9172  	if s.TargetArn == nil {
  9173  		invalidParams.Add(request.NewErrParamRequired("TargetArn"))
  9174  	}
  9175  	if s.TargetArn != nil && len(*s.TargetArn) < 1 {
  9176  		invalidParams.Add(request.NewErrParamMinLen("TargetArn", 1))
  9177  	}
  9178  	if s.Payload != nil {
  9179  		if err := s.Payload.Validate(); err != nil {
  9180  			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
  9181  		}
  9182  	}
  9183  
  9184  	if invalidParams.Len() > 0 {
  9185  		return invalidParams
  9186  	}
  9187  	return nil
  9188  }
  9189  
  9190  // SetPayload sets the Payload field's value.
  9191  func (s *SNSTopicPublishAction) SetPayload(v *Payload) *SNSTopicPublishAction {
  9192  	s.Payload = v
  9193  	return s
  9194  }
  9195  
  9196  // SetTargetArn sets the TargetArn field's value.
  9197  func (s *SNSTopicPublishAction) SetTargetArn(v string) *SNSTopicPublishAction {
  9198  	s.TargetArn = &v
  9199  	return s
  9200  }
  9201  
  9202  // Contains information about your identity source in AWS Single Sign-On. For
  9203  // more information, see the AWS Single Sign-On User Guide (https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).
  9204  type SSOIdentity struct {
  9205  	_ struct{} `type:"structure"`
  9206  
  9207  	// The ID of the AWS SSO identity store.
  9208  	//
  9209  	// IdentityStoreId is a required field
  9210  	IdentityStoreId *string `locationName:"identityStoreId" type:"string" required:"true"`
  9211  
  9212  	// The user ID.
  9213  	UserId *string `locationName:"userId" type:"string"`
  9214  }
  9215  
  9216  // String returns the string representation.
  9217  //
  9218  // API parameter values that are decorated as "sensitive" in the API will not
  9219  // be included in the string output. The member name will be present, but the
  9220  // value will be replaced with "sensitive".
  9221  func (s SSOIdentity) String() string {
  9222  	return awsutil.Prettify(s)
  9223  }
  9224  
  9225  // GoString returns the string representation.
  9226  //
  9227  // API parameter values that are decorated as "sensitive" in the API will not
  9228  // be included in the string output. The member name will be present, but the
  9229  // value will be replaced with "sensitive".
  9230  func (s SSOIdentity) GoString() string {
  9231  	return s.String()
  9232  }
  9233  
  9234  // Validate inspects the fields of the type to determine if they are valid.
  9235  func (s *SSOIdentity) Validate() error {
  9236  	invalidParams := request.ErrInvalidParams{Context: "SSOIdentity"}
  9237  	if s.IdentityStoreId == nil {
  9238  		invalidParams.Add(request.NewErrParamRequired("IdentityStoreId"))
  9239  	}
  9240  
  9241  	if invalidParams.Len() > 0 {
  9242  		return invalidParams
  9243  	}
  9244  	return nil
  9245  }
  9246  
  9247  // SetIdentityStoreId sets the IdentityStoreId field's value.
  9248  func (s *SSOIdentity) SetIdentityStoreId(v string) *SSOIdentity {
  9249  	s.IdentityStoreId = &v
  9250  	return s
  9251  }
  9252  
  9253  // SetUserId sets the UserId field's value.
  9254  func (s *SSOIdentity) SetUserId(v string) *SSOIdentity {
  9255  	s.UserId = &v
  9256  	return s
  9257  }
  9258  
  9259  // The service is currently unavailable.
  9260  type ServiceUnavailableException struct {
  9261  	_            struct{}                  `type:"structure"`
  9262  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9263  
  9264  	// The message for the exception.
  9265  	Message_ *string `locationName:"message" 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 ServiceUnavailableException) 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 ServiceUnavailableException) GoString() string {
  9283  	return s.String()
  9284  }
  9285  
  9286  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
  9287  	return &ServiceUnavailableException{
  9288  		RespMetadata: v,
  9289  	}
  9290  }
  9291  
  9292  // Code returns the exception type name.
  9293  func (s *ServiceUnavailableException) Code() string {
  9294  	return "ServiceUnavailableException"
  9295  }
  9296  
  9297  // Message returns the exception's message.
  9298  func (s *ServiceUnavailableException) Message() string {
  9299  	if s.Message_ != nil {
  9300  		return *s.Message_
  9301  	}
  9302  	return ""
  9303  }
  9304  
  9305  // OrigErr always returns nil, satisfies awserr.Error interface.
  9306  func (s *ServiceUnavailableException) OrigErr() error {
  9307  	return nil
  9308  }
  9309  
  9310  func (s *ServiceUnavailableException) Error() string {
  9311  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9312  }
  9313  
  9314  // Status code returns the HTTP status code for the request's response error.
  9315  func (s *ServiceUnavailableException) StatusCode() int {
  9316  	return s.RespMetadata.StatusCode
  9317  }
  9318  
  9319  // RequestID returns the service's response RequestID for request.
  9320  func (s *ServiceUnavailableException) RequestID() string {
  9321  	return s.RespMetadata.RequestID
  9322  }
  9323  
  9324  // Information needed to set the timer.
  9325  type SetTimerAction struct {
  9326  	_ struct{} `type:"structure"`
  9327  
  9328  	// The duration of the timer, in seconds. You can use a string expression that
  9329  	// includes numbers, variables ($variable.<variable-name>), and input values
  9330  	// ($input.<input-name>.<path-to-datum>) as the duration. The range of the duration
  9331  	// is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds.
  9332  	// The evaluated result of the duration is rounded down to the nearest whole
  9333  	// number.
  9334  	DurationExpression *string `locationName:"durationExpression" min:"1" type:"string"`
  9335  
  9336  	// The number of seconds until the timer expires. The minimum value is 60 seconds
  9337  	// to ensure accuracy. The maximum value is 31622400 seconds.
  9338  	//
  9339  	// Deprecated: seconds is deprecated. You can use durationExpression for SetTimerAction. The value of seconds can be used as a string expression for durationExpression.
  9340  	Seconds *int64 `locationName:"seconds" min:"1" deprecated:"true" type:"integer"`
  9341  
  9342  	// The name of the timer.
  9343  	//
  9344  	// TimerName is a required field
  9345  	TimerName *string `locationName:"timerName" min:"1" type:"string" required:"true"`
  9346  }
  9347  
  9348  // String returns the string representation.
  9349  //
  9350  // API parameter values that are decorated as "sensitive" in the API will not
  9351  // be included in the string output. The member name will be present, but the
  9352  // value will be replaced with "sensitive".
  9353  func (s SetTimerAction) String() string {
  9354  	return awsutil.Prettify(s)
  9355  }
  9356  
  9357  // GoString returns the string representation.
  9358  //
  9359  // API parameter values that are decorated as "sensitive" in the API will not
  9360  // be included in the string output. The member name will be present, but the
  9361  // value will be replaced with "sensitive".
  9362  func (s SetTimerAction) GoString() string {
  9363  	return s.String()
  9364  }
  9365  
  9366  // Validate inspects the fields of the type to determine if they are valid.
  9367  func (s *SetTimerAction) Validate() error {
  9368  	invalidParams := request.ErrInvalidParams{Context: "SetTimerAction"}
  9369  	if s.DurationExpression != nil && len(*s.DurationExpression) < 1 {
  9370  		invalidParams.Add(request.NewErrParamMinLen("DurationExpression", 1))
  9371  	}
  9372  	if s.Seconds != nil && *s.Seconds < 1 {
  9373  		invalidParams.Add(request.NewErrParamMinValue("Seconds", 1))
  9374  	}
  9375  	if s.TimerName == nil {
  9376  		invalidParams.Add(request.NewErrParamRequired("TimerName"))
  9377  	}
  9378  	if s.TimerName != nil && len(*s.TimerName) < 1 {
  9379  		invalidParams.Add(request.NewErrParamMinLen("TimerName", 1))
  9380  	}
  9381  
  9382  	if invalidParams.Len() > 0 {
  9383  		return invalidParams
  9384  	}
  9385  	return nil
  9386  }
  9387  
  9388  // SetDurationExpression sets the DurationExpression field's value.
  9389  func (s *SetTimerAction) SetDurationExpression(v string) *SetTimerAction {
  9390  	s.DurationExpression = &v
  9391  	return s
  9392  }
  9393  
  9394  // SetSeconds sets the Seconds field's value.
  9395  func (s *SetTimerAction) SetSeconds(v int64) *SetTimerAction {
  9396  	s.Seconds = &v
  9397  	return s
  9398  }
  9399  
  9400  // SetTimerName sets the TimerName field's value.
  9401  func (s *SetTimerAction) SetTimerName(v string) *SetTimerAction {
  9402  	s.TimerName = &v
  9403  	return s
  9404  }
  9405  
  9406  // Information about the variable and its new value.
  9407  type SetVariableAction struct {
  9408  	_ struct{} `type:"structure"`
  9409  
  9410  	// The new value of the variable.
  9411  	//
  9412  	// Value is a required field
  9413  	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
  9414  
  9415  	// The name of the variable.
  9416  	//
  9417  	// VariableName is a required field
  9418  	VariableName *string `locationName:"variableName" min:"1" type:"string" required:"true"`
  9419  }
  9420  
  9421  // String returns the string representation.
  9422  //
  9423  // API parameter values that are decorated as "sensitive" in the API will not
  9424  // be included in the string output. The member name will be present, but the
  9425  // value will be replaced with "sensitive".
  9426  func (s SetVariableAction) String() string {
  9427  	return awsutil.Prettify(s)
  9428  }
  9429  
  9430  // GoString returns the string representation.
  9431  //
  9432  // API parameter values that are decorated as "sensitive" in the API will not
  9433  // be included in the string output. The member name will be present, but the
  9434  // value will be replaced with "sensitive".
  9435  func (s SetVariableAction) GoString() string {
  9436  	return s.String()
  9437  }
  9438  
  9439  // Validate inspects the fields of the type to determine if they are valid.
  9440  func (s *SetVariableAction) Validate() error {
  9441  	invalidParams := request.ErrInvalidParams{Context: "SetVariableAction"}
  9442  	if s.Value == nil {
  9443  		invalidParams.Add(request.NewErrParamRequired("Value"))
  9444  	}
  9445  	if s.Value != nil && len(*s.Value) < 1 {
  9446  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
  9447  	}
  9448  	if s.VariableName == nil {
  9449  		invalidParams.Add(request.NewErrParamRequired("VariableName"))
  9450  	}
  9451  	if s.VariableName != nil && len(*s.VariableName) < 1 {
  9452  		invalidParams.Add(request.NewErrParamMinLen("VariableName", 1))
  9453  	}
  9454  
  9455  	if invalidParams.Len() > 0 {
  9456  		return invalidParams
  9457  	}
  9458  	return nil
  9459  }
  9460  
  9461  // SetValue sets the Value field's value.
  9462  func (s *SetVariableAction) SetValue(v string) *SetVariableAction {
  9463  	s.Value = &v
  9464  	return s
  9465  }
  9466  
  9467  // SetVariableName sets the VariableName field's value.
  9468  func (s *SetVariableAction) SetVariableName(v string) *SetVariableAction {
  9469  	s.VariableName = &v
  9470  	return s
  9471  }
  9472  
  9473  // A rule that compares an input property value to a threshold value with a
  9474  // comparison operator.
  9475  type SimpleRule struct {
  9476  	_ struct{} `type:"structure"`
  9477  
  9478  	// The comparison operator.
  9479  	//
  9480  	// ComparisonOperator is a required field
  9481  	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" required:"true" enum:"ComparisonOperator"`
  9482  
  9483  	// The value on the left side of the comparison operator. You can specify an
  9484  	// AWS IoT Events input attribute as an input property.
  9485  	//
  9486  	// InputProperty is a required field
  9487  	InputProperty *string `locationName:"inputProperty" min:"1" type:"string" required:"true"`
  9488  
  9489  	// The value on the right side of the comparison operator. You can enter a number
  9490  	// or specify an AWS IoT Events input attribute.
  9491  	//
  9492  	// Threshold is a required field
  9493  	Threshold *string `locationName:"threshold" min:"1" type:"string" required:"true"`
  9494  }
  9495  
  9496  // String returns the string representation.
  9497  //
  9498  // API parameter values that are decorated as "sensitive" in the API will not
  9499  // be included in the string output. The member name will be present, but the
  9500  // value will be replaced with "sensitive".
  9501  func (s SimpleRule) String() string {
  9502  	return awsutil.Prettify(s)
  9503  }
  9504  
  9505  // GoString returns the string representation.
  9506  //
  9507  // API parameter values that are decorated as "sensitive" in the API will not
  9508  // be included in the string output. The member name will be present, but the
  9509  // value will be replaced with "sensitive".
  9510  func (s SimpleRule) GoString() string {
  9511  	return s.String()
  9512  }
  9513  
  9514  // Validate inspects the fields of the type to determine if they are valid.
  9515  func (s *SimpleRule) Validate() error {
  9516  	invalidParams := request.ErrInvalidParams{Context: "SimpleRule"}
  9517  	if s.ComparisonOperator == nil {
  9518  		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
  9519  	}
  9520  	if s.InputProperty == nil {
  9521  		invalidParams.Add(request.NewErrParamRequired("InputProperty"))
  9522  	}
  9523  	if s.InputProperty != nil && len(*s.InputProperty) < 1 {
  9524  		invalidParams.Add(request.NewErrParamMinLen("InputProperty", 1))
  9525  	}
  9526  	if s.Threshold == nil {
  9527  		invalidParams.Add(request.NewErrParamRequired("Threshold"))
  9528  	}
  9529  	if s.Threshold != nil && len(*s.Threshold) < 1 {
  9530  		invalidParams.Add(request.NewErrParamMinLen("Threshold", 1))
  9531  	}
  9532  
  9533  	if invalidParams.Len() > 0 {
  9534  		return invalidParams
  9535  	}
  9536  	return nil
  9537  }
  9538  
  9539  // SetComparisonOperator sets the ComparisonOperator field's value.
  9540  func (s *SimpleRule) SetComparisonOperator(v string) *SimpleRule {
  9541  	s.ComparisonOperator = &v
  9542  	return s
  9543  }
  9544  
  9545  // SetInputProperty sets the InputProperty field's value.
  9546  func (s *SimpleRule) SetInputProperty(v string) *SimpleRule {
  9547  	s.InputProperty = &v
  9548  	return s
  9549  }
  9550  
  9551  // SetThreshold sets the Threshold field's value.
  9552  func (s *SimpleRule) SetThreshold(v string) *SimpleRule {
  9553  	s.Threshold = &v
  9554  	return s
  9555  }
  9556  
  9557  // Sends information about the detector model instance and the event that triggered
  9558  // the action to an Amazon SQS queue.
  9559  type SqsAction struct {
  9560  	_ struct{} `type:"structure"`
  9561  
  9562  	// You can configure the action payload when you send a message to an Amazon
  9563  	// SQS queue.
  9564  	Payload *Payload `locationName:"payload" type:"structure"`
  9565  
  9566  	// The URL of the SQS queue where the data is written.
  9567  	//
  9568  	// QueueUrl is a required field
  9569  	QueueUrl *string `locationName:"queueUrl" type:"string" required:"true"`
  9570  
  9571  	// Set this to TRUE if you want the data to be base-64 encoded before it is
  9572  	// written to the queue. Otherwise, set this to FALSE.
  9573  	UseBase64 *bool `locationName:"useBase64" type:"boolean"`
  9574  }
  9575  
  9576  // String returns the string representation.
  9577  //
  9578  // API parameter values that are decorated as "sensitive" in the API will not
  9579  // be included in the string output. The member name will be present, but the
  9580  // value will be replaced with "sensitive".
  9581  func (s SqsAction) String() string {
  9582  	return awsutil.Prettify(s)
  9583  }
  9584  
  9585  // GoString returns the string representation.
  9586  //
  9587  // API parameter values that are decorated as "sensitive" in the API will not
  9588  // be included in the string output. The member name will be present, but the
  9589  // value will be replaced with "sensitive".
  9590  func (s SqsAction) GoString() string {
  9591  	return s.String()
  9592  }
  9593  
  9594  // Validate inspects the fields of the type to determine if they are valid.
  9595  func (s *SqsAction) Validate() error {
  9596  	invalidParams := request.ErrInvalidParams{Context: "SqsAction"}
  9597  	if s.QueueUrl == nil {
  9598  		invalidParams.Add(request.NewErrParamRequired("QueueUrl"))
  9599  	}
  9600  	if s.Payload != nil {
  9601  		if err := s.Payload.Validate(); err != nil {
  9602  			invalidParams.AddNested("Payload", err.(request.ErrInvalidParams))
  9603  		}
  9604  	}
  9605  
  9606  	if invalidParams.Len() > 0 {
  9607  		return invalidParams
  9608  	}
  9609  	return nil
  9610  }
  9611  
  9612  // SetPayload sets the Payload field's value.
  9613  func (s *SqsAction) SetPayload(v *Payload) *SqsAction {
  9614  	s.Payload = v
  9615  	return s
  9616  }
  9617  
  9618  // SetQueueUrl sets the QueueUrl field's value.
  9619  func (s *SqsAction) SetQueueUrl(v string) *SqsAction {
  9620  	s.QueueUrl = &v
  9621  	return s
  9622  }
  9623  
  9624  // SetUseBase64 sets the UseBase64 field's value.
  9625  func (s *SqsAction) SetUseBase64(v bool) *SqsAction {
  9626  	s.UseBase64 = &v
  9627  	return s
  9628  }
  9629  
  9630  type StartDetectorModelAnalysisInput struct {
  9631  	_ struct{} `type:"structure"`
  9632  
  9633  	// Information that defines how a detector operates.
  9634  	//
  9635  	// DetectorModelDefinition is a required field
  9636  	DetectorModelDefinition *DetectorModelDefinition `locationName:"detectorModelDefinition" type:"structure" required:"true"`
  9637  }
  9638  
  9639  // String returns the string representation.
  9640  //
  9641  // API parameter values that are decorated as "sensitive" in the API will not
  9642  // be included in the string output. The member name will be present, but the
  9643  // value will be replaced with "sensitive".
  9644  func (s StartDetectorModelAnalysisInput) String() string {
  9645  	return awsutil.Prettify(s)
  9646  }
  9647  
  9648  // GoString returns the string representation.
  9649  //
  9650  // API parameter values that are decorated as "sensitive" in the API will not
  9651  // be included in the string output. The member name will be present, but the
  9652  // value will be replaced with "sensitive".
  9653  func (s StartDetectorModelAnalysisInput) GoString() string {
  9654  	return s.String()
  9655  }
  9656  
  9657  // Validate inspects the fields of the type to determine if they are valid.
  9658  func (s *StartDetectorModelAnalysisInput) Validate() error {
  9659  	invalidParams := request.ErrInvalidParams{Context: "StartDetectorModelAnalysisInput"}
  9660  	if s.DetectorModelDefinition == nil {
  9661  		invalidParams.Add(request.NewErrParamRequired("DetectorModelDefinition"))
  9662  	}
  9663  	if s.DetectorModelDefinition != nil {
  9664  		if err := s.DetectorModelDefinition.Validate(); err != nil {
  9665  			invalidParams.AddNested("DetectorModelDefinition", err.(request.ErrInvalidParams))
  9666  		}
  9667  	}
  9668  
  9669  	if invalidParams.Len() > 0 {
  9670  		return invalidParams
  9671  	}
  9672  	return nil
  9673  }
  9674  
  9675  // SetDetectorModelDefinition sets the DetectorModelDefinition field's value.
  9676  func (s *StartDetectorModelAnalysisInput) SetDetectorModelDefinition(v *DetectorModelDefinition) *StartDetectorModelAnalysisInput {
  9677  	s.DetectorModelDefinition = v
  9678  	return s
  9679  }
  9680  
  9681  type StartDetectorModelAnalysisOutput struct {
  9682  	_ struct{} `type:"structure"`
  9683  
  9684  	// The ID that you can use to retrieve the analysis result.
  9685  	AnalysisId *string `locationName:"analysisId" type:"string"`
  9686  }
  9687  
  9688  // String returns the string representation.
  9689  //
  9690  // API parameter values that are decorated as "sensitive" in the API will not
  9691  // be included in the string output. The member name will be present, but the
  9692  // value will be replaced with "sensitive".
  9693  func (s StartDetectorModelAnalysisOutput) String() string {
  9694  	return awsutil.Prettify(s)
  9695  }
  9696  
  9697  // GoString returns the string representation.
  9698  //
  9699  // API parameter values that are decorated as "sensitive" in the API will not
  9700  // be included in the string output. The member name will be present, but the
  9701  // value will be replaced with "sensitive".
  9702  func (s StartDetectorModelAnalysisOutput) GoString() string {
  9703  	return s.String()
  9704  }
  9705  
  9706  // SetAnalysisId sets the AnalysisId field's value.
  9707  func (s *StartDetectorModelAnalysisOutput) SetAnalysisId(v string) *StartDetectorModelAnalysisOutput {
  9708  	s.AnalysisId = &v
  9709  	return s
  9710  }
  9711  
  9712  // Information that defines a state of a detector.
  9713  type State struct {
  9714  	_ struct{} `type:"structure"`
  9715  
  9716  	// When entering this state, perform these actions if the condition is TRUE.
  9717  	OnEnter *OnEnterLifecycle `locationName:"onEnter" type:"structure"`
  9718  
  9719  	// When exiting this state, perform these actions if the specified condition
  9720  	// is TRUE.
  9721  	OnExit *OnExitLifecycle `locationName:"onExit" type:"structure"`
  9722  
  9723  	// When an input is received and the condition is TRUE, perform the specified
  9724  	// actions.
  9725  	OnInput *OnInputLifecycle `locationName:"onInput" type:"structure"`
  9726  
  9727  	// The name of the state.
  9728  	//
  9729  	// StateName is a required field
  9730  	StateName *string `locationName:"stateName" min:"1" type:"string" required:"true"`
  9731  }
  9732  
  9733  // String returns the string representation.
  9734  //
  9735  // API parameter values that are decorated as "sensitive" in the API will not
  9736  // be included in the string output. The member name will be present, but the
  9737  // value will be replaced with "sensitive".
  9738  func (s State) String() string {
  9739  	return awsutil.Prettify(s)
  9740  }
  9741  
  9742  // GoString returns the string representation.
  9743  //
  9744  // API parameter values that are decorated as "sensitive" in the API will not
  9745  // be included in the string output. The member name will be present, but the
  9746  // value will be replaced with "sensitive".
  9747  func (s State) GoString() string {
  9748  	return s.String()
  9749  }
  9750  
  9751  // Validate inspects the fields of the type to determine if they are valid.
  9752  func (s *State) Validate() error {
  9753  	invalidParams := request.ErrInvalidParams{Context: "State"}
  9754  	if s.StateName == nil {
  9755  		invalidParams.Add(request.NewErrParamRequired("StateName"))
  9756  	}
  9757  	if s.StateName != nil && len(*s.StateName) < 1 {
  9758  		invalidParams.Add(request.NewErrParamMinLen("StateName", 1))
  9759  	}
  9760  	if s.OnEnter != nil {
  9761  		if err := s.OnEnter.Validate(); err != nil {
  9762  			invalidParams.AddNested("OnEnter", err.(request.ErrInvalidParams))
  9763  		}
  9764  	}
  9765  	if s.OnExit != nil {
  9766  		if err := s.OnExit.Validate(); err != nil {
  9767  			invalidParams.AddNested("OnExit", err.(request.ErrInvalidParams))
  9768  		}
  9769  	}
  9770  	if s.OnInput != nil {
  9771  		if err := s.OnInput.Validate(); err != nil {
  9772  			invalidParams.AddNested("OnInput", err.(request.ErrInvalidParams))
  9773  		}
  9774  	}
  9775  
  9776  	if invalidParams.Len() > 0 {
  9777  		return invalidParams
  9778  	}
  9779  	return nil
  9780  }
  9781  
  9782  // SetOnEnter sets the OnEnter field's value.
  9783  func (s *State) SetOnEnter(v *OnEnterLifecycle) *State {
  9784  	s.OnEnter = v
  9785  	return s
  9786  }
  9787  
  9788  // SetOnExit sets the OnExit field's value.
  9789  func (s *State) SetOnExit(v *OnExitLifecycle) *State {
  9790  	s.OnExit = v
  9791  	return s
  9792  }
  9793  
  9794  // SetOnInput sets the OnInput field's value.
  9795  func (s *State) SetOnInput(v *OnInputLifecycle) *State {
  9796  	s.OnInput = v
  9797  	return s
  9798  }
  9799  
  9800  // SetStateName sets the StateName field's value.
  9801  func (s *State) SetStateName(v string) *State {
  9802  	s.StateName = &v
  9803  	return s
  9804  }
  9805  
  9806  // Metadata that can be used to manage the resource.
  9807  type Tag struct {
  9808  	_ struct{} `type:"structure"`
  9809  
  9810  	// The tag's key.
  9811  	//
  9812  	// Key is a required field
  9813  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
  9814  
  9815  	// The tag's value.
  9816  	//
  9817  	// Value is a required field
  9818  	Value *string `locationName:"value" type:"string" required:"true"`
  9819  }
  9820  
  9821  // String returns the string representation.
  9822  //
  9823  // API parameter values that are decorated as "sensitive" in the API will not
  9824  // be included in the string output. The member name will be present, but the
  9825  // value will be replaced with "sensitive".
  9826  func (s Tag) String() string {
  9827  	return awsutil.Prettify(s)
  9828  }
  9829  
  9830  // GoString returns the string representation.
  9831  //
  9832  // API parameter values that are decorated as "sensitive" in the API will not
  9833  // be included in the string output. The member name will be present, but the
  9834  // value will be replaced with "sensitive".
  9835  func (s Tag) GoString() string {
  9836  	return s.String()
  9837  }
  9838  
  9839  // Validate inspects the fields of the type to determine if they are valid.
  9840  func (s *Tag) Validate() error {
  9841  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  9842  	if s.Key == nil {
  9843  		invalidParams.Add(request.NewErrParamRequired("Key"))
  9844  	}
  9845  	if s.Key != nil && len(*s.Key) < 1 {
  9846  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  9847  	}
  9848  	if s.Value == nil {
  9849  		invalidParams.Add(request.NewErrParamRequired("Value"))
  9850  	}
  9851  
  9852  	if invalidParams.Len() > 0 {
  9853  		return invalidParams
  9854  	}
  9855  	return nil
  9856  }
  9857  
  9858  // SetKey sets the Key field's value.
  9859  func (s *Tag) SetKey(v string) *Tag {
  9860  	s.Key = &v
  9861  	return s
  9862  }
  9863  
  9864  // SetValue sets the Value field's value.
  9865  func (s *Tag) SetValue(v string) *Tag {
  9866  	s.Value = &v
  9867  	return s
  9868  }
  9869  
  9870  type TagResourceInput struct {
  9871  	_ struct{} `type:"structure"`
  9872  
  9873  	// The ARN of the resource.
  9874  	//
  9875  	// ResourceArn is a required field
  9876  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
  9877  
  9878  	// The new or modified tags for the resource.
  9879  	//
  9880  	// Tags is a required field
  9881  	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
  9882  }
  9883  
  9884  // String returns the string representation.
  9885  //
  9886  // API parameter values that are decorated as "sensitive" in the API will not
  9887  // be included in the string output. The member name will be present, but the
  9888  // value will be replaced with "sensitive".
  9889  func (s TagResourceInput) String() string {
  9890  	return awsutil.Prettify(s)
  9891  }
  9892  
  9893  // GoString returns the string representation.
  9894  //
  9895  // API parameter values that are decorated as "sensitive" in the API will not
  9896  // be included in the string output. The member name will be present, but the
  9897  // value will be replaced with "sensitive".
  9898  func (s TagResourceInput) GoString() string {
  9899  	return s.String()
  9900  }
  9901  
  9902  // Validate inspects the fields of the type to determine if they are valid.
  9903  func (s *TagResourceInput) Validate() error {
  9904  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  9905  	if s.ResourceArn == nil {
  9906  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  9907  	}
  9908  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  9909  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  9910  	}
  9911  	if s.Tags == nil {
  9912  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  9913  	}
  9914  	if s.Tags != nil {
  9915  		for i, v := range s.Tags {
  9916  			if v == nil {
  9917  				continue
  9918  			}
  9919  			if err := v.Validate(); err != nil {
  9920  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  9921  			}
  9922  		}
  9923  	}
  9924  
  9925  	if invalidParams.Len() > 0 {
  9926  		return invalidParams
  9927  	}
  9928  	return nil
  9929  }
  9930  
  9931  // SetResourceArn sets the ResourceArn field's value.
  9932  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  9933  	s.ResourceArn = &v
  9934  	return s
  9935  }
  9936  
  9937  // SetTags sets the Tags field's value.
  9938  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  9939  	s.Tags = v
  9940  	return s
  9941  }
  9942  
  9943  type TagResourceOutput struct {
  9944  	_ struct{} `type:"structure" nopayload:"true"`
  9945  }
  9946  
  9947  // String returns the string representation.
  9948  //
  9949  // API parameter values that are decorated as "sensitive" in the API will not
  9950  // be included in the string output. The member name will be present, but the
  9951  // value will be replaced with "sensitive".
  9952  func (s TagResourceOutput) String() string {
  9953  	return awsutil.Prettify(s)
  9954  }
  9955  
  9956  // GoString returns the string representation.
  9957  //
  9958  // API parameter values that are decorated as "sensitive" in the API will not
  9959  // be included in the string output. The member name will be present, but the
  9960  // value will be replaced with "sensitive".
  9961  func (s TagResourceOutput) GoString() string {
  9962  	return s.String()
  9963  }
  9964  
  9965  // The request could not be completed due to throttling.
  9966  type ThrottlingException struct {
  9967  	_            struct{}                  `type:"structure"`
  9968  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9969  
  9970  	// The message for the exception.
  9971  	Message_ *string `locationName:"message" type:"string"`
  9972  }
  9973  
  9974  // String returns the string representation.
  9975  //
  9976  // API parameter values that are decorated as "sensitive" in the API will not
  9977  // be included in the string output. The member name will be present, but the
  9978  // value will be replaced with "sensitive".
  9979  func (s ThrottlingException) String() string {
  9980  	return awsutil.Prettify(s)
  9981  }
  9982  
  9983  // GoString returns the string representation.
  9984  //
  9985  // API parameter values that are decorated as "sensitive" in the API will not
  9986  // be included in the string output. The member name will be present, but the
  9987  // value will be replaced with "sensitive".
  9988  func (s ThrottlingException) GoString() string {
  9989  	return s.String()
  9990  }
  9991  
  9992  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  9993  	return &ThrottlingException{
  9994  		RespMetadata: v,
  9995  	}
  9996  }
  9997  
  9998  // Code returns the exception type name.
  9999  func (s *ThrottlingException) Code() string {
 10000  	return "ThrottlingException"
 10001  }
 10002  
 10003  // Message returns the exception's message.
 10004  func (s *ThrottlingException) Message() string {
 10005  	if s.Message_ != nil {
 10006  		return *s.Message_
 10007  	}
 10008  	return ""
 10009  }
 10010  
 10011  // OrigErr always returns nil, satisfies awserr.Error interface.
 10012  func (s *ThrottlingException) OrigErr() error {
 10013  	return nil
 10014  }
 10015  
 10016  func (s *ThrottlingException) Error() string {
 10017  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10018  }
 10019  
 10020  // Status code returns the HTTP status code for the request's response error.
 10021  func (s *ThrottlingException) StatusCode() int {
 10022  	return s.RespMetadata.StatusCode
 10023  }
 10024  
 10025  // RequestID returns the service's response RequestID for request.
 10026  func (s *ThrottlingException) RequestID() string {
 10027  	return s.RespMetadata.RequestID
 10028  }
 10029  
 10030  // Specifies the actions performed and the next state entered when a condition
 10031  // evaluates to TRUE.
 10032  type TransitionEvent struct {
 10033  	_ struct{} `type:"structure"`
 10034  
 10035  	// The actions to be performed.
 10036  	Actions []*ActionData `locationName:"actions" type:"list"`
 10037  
 10038  	// Required. A Boolean expression that when TRUE causes the actions to be performed
 10039  	// and the nextState to be entered.
 10040  	//
 10041  	// Condition is a required field
 10042  	Condition *string `locationName:"condition" type:"string" required:"true"`
 10043  
 10044  	// The name of the transition event.
 10045  	//
 10046  	// EventName is a required field
 10047  	EventName *string `locationName:"eventName" type:"string" required:"true"`
 10048  
 10049  	// The next state to enter.
 10050  	//
 10051  	// NextState is a required field
 10052  	NextState *string `locationName:"nextState" min:"1" type:"string" required:"true"`
 10053  }
 10054  
 10055  // String returns the string representation.
 10056  //
 10057  // API parameter values that are decorated as "sensitive" in the API will not
 10058  // be included in the string output. The member name will be present, but the
 10059  // value will be replaced with "sensitive".
 10060  func (s TransitionEvent) String() string {
 10061  	return awsutil.Prettify(s)
 10062  }
 10063  
 10064  // GoString returns the string representation.
 10065  //
 10066  // API parameter values that are decorated as "sensitive" in the API will not
 10067  // be included in the string output. The member name will be present, but the
 10068  // value will be replaced with "sensitive".
 10069  func (s TransitionEvent) GoString() string {
 10070  	return s.String()
 10071  }
 10072  
 10073  // Validate inspects the fields of the type to determine if they are valid.
 10074  func (s *TransitionEvent) Validate() error {
 10075  	invalidParams := request.ErrInvalidParams{Context: "TransitionEvent"}
 10076  	if s.Condition == nil {
 10077  		invalidParams.Add(request.NewErrParamRequired("Condition"))
 10078  	}
 10079  	if s.EventName == nil {
 10080  		invalidParams.Add(request.NewErrParamRequired("EventName"))
 10081  	}
 10082  	if s.NextState == nil {
 10083  		invalidParams.Add(request.NewErrParamRequired("NextState"))
 10084  	}
 10085  	if s.NextState != nil && len(*s.NextState) < 1 {
 10086  		invalidParams.Add(request.NewErrParamMinLen("NextState", 1))
 10087  	}
 10088  	if s.Actions != nil {
 10089  		for i, v := range s.Actions {
 10090  			if v == nil {
 10091  				continue
 10092  			}
 10093  			if err := v.Validate(); err != nil {
 10094  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
 10095  			}
 10096  		}
 10097  	}
 10098  
 10099  	if invalidParams.Len() > 0 {
 10100  		return invalidParams
 10101  	}
 10102  	return nil
 10103  }
 10104  
 10105  // SetActions sets the Actions field's value.
 10106  func (s *TransitionEvent) SetActions(v []*ActionData) *TransitionEvent {
 10107  	s.Actions = v
 10108  	return s
 10109  }
 10110  
 10111  // SetCondition sets the Condition field's value.
 10112  func (s *TransitionEvent) SetCondition(v string) *TransitionEvent {
 10113  	s.Condition = &v
 10114  	return s
 10115  }
 10116  
 10117  // SetEventName sets the EventName field's value.
 10118  func (s *TransitionEvent) SetEventName(v string) *TransitionEvent {
 10119  	s.EventName = &v
 10120  	return s
 10121  }
 10122  
 10123  // SetNextState sets the NextState field's value.
 10124  func (s *TransitionEvent) SetNextState(v string) *TransitionEvent {
 10125  	s.NextState = &v
 10126  	return s
 10127  }
 10128  
 10129  // The requested operation is not supported.
 10130  type UnsupportedOperationException struct {
 10131  	_            struct{}                  `type:"structure"`
 10132  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10133  
 10134  	// The message for the exception.
 10135  	Message_ *string `locationName:"message" type:"string"`
 10136  }
 10137  
 10138  // String returns the string representation.
 10139  //
 10140  // API parameter values that are decorated as "sensitive" in the API will not
 10141  // be included in the string output. The member name will be present, but the
 10142  // value will be replaced with "sensitive".
 10143  func (s UnsupportedOperationException) String() string {
 10144  	return awsutil.Prettify(s)
 10145  }
 10146  
 10147  // GoString returns the string representation.
 10148  //
 10149  // API parameter values that are decorated as "sensitive" in the API will not
 10150  // be included in the string output. The member name will be present, but the
 10151  // value will be replaced with "sensitive".
 10152  func (s UnsupportedOperationException) GoString() string {
 10153  	return s.String()
 10154  }
 10155  
 10156  func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error {
 10157  	return &UnsupportedOperationException{
 10158  		RespMetadata: v,
 10159  	}
 10160  }
 10161  
 10162  // Code returns the exception type name.
 10163  func (s *UnsupportedOperationException) Code() string {
 10164  	return "UnsupportedOperationException"
 10165  }
 10166  
 10167  // Message returns the exception's message.
 10168  func (s *UnsupportedOperationException) Message() string {
 10169  	if s.Message_ != nil {
 10170  		return *s.Message_
 10171  	}
 10172  	return ""
 10173  }
 10174  
 10175  // OrigErr always returns nil, satisfies awserr.Error interface.
 10176  func (s *UnsupportedOperationException) OrigErr() error {
 10177  	return nil
 10178  }
 10179  
 10180  func (s *UnsupportedOperationException) Error() string {
 10181  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10182  }
 10183  
 10184  // Status code returns the HTTP status code for the request's response error.
 10185  func (s *UnsupportedOperationException) StatusCode() int {
 10186  	return s.RespMetadata.StatusCode
 10187  }
 10188  
 10189  // RequestID returns the service's response RequestID for request.
 10190  func (s *UnsupportedOperationException) RequestID() string {
 10191  	return s.RespMetadata.RequestID
 10192  }
 10193  
 10194  type UntagResourceInput struct {
 10195  	_ struct{} `type:"structure" nopayload:"true"`
 10196  
 10197  	// The ARN of the resource.
 10198  	//
 10199  	// ResourceArn is a required field
 10200  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 10201  
 10202  	// A list of the keys of the tags to be removed from the resource.
 10203  	//
 10204  	// TagKeys is a required field
 10205  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
 10206  }
 10207  
 10208  // String returns the string representation.
 10209  //
 10210  // API parameter values that are decorated as "sensitive" in the API will not
 10211  // be included in the string output. The member name will be present, but the
 10212  // value will be replaced with "sensitive".
 10213  func (s UntagResourceInput) String() string {
 10214  	return awsutil.Prettify(s)
 10215  }
 10216  
 10217  // GoString returns the string representation.
 10218  //
 10219  // API parameter values that are decorated as "sensitive" in the API will not
 10220  // be included in the string output. The member name will be present, but the
 10221  // value will be replaced with "sensitive".
 10222  func (s UntagResourceInput) GoString() string {
 10223  	return s.String()
 10224  }
 10225  
 10226  // Validate inspects the fields of the type to determine if they are valid.
 10227  func (s *UntagResourceInput) Validate() error {
 10228  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 10229  	if s.ResourceArn == nil {
 10230  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10231  	}
 10232  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 10233  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 10234  	}
 10235  	if s.TagKeys == nil {
 10236  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 10237  	}
 10238  
 10239  	if invalidParams.Len() > 0 {
 10240  		return invalidParams
 10241  	}
 10242  	return nil
 10243  }
 10244  
 10245  // SetResourceArn sets the ResourceArn field's value.
 10246  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 10247  	s.ResourceArn = &v
 10248  	return s
 10249  }
 10250  
 10251  // SetTagKeys sets the TagKeys field's value.
 10252  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 10253  	s.TagKeys = v
 10254  	return s
 10255  }
 10256  
 10257  type UntagResourceOutput struct {
 10258  	_ struct{} `type:"structure" nopayload:"true"`
 10259  }
 10260  
 10261  // String returns the string representation.
 10262  //
 10263  // API parameter values that are decorated as "sensitive" in the API will not
 10264  // be included in the string output. The member name will be present, but the
 10265  // value will be replaced with "sensitive".
 10266  func (s UntagResourceOutput) String() string {
 10267  	return awsutil.Prettify(s)
 10268  }
 10269  
 10270  // GoString returns the string representation.
 10271  //
 10272  // API parameter values that are decorated as "sensitive" in the API will not
 10273  // be included in the string output. The member name will be present, but the
 10274  // value will be replaced with "sensitive".
 10275  func (s UntagResourceOutput) GoString() string {
 10276  	return s.String()
 10277  }
 10278  
 10279  type UpdateAlarmModelInput struct {
 10280  	_ struct{} `type:"structure"`
 10281  
 10282  	// Contains the configuration information of alarm state changes.
 10283  	AlarmCapabilities *AlarmCapabilities `locationName:"alarmCapabilities" type:"structure"`
 10284  
 10285  	// Contains information about one or more alarm actions.
 10286  	AlarmEventActions *AlarmEventActions `locationName:"alarmEventActions" type:"structure"`
 10287  
 10288  	// The description of the alarm model.
 10289  	AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"`
 10290  
 10291  	// The name of the alarm model.
 10292  	//
 10293  	// AlarmModelName is a required field
 10294  	AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"`
 10295  
 10296  	// Contains information about one or more notification actions.
 10297  	AlarmNotification *AlarmNotification `locationName:"alarmNotification" type:"structure"`
 10298  
 10299  	// Defines when your alarm is invoked.
 10300  	//
 10301  	// AlarmRule is a required field
 10302  	AlarmRule *AlarmRule `locationName:"alarmRule" type:"structure" required:"true"`
 10303  
 10304  	// The ARN of the IAM role that allows the alarm to perform actions and access
 10305  	// AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 10306  	// in the AWS General Reference.
 10307  	//
 10308  	// RoleArn is a required field
 10309  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
 10310  
 10311  	// A non-negative integer that reflects the severity level of the alarm.
 10312  	Severity *int64 `locationName:"severity" type:"integer"`
 10313  }
 10314  
 10315  // String returns the string representation.
 10316  //
 10317  // API parameter values that are decorated as "sensitive" in the API will not
 10318  // be included in the string output. The member name will be present, but the
 10319  // value will be replaced with "sensitive".
 10320  func (s UpdateAlarmModelInput) String() string {
 10321  	return awsutil.Prettify(s)
 10322  }
 10323  
 10324  // GoString returns the string representation.
 10325  //
 10326  // API parameter values that are decorated as "sensitive" in the API will not
 10327  // be included in the string output. The member name will be present, but the
 10328  // value will be replaced with "sensitive".
 10329  func (s UpdateAlarmModelInput) GoString() string {
 10330  	return s.String()
 10331  }
 10332  
 10333  // Validate inspects the fields of the type to determine if they are valid.
 10334  func (s *UpdateAlarmModelInput) Validate() error {
 10335  	invalidParams := request.ErrInvalidParams{Context: "UpdateAlarmModelInput"}
 10336  	if s.AlarmModelName == nil {
 10337  		invalidParams.Add(request.NewErrParamRequired("AlarmModelName"))
 10338  	}
 10339  	if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 {
 10340  		invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1))
 10341  	}
 10342  	if s.AlarmRule == nil {
 10343  		invalidParams.Add(request.NewErrParamRequired("AlarmRule"))
 10344  	}
 10345  	if s.RoleArn == nil {
 10346  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 10347  	}
 10348  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
 10349  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
 10350  	}
 10351  	if s.AlarmCapabilities != nil {
 10352  		if err := s.AlarmCapabilities.Validate(); err != nil {
 10353  			invalidParams.AddNested("AlarmCapabilities", err.(request.ErrInvalidParams))
 10354  		}
 10355  	}
 10356  	if s.AlarmEventActions != nil {
 10357  		if err := s.AlarmEventActions.Validate(); err != nil {
 10358  			invalidParams.AddNested("AlarmEventActions", err.(request.ErrInvalidParams))
 10359  		}
 10360  	}
 10361  	if s.AlarmNotification != nil {
 10362  		if err := s.AlarmNotification.Validate(); err != nil {
 10363  			invalidParams.AddNested("AlarmNotification", err.(request.ErrInvalidParams))
 10364  		}
 10365  	}
 10366  	if s.AlarmRule != nil {
 10367  		if err := s.AlarmRule.Validate(); err != nil {
 10368  			invalidParams.AddNested("AlarmRule", err.(request.ErrInvalidParams))
 10369  		}
 10370  	}
 10371  
 10372  	if invalidParams.Len() > 0 {
 10373  		return invalidParams
 10374  	}
 10375  	return nil
 10376  }
 10377  
 10378  // SetAlarmCapabilities sets the AlarmCapabilities field's value.
 10379  func (s *UpdateAlarmModelInput) SetAlarmCapabilities(v *AlarmCapabilities) *UpdateAlarmModelInput {
 10380  	s.AlarmCapabilities = v
 10381  	return s
 10382  }
 10383  
 10384  // SetAlarmEventActions sets the AlarmEventActions field's value.
 10385  func (s *UpdateAlarmModelInput) SetAlarmEventActions(v *AlarmEventActions) *UpdateAlarmModelInput {
 10386  	s.AlarmEventActions = v
 10387  	return s
 10388  }
 10389  
 10390  // SetAlarmModelDescription sets the AlarmModelDescription field's value.
 10391  func (s *UpdateAlarmModelInput) SetAlarmModelDescription(v string) *UpdateAlarmModelInput {
 10392  	s.AlarmModelDescription = &v
 10393  	return s
 10394  }
 10395  
 10396  // SetAlarmModelName sets the AlarmModelName field's value.
 10397  func (s *UpdateAlarmModelInput) SetAlarmModelName(v string) *UpdateAlarmModelInput {
 10398  	s.AlarmModelName = &v
 10399  	return s
 10400  }
 10401  
 10402  // SetAlarmNotification sets the AlarmNotification field's value.
 10403  func (s *UpdateAlarmModelInput) SetAlarmNotification(v *AlarmNotification) *UpdateAlarmModelInput {
 10404  	s.AlarmNotification = v
 10405  	return s
 10406  }
 10407  
 10408  // SetAlarmRule sets the AlarmRule field's value.
 10409  func (s *UpdateAlarmModelInput) SetAlarmRule(v *AlarmRule) *UpdateAlarmModelInput {
 10410  	s.AlarmRule = v
 10411  	return s
 10412  }
 10413  
 10414  // SetRoleArn sets the RoleArn field's value.
 10415  func (s *UpdateAlarmModelInput) SetRoleArn(v string) *UpdateAlarmModelInput {
 10416  	s.RoleArn = &v
 10417  	return s
 10418  }
 10419  
 10420  // SetSeverity sets the Severity field's value.
 10421  func (s *UpdateAlarmModelInput) SetSeverity(v int64) *UpdateAlarmModelInput {
 10422  	s.Severity = &v
 10423  	return s
 10424  }
 10425  
 10426  type UpdateAlarmModelOutput struct {
 10427  	_ struct{} `type:"structure"`
 10428  
 10429  	// The ARN of the alarm model. For more information, see Amazon Resource Names
 10430  	// (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 10431  	// in the AWS General Reference.
 10432  	AlarmModelArn *string `locationName:"alarmModelArn" type:"string"`
 10433  
 10434  	// The version of the alarm model.
 10435  	AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"`
 10436  
 10437  	// The time the alarm model was created, in the Unix epoch format.
 10438  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
 10439  
 10440  	// The time the alarm model was last updated, in the Unix epoch format.
 10441  	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
 10442  
 10443  	// The status of the alarm model. The status can be one of the following values:
 10444  	//
 10445  	//    * ACTIVE - The alarm model is active and it's ready to evaluate data.
 10446  	//
 10447  	//    * ACTIVATING - AWS IoT Events is activating your alarm model. Activating
 10448  	//    an alarm model can take up to a few minutes.
 10449  	//
 10450  	//    * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate
 10451  	//    data. Check your alarm model information and update the alarm model.
 10452  	//
 10453  	//    * FAILED - You couldn't create or update the alarm model. Check your alarm
 10454  	//    model information and try again.
 10455  	Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"`
 10456  }
 10457  
 10458  // String returns the string representation.
 10459  //
 10460  // API parameter values that are decorated as "sensitive" in the API will not
 10461  // be included in the string output. The member name will be present, but the
 10462  // value will be replaced with "sensitive".
 10463  func (s UpdateAlarmModelOutput) String() string {
 10464  	return awsutil.Prettify(s)
 10465  }
 10466  
 10467  // GoString returns the string representation.
 10468  //
 10469  // API parameter values that are decorated as "sensitive" in the API will not
 10470  // be included in the string output. The member name will be present, but the
 10471  // value will be replaced with "sensitive".
 10472  func (s UpdateAlarmModelOutput) GoString() string {
 10473  	return s.String()
 10474  }
 10475  
 10476  // SetAlarmModelArn sets the AlarmModelArn field's value.
 10477  func (s *UpdateAlarmModelOutput) SetAlarmModelArn(v string) *UpdateAlarmModelOutput {
 10478  	s.AlarmModelArn = &v
 10479  	return s
 10480  }
 10481  
 10482  // SetAlarmModelVersion sets the AlarmModelVersion field's value.
 10483  func (s *UpdateAlarmModelOutput) SetAlarmModelVersion(v string) *UpdateAlarmModelOutput {
 10484  	s.AlarmModelVersion = &v
 10485  	return s
 10486  }
 10487  
 10488  // SetCreationTime sets the CreationTime field's value.
 10489  func (s *UpdateAlarmModelOutput) SetCreationTime(v time.Time) *UpdateAlarmModelOutput {
 10490  	s.CreationTime = &v
 10491  	return s
 10492  }
 10493  
 10494  // SetLastUpdateTime sets the LastUpdateTime field's value.
 10495  func (s *UpdateAlarmModelOutput) SetLastUpdateTime(v time.Time) *UpdateAlarmModelOutput {
 10496  	s.LastUpdateTime = &v
 10497  	return s
 10498  }
 10499  
 10500  // SetStatus sets the Status field's value.
 10501  func (s *UpdateAlarmModelOutput) SetStatus(v string) *UpdateAlarmModelOutput {
 10502  	s.Status = &v
 10503  	return s
 10504  }
 10505  
 10506  type UpdateDetectorModelInput struct {
 10507  	_ struct{} `type:"structure"`
 10508  
 10509  	// Information that defines how a detector operates.
 10510  	//
 10511  	// DetectorModelDefinition is a required field
 10512  	DetectorModelDefinition *DetectorModelDefinition `locationName:"detectorModelDefinition" type:"structure" required:"true"`
 10513  
 10514  	// A brief description of the detector model.
 10515  	DetectorModelDescription *string `locationName:"detectorModelDescription" type:"string"`
 10516  
 10517  	// The name of the detector model that is updated.
 10518  	//
 10519  	// DetectorModelName is a required field
 10520  	DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"`
 10521  
 10522  	// Information about the order in which events are evaluated and how actions
 10523  	// are executed.
 10524  	EvaluationMethod *string `locationName:"evaluationMethod" type:"string" enum:"EvaluationMethod"`
 10525  
 10526  	// The ARN of the role that grants permission to AWS IoT Events to perform its
 10527  	// operations.
 10528  	//
 10529  	// RoleArn is a required field
 10530  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
 10531  }
 10532  
 10533  // String returns the string representation.
 10534  //
 10535  // API parameter values that are decorated as "sensitive" in the API will not
 10536  // be included in the string output. The member name will be present, but the
 10537  // value will be replaced with "sensitive".
 10538  func (s UpdateDetectorModelInput) String() string {
 10539  	return awsutil.Prettify(s)
 10540  }
 10541  
 10542  // GoString returns the string representation.
 10543  //
 10544  // API parameter values that are decorated as "sensitive" in the API will not
 10545  // be included in the string output. The member name will be present, but the
 10546  // value will be replaced with "sensitive".
 10547  func (s UpdateDetectorModelInput) GoString() string {
 10548  	return s.String()
 10549  }
 10550  
 10551  // Validate inspects the fields of the type to determine if they are valid.
 10552  func (s *UpdateDetectorModelInput) Validate() error {
 10553  	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorModelInput"}
 10554  	if s.DetectorModelDefinition == nil {
 10555  		invalidParams.Add(request.NewErrParamRequired("DetectorModelDefinition"))
 10556  	}
 10557  	if s.DetectorModelName == nil {
 10558  		invalidParams.Add(request.NewErrParamRequired("DetectorModelName"))
 10559  	}
 10560  	if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 {
 10561  		invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1))
 10562  	}
 10563  	if s.RoleArn == nil {
 10564  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 10565  	}
 10566  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
 10567  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
 10568  	}
 10569  	if s.DetectorModelDefinition != nil {
 10570  		if err := s.DetectorModelDefinition.Validate(); err != nil {
 10571  			invalidParams.AddNested("DetectorModelDefinition", err.(request.ErrInvalidParams))
 10572  		}
 10573  	}
 10574  
 10575  	if invalidParams.Len() > 0 {
 10576  		return invalidParams
 10577  	}
 10578  	return nil
 10579  }
 10580  
 10581  // SetDetectorModelDefinition sets the DetectorModelDefinition field's value.
 10582  func (s *UpdateDetectorModelInput) SetDetectorModelDefinition(v *DetectorModelDefinition) *UpdateDetectorModelInput {
 10583  	s.DetectorModelDefinition = v
 10584  	return s
 10585  }
 10586  
 10587  // SetDetectorModelDescription sets the DetectorModelDescription field's value.
 10588  func (s *UpdateDetectorModelInput) SetDetectorModelDescription(v string) *UpdateDetectorModelInput {
 10589  	s.DetectorModelDescription = &v
 10590  	return s
 10591  }
 10592  
 10593  // SetDetectorModelName sets the DetectorModelName field's value.
 10594  func (s *UpdateDetectorModelInput) SetDetectorModelName(v string) *UpdateDetectorModelInput {
 10595  	s.DetectorModelName = &v
 10596  	return s
 10597  }
 10598  
 10599  // SetEvaluationMethod sets the EvaluationMethod field's value.
 10600  func (s *UpdateDetectorModelInput) SetEvaluationMethod(v string) *UpdateDetectorModelInput {
 10601  	s.EvaluationMethod = &v
 10602  	return s
 10603  }
 10604  
 10605  // SetRoleArn sets the RoleArn field's value.
 10606  func (s *UpdateDetectorModelInput) SetRoleArn(v string) *UpdateDetectorModelInput {
 10607  	s.RoleArn = &v
 10608  	return s
 10609  }
 10610  
 10611  type UpdateDetectorModelOutput struct {
 10612  	_ struct{} `type:"structure"`
 10613  
 10614  	// Information about how the detector model is configured.
 10615  	DetectorModelConfiguration *DetectorModelConfiguration `locationName:"detectorModelConfiguration" type:"structure"`
 10616  }
 10617  
 10618  // String returns the string representation.
 10619  //
 10620  // API parameter values that are decorated as "sensitive" in the API will not
 10621  // be included in the string output. The member name will be present, but the
 10622  // value will be replaced with "sensitive".
 10623  func (s UpdateDetectorModelOutput) String() string {
 10624  	return awsutil.Prettify(s)
 10625  }
 10626  
 10627  // GoString returns the string representation.
 10628  //
 10629  // API parameter values that are decorated as "sensitive" in the API will not
 10630  // be included in the string output. The member name will be present, but the
 10631  // value will be replaced with "sensitive".
 10632  func (s UpdateDetectorModelOutput) GoString() string {
 10633  	return s.String()
 10634  }
 10635  
 10636  // SetDetectorModelConfiguration sets the DetectorModelConfiguration field's value.
 10637  func (s *UpdateDetectorModelOutput) SetDetectorModelConfiguration(v *DetectorModelConfiguration) *UpdateDetectorModelOutput {
 10638  	s.DetectorModelConfiguration = v
 10639  	return s
 10640  }
 10641  
 10642  type UpdateInputInput struct {
 10643  	_ struct{} `type:"structure"`
 10644  
 10645  	// The definition of the input.
 10646  	//
 10647  	// InputDefinition is a required field
 10648  	InputDefinition *InputDefinition `locationName:"inputDefinition" type:"structure" required:"true"`
 10649  
 10650  	// A brief description of the input.
 10651  	InputDescription *string `locationName:"inputDescription" type:"string"`
 10652  
 10653  	// The name of the input you want to update.
 10654  	//
 10655  	// InputName is a required field
 10656  	InputName *string `location:"uri" locationName:"inputName" min:"1" type:"string" required:"true"`
 10657  }
 10658  
 10659  // String returns the string representation.
 10660  //
 10661  // API parameter values that are decorated as "sensitive" in the API will not
 10662  // be included in the string output. The member name will be present, but the
 10663  // value will be replaced with "sensitive".
 10664  func (s UpdateInputInput) String() string {
 10665  	return awsutil.Prettify(s)
 10666  }
 10667  
 10668  // GoString returns the string representation.
 10669  //
 10670  // API parameter values that are decorated as "sensitive" in the API will not
 10671  // be included in the string output. The member name will be present, but the
 10672  // value will be replaced with "sensitive".
 10673  func (s UpdateInputInput) GoString() string {
 10674  	return s.String()
 10675  }
 10676  
 10677  // Validate inspects the fields of the type to determine if they are valid.
 10678  func (s *UpdateInputInput) Validate() error {
 10679  	invalidParams := request.ErrInvalidParams{Context: "UpdateInputInput"}
 10680  	if s.InputDefinition == nil {
 10681  		invalidParams.Add(request.NewErrParamRequired("InputDefinition"))
 10682  	}
 10683  	if s.InputName == nil {
 10684  		invalidParams.Add(request.NewErrParamRequired("InputName"))
 10685  	}
 10686  	if s.InputName != nil && len(*s.InputName) < 1 {
 10687  		invalidParams.Add(request.NewErrParamMinLen("InputName", 1))
 10688  	}
 10689  	if s.InputDefinition != nil {
 10690  		if err := s.InputDefinition.Validate(); err != nil {
 10691  			invalidParams.AddNested("InputDefinition", err.(request.ErrInvalidParams))
 10692  		}
 10693  	}
 10694  
 10695  	if invalidParams.Len() > 0 {
 10696  		return invalidParams
 10697  	}
 10698  	return nil
 10699  }
 10700  
 10701  // SetInputDefinition sets the InputDefinition field's value.
 10702  func (s *UpdateInputInput) SetInputDefinition(v *InputDefinition) *UpdateInputInput {
 10703  	s.InputDefinition = v
 10704  	return s
 10705  }
 10706  
 10707  // SetInputDescription sets the InputDescription field's value.
 10708  func (s *UpdateInputInput) SetInputDescription(v string) *UpdateInputInput {
 10709  	s.InputDescription = &v
 10710  	return s
 10711  }
 10712  
 10713  // SetInputName sets the InputName field's value.
 10714  func (s *UpdateInputInput) SetInputName(v string) *UpdateInputInput {
 10715  	s.InputName = &v
 10716  	return s
 10717  }
 10718  
 10719  type UpdateInputOutput struct {
 10720  	_ struct{} `type:"structure"`
 10721  
 10722  	// Information about the configuration of the input.
 10723  	InputConfiguration *InputConfiguration `locationName:"inputConfiguration" type:"structure"`
 10724  }
 10725  
 10726  // String returns the string representation.
 10727  //
 10728  // API parameter values that are decorated as "sensitive" in the API will not
 10729  // be included in the string output. The member name will be present, but the
 10730  // value will be replaced with "sensitive".
 10731  func (s UpdateInputOutput) String() string {
 10732  	return awsutil.Prettify(s)
 10733  }
 10734  
 10735  // GoString returns the string representation.
 10736  //
 10737  // API parameter values that are decorated as "sensitive" in the API will not
 10738  // be included in the string output. The member name will be present, but the
 10739  // value will be replaced with "sensitive".
 10740  func (s UpdateInputOutput) GoString() string {
 10741  	return s.String()
 10742  }
 10743  
 10744  // SetInputConfiguration sets the InputConfiguration field's value.
 10745  func (s *UpdateInputOutput) SetInputConfiguration(v *InputConfiguration) *UpdateInputOutput {
 10746  	s.InputConfiguration = v
 10747  	return s
 10748  }
 10749  
 10750  const (
 10751  	// AlarmModelVersionStatusActive is a AlarmModelVersionStatus enum value
 10752  	AlarmModelVersionStatusActive = "ACTIVE"
 10753  
 10754  	// AlarmModelVersionStatusActivating is a AlarmModelVersionStatus enum value
 10755  	AlarmModelVersionStatusActivating = "ACTIVATING"
 10756  
 10757  	// AlarmModelVersionStatusInactive is a AlarmModelVersionStatus enum value
 10758  	AlarmModelVersionStatusInactive = "INACTIVE"
 10759  
 10760  	// AlarmModelVersionStatusFailed is a AlarmModelVersionStatus enum value
 10761  	AlarmModelVersionStatusFailed = "FAILED"
 10762  )
 10763  
 10764  // AlarmModelVersionStatus_Values returns all elements of the AlarmModelVersionStatus enum
 10765  func AlarmModelVersionStatus_Values() []string {
 10766  	return []string{
 10767  		AlarmModelVersionStatusActive,
 10768  		AlarmModelVersionStatusActivating,
 10769  		AlarmModelVersionStatusInactive,
 10770  		AlarmModelVersionStatusFailed,
 10771  	}
 10772  }
 10773  
 10774  const (
 10775  	// AnalysisResultLevelInfo is a AnalysisResultLevel enum value
 10776  	AnalysisResultLevelInfo = "INFO"
 10777  
 10778  	// AnalysisResultLevelWarning is a AnalysisResultLevel enum value
 10779  	AnalysisResultLevelWarning = "WARNING"
 10780  
 10781  	// AnalysisResultLevelError is a AnalysisResultLevel enum value
 10782  	AnalysisResultLevelError = "ERROR"
 10783  )
 10784  
 10785  // AnalysisResultLevel_Values returns all elements of the AnalysisResultLevel enum
 10786  func AnalysisResultLevel_Values() []string {
 10787  	return []string{
 10788  		AnalysisResultLevelInfo,
 10789  		AnalysisResultLevelWarning,
 10790  		AnalysisResultLevelError,
 10791  	}
 10792  }
 10793  
 10794  const (
 10795  	// AnalysisStatusRunning is a AnalysisStatus enum value
 10796  	AnalysisStatusRunning = "RUNNING"
 10797  
 10798  	// AnalysisStatusComplete is a AnalysisStatus enum value
 10799  	AnalysisStatusComplete = "COMPLETE"
 10800  
 10801  	// AnalysisStatusFailed is a AnalysisStatus enum value
 10802  	AnalysisStatusFailed = "FAILED"
 10803  )
 10804  
 10805  // AnalysisStatus_Values returns all elements of the AnalysisStatus enum
 10806  func AnalysisStatus_Values() []string {
 10807  	return []string{
 10808  		AnalysisStatusRunning,
 10809  		AnalysisStatusComplete,
 10810  		AnalysisStatusFailed,
 10811  	}
 10812  }
 10813  
 10814  const (
 10815  	// ComparisonOperatorGreater is a ComparisonOperator enum value
 10816  	ComparisonOperatorGreater = "GREATER"
 10817  
 10818  	// ComparisonOperatorGreaterOrEqual is a ComparisonOperator enum value
 10819  	ComparisonOperatorGreaterOrEqual = "GREATER_OR_EQUAL"
 10820  
 10821  	// ComparisonOperatorLess is a ComparisonOperator enum value
 10822  	ComparisonOperatorLess = "LESS"
 10823  
 10824  	// ComparisonOperatorLessOrEqual is a ComparisonOperator enum value
 10825  	ComparisonOperatorLessOrEqual = "LESS_OR_EQUAL"
 10826  
 10827  	// ComparisonOperatorEqual is a ComparisonOperator enum value
 10828  	ComparisonOperatorEqual = "EQUAL"
 10829  
 10830  	// ComparisonOperatorNotEqual is a ComparisonOperator enum value
 10831  	ComparisonOperatorNotEqual = "NOT_EQUAL"
 10832  )
 10833  
 10834  // ComparisonOperator_Values returns all elements of the ComparisonOperator enum
 10835  func ComparisonOperator_Values() []string {
 10836  	return []string{
 10837  		ComparisonOperatorGreater,
 10838  		ComparisonOperatorGreaterOrEqual,
 10839  		ComparisonOperatorLess,
 10840  		ComparisonOperatorLessOrEqual,
 10841  		ComparisonOperatorEqual,
 10842  		ComparisonOperatorNotEqual,
 10843  	}
 10844  }
 10845  
 10846  const (
 10847  	// DetectorModelVersionStatusActive is a DetectorModelVersionStatus enum value
 10848  	DetectorModelVersionStatusActive = "ACTIVE"
 10849  
 10850  	// DetectorModelVersionStatusActivating is a DetectorModelVersionStatus enum value
 10851  	DetectorModelVersionStatusActivating = "ACTIVATING"
 10852  
 10853  	// DetectorModelVersionStatusInactive is a DetectorModelVersionStatus enum value
 10854  	DetectorModelVersionStatusInactive = "INACTIVE"
 10855  
 10856  	// DetectorModelVersionStatusDeprecated is a DetectorModelVersionStatus enum value
 10857  	DetectorModelVersionStatusDeprecated = "DEPRECATED"
 10858  
 10859  	// DetectorModelVersionStatusDraft is a DetectorModelVersionStatus enum value
 10860  	DetectorModelVersionStatusDraft = "DRAFT"
 10861  
 10862  	// DetectorModelVersionStatusPaused is a DetectorModelVersionStatus enum value
 10863  	DetectorModelVersionStatusPaused = "PAUSED"
 10864  
 10865  	// DetectorModelVersionStatusFailed is a DetectorModelVersionStatus enum value
 10866  	DetectorModelVersionStatusFailed = "FAILED"
 10867  )
 10868  
 10869  // DetectorModelVersionStatus_Values returns all elements of the DetectorModelVersionStatus enum
 10870  func DetectorModelVersionStatus_Values() []string {
 10871  	return []string{
 10872  		DetectorModelVersionStatusActive,
 10873  		DetectorModelVersionStatusActivating,
 10874  		DetectorModelVersionStatusInactive,
 10875  		DetectorModelVersionStatusDeprecated,
 10876  		DetectorModelVersionStatusDraft,
 10877  		DetectorModelVersionStatusPaused,
 10878  		DetectorModelVersionStatusFailed,
 10879  	}
 10880  }
 10881  
 10882  const (
 10883  	// EvaluationMethodBatch is a EvaluationMethod enum value
 10884  	EvaluationMethodBatch = "BATCH"
 10885  
 10886  	// EvaluationMethodSerial is a EvaluationMethod enum value
 10887  	EvaluationMethodSerial = "SERIAL"
 10888  )
 10889  
 10890  // EvaluationMethod_Values returns all elements of the EvaluationMethod enum
 10891  func EvaluationMethod_Values() []string {
 10892  	return []string{
 10893  		EvaluationMethodBatch,
 10894  		EvaluationMethodSerial,
 10895  	}
 10896  }
 10897  
 10898  const (
 10899  	// InputStatusCreating is a InputStatus enum value
 10900  	InputStatusCreating = "CREATING"
 10901  
 10902  	// InputStatusUpdating is a InputStatus enum value
 10903  	InputStatusUpdating = "UPDATING"
 10904  
 10905  	// InputStatusActive is a InputStatus enum value
 10906  	InputStatusActive = "ACTIVE"
 10907  
 10908  	// InputStatusDeleting is a InputStatus enum value
 10909  	InputStatusDeleting = "DELETING"
 10910  )
 10911  
 10912  // InputStatus_Values returns all elements of the InputStatus enum
 10913  func InputStatus_Values() []string {
 10914  	return []string{
 10915  		InputStatusCreating,
 10916  		InputStatusUpdating,
 10917  		InputStatusActive,
 10918  		InputStatusDeleting,
 10919  	}
 10920  }
 10921  
 10922  const (
 10923  	// LoggingLevelError is a LoggingLevel enum value
 10924  	LoggingLevelError = "ERROR"
 10925  
 10926  	// LoggingLevelInfo is a LoggingLevel enum value
 10927  	LoggingLevelInfo = "INFO"
 10928  
 10929  	// LoggingLevelDebug is a LoggingLevel enum value
 10930  	LoggingLevelDebug = "DEBUG"
 10931  )
 10932  
 10933  // LoggingLevel_Values returns all elements of the LoggingLevel enum
 10934  func LoggingLevel_Values() []string {
 10935  	return []string{
 10936  		LoggingLevelError,
 10937  		LoggingLevelInfo,
 10938  		LoggingLevelDebug,
 10939  	}
 10940  }
 10941  
 10942  const (
 10943  	// PayloadTypeString is a PayloadType enum value
 10944  	PayloadTypeString = "STRING"
 10945  
 10946  	// PayloadTypeJson is a PayloadType enum value
 10947  	PayloadTypeJson = "JSON"
 10948  )
 10949  
 10950  // PayloadType_Values returns all elements of the PayloadType enum
 10951  func PayloadType_Values() []string {
 10952  	return []string{
 10953  		PayloadTypeString,
 10954  		PayloadTypeJson,
 10955  	}
 10956  }