aws-sdk-iotevents 1.21.0 → 1.22.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,6 +16,16 @@ module Aws::IoTEvents
16
16
  Action = Shapes::StructureShape.new(name: 'Action')
17
17
  Actions = Shapes::ListShape.new(name: 'Actions')
18
18
  AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
19
+ AnalysisId = Shapes::StringShape.new(name: 'AnalysisId')
20
+ AnalysisMessage = Shapes::StringShape.new(name: 'AnalysisMessage')
21
+ AnalysisResult = Shapes::StructureShape.new(name: 'AnalysisResult')
22
+ AnalysisResultLevel = Shapes::StringShape.new(name: 'AnalysisResultLevel')
23
+ AnalysisResultLocation = Shapes::StructureShape.new(name: 'AnalysisResultLocation')
24
+ AnalysisResultLocationPath = Shapes::StringShape.new(name: 'AnalysisResultLocationPath')
25
+ AnalysisResultLocations = Shapes::ListShape.new(name: 'AnalysisResultLocations')
26
+ AnalysisResults = Shapes::ListShape.new(name: 'AnalysisResults')
27
+ AnalysisStatus = Shapes::StringShape.new(name: 'AnalysisStatus')
28
+ AnalysisType = Shapes::StringShape.new(name: 'AnalysisType')
19
29
  AssetId = Shapes::StringShape.new(name: 'AssetId')
20
30
  AssetPropertyAlias = Shapes::StringShape.new(name: 'AssetPropertyAlias')
21
31
  AssetPropertyBooleanValue = Shapes::StringShape.new(name: 'AssetPropertyBooleanValue')
@@ -45,6 +55,8 @@ module Aws::IoTEvents
45
55
  DeleteInputRequest = Shapes::StructureShape.new(name: 'DeleteInputRequest')
46
56
  DeleteInputResponse = Shapes::StructureShape.new(name: 'DeleteInputResponse')
47
57
  DeliveryStreamName = Shapes::StringShape.new(name: 'DeliveryStreamName')
58
+ DescribeDetectorModelAnalysisRequest = Shapes::StructureShape.new(name: 'DescribeDetectorModelAnalysisRequest')
59
+ DescribeDetectorModelAnalysisResponse = Shapes::StructureShape.new(name: 'DescribeDetectorModelAnalysisResponse')
48
60
  DescribeDetectorModelRequest = Shapes::StructureShape.new(name: 'DescribeDetectorModelRequest')
49
61
  DescribeDetectorModelResponse = Shapes::StructureShape.new(name: 'DescribeDetectorModelResponse')
50
62
  DescribeInputRequest = Shapes::StructureShape.new(name: 'DescribeInputRequest')
@@ -78,6 +90,8 @@ module Aws::IoTEvents
78
90
  Events = Shapes::ListShape.new(name: 'Events')
79
91
  FirehoseAction = Shapes::StructureShape.new(name: 'FirehoseAction')
80
92
  FirehoseSeparator = Shapes::StringShape.new(name: 'FirehoseSeparator')
93
+ GetDetectorModelAnalysisResultsRequest = Shapes::StructureShape.new(name: 'GetDetectorModelAnalysisResultsRequest')
94
+ GetDetectorModelAnalysisResultsResponse = Shapes::StructureShape.new(name: 'GetDetectorModelAnalysisResultsResponse')
81
95
  Input = Shapes::StructureShape.new(name: 'Input')
82
96
  InputArn = Shapes::StringShape.new(name: 'InputArn')
83
97
  InputConfiguration = Shapes::StructureShape.new(name: 'InputConfiguration')
@@ -107,6 +121,7 @@ module Aws::IoTEvents
107
121
  LoggingLevel = Shapes::StringShape.new(name: 'LoggingLevel')
108
122
  LoggingOptions = Shapes::StructureShape.new(name: 'LoggingOptions')
109
123
  MQTTTopic = Shapes::StringShape.new(name: 'MQTTTopic')
124
+ MaxAnalysisResults = Shapes::IntegerShape.new(name: 'MaxAnalysisResults')
110
125
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
111
126
  NextToken = Shapes::StringShape.new(name: 'NextToken')
112
127
  OnEnterLifecycle = Shapes::StructureShape.new(name: 'OnEnterLifecycle')
@@ -126,6 +141,8 @@ module Aws::IoTEvents
126
141
  SetTimerAction = Shapes::StructureShape.new(name: 'SetTimerAction')
127
142
  SetVariableAction = Shapes::StructureShape.new(name: 'SetVariableAction')
128
143
  SqsAction = Shapes::StructureShape.new(name: 'SqsAction')
144
+ StartDetectorModelAnalysisRequest = Shapes::StructureShape.new(name: 'StartDetectorModelAnalysisRequest')
145
+ StartDetectorModelAnalysisResponse = Shapes::StructureShape.new(name: 'StartDetectorModelAnalysisResponse')
129
146
  State = Shapes::StructureShape.new(name: 'State')
130
147
  StateName = Shapes::StringShape.new(name: 'StateName')
131
148
  States = Shapes::ListShape.new(name: 'States')
@@ -172,6 +189,19 @@ module Aws::IoTEvents
172
189
 
173
190
  Actions.member = Shapes::ShapeRef.new(shape: Action)
174
191
 
192
+ AnalysisResult.add_member(:type, Shapes::ShapeRef.new(shape: AnalysisType, location_name: "type"))
193
+ AnalysisResult.add_member(:level, Shapes::ShapeRef.new(shape: AnalysisResultLevel, location_name: "level"))
194
+ AnalysisResult.add_member(:message, Shapes::ShapeRef.new(shape: AnalysisMessage, location_name: "message"))
195
+ AnalysisResult.add_member(:locations, Shapes::ShapeRef.new(shape: AnalysisResultLocations, location_name: "locations"))
196
+ AnalysisResult.struct_class = Types::AnalysisResult
197
+
198
+ AnalysisResultLocation.add_member(:path, Shapes::ShapeRef.new(shape: AnalysisResultLocationPath, location_name: "path"))
199
+ AnalysisResultLocation.struct_class = Types::AnalysisResultLocation
200
+
201
+ AnalysisResultLocations.member = Shapes::ShapeRef.new(shape: AnalysisResultLocation)
202
+
203
+ AnalysisResults.member = Shapes::ShapeRef.new(shape: AnalysisResult)
204
+
175
205
  AssetPropertyTimestamp.add_member(:time_in_seconds, Shapes::ShapeRef.new(shape: AssetPropertyTimeInSeconds, required: true, location_name: "timeInSeconds"))
176
206
  AssetPropertyTimestamp.add_member(:offset_in_nanos, Shapes::ShapeRef.new(shape: AssetPropertyOffsetInNanos, location_name: "offsetInNanos"))
177
207
  AssetPropertyTimestamp.struct_class = Types::AssetPropertyTimestamp
@@ -226,6 +256,12 @@ module Aws::IoTEvents
226
256
 
227
257
  DeleteInputResponse.struct_class = Types::DeleteInputResponse
228
258
 
259
+ DescribeDetectorModelAnalysisRequest.add_member(:analysis_id, Shapes::ShapeRef.new(shape: AnalysisId, required: true, location: "uri", location_name: "analysisId"))
260
+ DescribeDetectorModelAnalysisRequest.struct_class = Types::DescribeDetectorModelAnalysisRequest
261
+
262
+ DescribeDetectorModelAnalysisResponse.add_member(:status, Shapes::ShapeRef.new(shape: AnalysisStatus, location_name: "status"))
263
+ DescribeDetectorModelAnalysisResponse.struct_class = Types::DescribeDetectorModelAnalysisResponse
264
+
229
265
  DescribeDetectorModelRequest.add_member(:detector_model_name, Shapes::ShapeRef.new(shape: DetectorModelName, required: true, location: "uri", location_name: "detectorModelName"))
230
266
  DescribeDetectorModelRequest.add_member(:detector_model_version, Shapes::ShapeRef.new(shape: DetectorModelVersion, location: "querystring", location_name: "version"))
231
267
  DescribeDetectorModelRequest.struct_class = Types::DescribeDetectorModelRequest
@@ -317,6 +353,15 @@ module Aws::IoTEvents
317
353
  FirehoseAction.add_member(:payload, Shapes::ShapeRef.new(shape: Payload, location_name: "payload"))
318
354
  FirehoseAction.struct_class = Types::FirehoseAction
319
355
 
356
+ GetDetectorModelAnalysisResultsRequest.add_member(:analysis_id, Shapes::ShapeRef.new(shape: AnalysisId, required: true, location: "uri", location_name: "analysisId"))
357
+ GetDetectorModelAnalysisResultsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
358
+ GetDetectorModelAnalysisResultsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxAnalysisResults, location: "querystring", location_name: "maxResults"))
359
+ GetDetectorModelAnalysisResultsRequest.struct_class = Types::GetDetectorModelAnalysisResultsRequest
360
+
361
+ GetDetectorModelAnalysisResultsResponse.add_member(:analysis_results, Shapes::ShapeRef.new(shape: AnalysisResults, location_name: "analysisResults"))
362
+ GetDetectorModelAnalysisResultsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
363
+ GetDetectorModelAnalysisResultsResponse.struct_class = Types::GetDetectorModelAnalysisResultsResponse
364
+
320
365
  Input.add_member(:input_configuration, Shapes::ShapeRef.new(shape: InputConfiguration, location_name: "inputConfiguration"))
321
366
  Input.add_member(:input_definition, Shapes::ShapeRef.new(shape: InputDefinition, location_name: "inputDefinition"))
322
367
  Input.struct_class = Types::Input
@@ -459,6 +504,12 @@ module Aws::IoTEvents
459
504
  SqsAction.add_member(:payload, Shapes::ShapeRef.new(shape: Payload, location_name: "payload"))
460
505
  SqsAction.struct_class = Types::SqsAction
461
506
 
507
+ StartDetectorModelAnalysisRequest.add_member(:detector_model_definition, Shapes::ShapeRef.new(shape: DetectorModelDefinition, required: true, location_name: "detectorModelDefinition"))
508
+ StartDetectorModelAnalysisRequest.struct_class = Types::StartDetectorModelAnalysisRequest
509
+
510
+ StartDetectorModelAnalysisResponse.add_member(:analysis_id, Shapes::ShapeRef.new(shape: AnalysisId, location_name: "analysisId"))
511
+ StartDetectorModelAnalysisResponse.struct_class = Types::StartDetectorModelAnalysisResponse
512
+
462
513
  State.add_member(:state_name, Shapes::ShapeRef.new(shape: StateName, required: true, location_name: "stateName"))
463
514
  State.add_member(:on_input, Shapes::ShapeRef.new(shape: OnInputLifecycle, location_name: "onInput"))
464
515
  State.add_member(:on_enter, Shapes::ShapeRef.new(shape: OnEnterLifecycle, location_name: "onEnter"))
@@ -605,6 +656,19 @@ module Aws::IoTEvents
605
656
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
606
657
  end)
607
658
 
659
+ api.add_operation(:describe_detector_model_analysis, Seahorse::Model::Operation.new.tap do |o|
660
+ o.name = "DescribeDetectorModelAnalysis"
661
+ o.http_method = "GET"
662
+ o.http_request_uri = "/analysis/detector-models/{analysisId}"
663
+ o.input = Shapes::ShapeRef.new(shape: DescribeDetectorModelAnalysisRequest)
664
+ o.output = Shapes::ShapeRef.new(shape: DescribeDetectorModelAnalysisResponse)
665
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
666
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
667
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
668
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
669
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
670
+ end)
671
+
608
672
  api.add_operation(:describe_input, Seahorse::Model::Operation.new.tap do |o|
609
673
  o.name = "DescribeInput"
610
674
  o.http_method = "GET"
@@ -632,6 +696,19 @@ module Aws::IoTEvents
632
696
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
633
697
  end)
634
698
 
699
+ api.add_operation(:get_detector_model_analysis_results, Seahorse::Model::Operation.new.tap do |o|
700
+ o.name = "GetDetectorModelAnalysisResults"
701
+ o.http_method = "GET"
702
+ o.http_request_uri = "/analysis/detector-models/{analysisId}/results"
703
+ o.input = Shapes::ShapeRef.new(shape: GetDetectorModelAnalysisResultsRequest)
704
+ o.output = Shapes::ShapeRef.new(shape: GetDetectorModelAnalysisResultsResponse)
705
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
706
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
707
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
708
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
709
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
710
+ end)
711
+
635
712
  api.add_operation(:list_detector_model_versions, Seahorse::Model::Operation.new.tap do |o|
636
713
  o.name = "ListDetectorModelVersions"
637
714
  o.http_method = "GET"
@@ -696,6 +773,19 @@ module Aws::IoTEvents
696
773
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
697
774
  end)
698
775
 
776
+ api.add_operation(:start_detector_model_analysis, Seahorse::Model::Operation.new.tap do |o|
777
+ o.name = "StartDetectorModelAnalysis"
778
+ o.http_method = "POST"
779
+ o.http_request_uri = "/analysis/detector-models/"
780
+ o.input = Shapes::ShapeRef.new(shape: StartDetectorModelAnalysisRequest)
781
+ o.output = Shapes::ShapeRef.new(shape: StartDetectorModelAnalysisResponse)
782
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
783
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
784
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
785
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
786
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
787
+ end)
788
+
699
789
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
700
790
  o.name = "TagResource"
701
791
  o.http_method = "POST"
@@ -168,7 +168,7 @@ module Aws::IoTEvents
168
168
  # Writes to the DynamoDB table that you created. The default action
169
169
  # payload contains all attribute-value pairs that have the information
170
170
  # about the detector model instance and the event that triggered the
171
- # action. You can also customize the [payload][1]. One column of the
171
+ # action. You can customize the [payload][1]. One column of the
172
172
  # DynamoDB table receives all attribute-value pairs in the payload
173
173
  # that you specify. For more information, see [Actions][2] in *AWS IoT
174
174
  # Events Developer Guide*.
@@ -183,10 +183,10 @@ module Aws::IoTEvents
183
183
  # Writes to the DynamoDB table that you created. The default action
184
184
  # payload contains all attribute-value pairs that have the information
185
185
  # about the detector model instance and the event that triggered the
186
- # action. You can also customize the [payload][1]. A separate column
187
- # of the DynamoDB table receives one attribute-value pair in the
188
- # payload that you specify. For more information, see [Actions][2] in
189
- # *AWS IoT Events Developer Guide*.
186
+ # action. You can customize the [payload][1]. A separate column of the
187
+ # DynamoDB table receives one attribute-value pair in the payload that
188
+ # you specify. For more information, see [Actions][2] in *AWS IoT
189
+ # Events Developer Guide*.
190
190
  #
191
191
  #
192
192
  #
@@ -217,20 +217,126 @@ module Aws::IoTEvents
217
217
  include Aws::Structure
218
218
  end
219
219
 
220
+ # Contains the result of the analysis.
221
+ #
222
+ # @!attribute [rw] type
223
+ # The type of the analysis result. Analyses fall into the following
224
+ # types based on the validators used to generate the analysis result:
225
+ #
226
+ # * `supported-actions` - You must specify AWS IoT Events supported
227
+ # actions that work with other AWS services in a supported AWS
228
+ # Region.
229
+ #
230
+ # * `service-limits` - Resources or operations can't exceed service
231
+ # limits. Update your detector model or request a limit adjust.
232
+ #
233
+ # * `structure` - The detector model must follow a structure that AWS
234
+ # IoT Events supports.
235
+ #
236
+ # * `expression-syntax` - Your expression must follow the required
237
+ # syntax.
238
+ #
239
+ # * `data-type` - Data types referenced in the detector model must be
240
+ # compatible.
241
+ #
242
+ # * `referenced-data` - You must define the data referenced in your
243
+ # detector model before you can use the data.
244
+ #
245
+ # * `referenced-resource` - Resources that the detector model uses
246
+ # must be available.
247
+ #
248
+ # For more information, see [Running detector model analyses][1] in
249
+ # the *AWS IoT Events Developer Guide*.
250
+ #
251
+ #
252
+ #
253
+ # [1]: https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html
254
+ # @return [String]
255
+ #
256
+ # @!attribute [rw] level
257
+ # The severity level of the analysis result. Analysis results fall
258
+ # into three general categories based on the severity level:
259
+ #
260
+ # * `INFO` - An information result informs you about a significant
261
+ # field in your detector model. This type of result usually doesn't
262
+ # require immediate action.
263
+ #
264
+ # * `WARNING` - A warning result draws special attention to fields
265
+ # that are potentially damaging to your detector model. We recommend
266
+ # that you review warnings and take necessary actions before you use
267
+ # your detetor model in production environments. Otherwise, the
268
+ # detector model may not fully function as expected.
269
+ #
270
+ # * `ERROR` - An error result notifies you about a problem found in
271
+ # your detector model. You must fix all errors before you can
272
+ # publish your detector model.
273
+ # @return [String]
274
+ #
275
+ # @!attribute [rw] message
276
+ # Contains additional information about the analysis result.
277
+ # @return [String]
278
+ #
279
+ # @!attribute [rw] locations
280
+ # Contains one or more locations that you can use to locate the fields
281
+ # in your detector model that the analysis result references.
282
+ # @return [Array<Types::AnalysisResultLocation>]
283
+ #
284
+ class AnalysisResult < Struct.new(
285
+ :type,
286
+ :level,
287
+ :message,
288
+ :locations)
289
+ SENSITIVE = []
290
+ include Aws::Structure
291
+ end
292
+
293
+ # Contains information that you can use to locate the field in your
294
+ # detector model that the analysis result references.
295
+ #
296
+ # @!attribute [rw] path
297
+ # A [JsonPath][1] expression that identifies the error field in your
298
+ # detector model.
299
+ #
300
+ #
301
+ #
302
+ # [1]: https://github.com/json-path/JsonPath
303
+ # @return [String]
304
+ #
305
+ class AnalysisResultLocation < Struct.new(
306
+ :path)
307
+ SENSITIVE = []
308
+ include Aws::Structure
309
+ end
310
+
220
311
  # A structure that contains timestamp information. For more information,
221
312
  # see [TimeInNanos][1] in the *AWS IoT SiteWise API Reference*.
222
313
  #
223
- # For parameters that are string data type, you can specify the
224
- # following options:
314
+ # You must use expressions for all parameters in
315
+ # `AssetPropertyTimestamp`. The expressions accept literals, operators,
316
+ # functions, references, and substitution templates.
317
+ #
318
+ # **Examples**
225
319
  #
226
- # * Use a string. For example, the `timeInSeconds` value can be
320
+ # * For literal values, the expressions must contain single quotes. For
321
+ # example, the value for the `timeInSeconds` parameter can be
227
322
  # `'1586400675'`.
228
323
  #
229
- # * Use an expression. For example, the `timeInSeconds` value can be
230
- # `'$\{$input.TemperatureInput.sensorData.timestamp/1000\}'`.
324
+ # * For references, you must specify either variables or input values.
325
+ # For example, the value for the `offsetInNanos` parameter can be
326
+ # `$variable.time`.
231
327
  #
232
- # For more information, see [Expressions][2] in the *AWS IoT Events
233
- # Developer Guide*.
328
+ # * For a substitution template, you must use `$\{\}`, and the template
329
+ # must be in single quotes. A substitution template can also contain a
330
+ # combination of literals, operators, functions, references, and
331
+ # substitution templates.
332
+ #
333
+ # In the following example, the value for the `timeInSeconds`
334
+ # parameter uses a substitution template.
335
+ #
336
+ # `'$\{$input.TemperatureInput.sensorData.timestamp / 1000\}'`
337
+ #
338
+ # For more information, see [Expressions][2] in the *AWS IoT Events
339
+ # Developer Guide*.
234
340
  #
235
341
  #
236
342
  #
@@ -247,12 +353,12 @@ module Aws::IoTEvents
247
353
  #
248
354
  # @!attribute [rw] time_in_seconds
249
355
  # The timestamp, in seconds, in the Unix epoch format. The valid range
250
- # is between 1-31556889864403199. You can also specify an expression.
356
+ # is between 1-31556889864403199.
251
357
  # @return [String]
252
358
  #
253
359
  # @!attribute [rw] offset_in_nanos
254
360
  # The nanosecond offset converted from `timeInSeconds`. The valid
255
- # range is between 0-999999999. You can also specify an expression.
361
+ # range is between 0-999999999.
256
362
  # @return [String]
257
363
  #
258
364
  class AssetPropertyTimestamp < Struct.new(
@@ -265,16 +371,21 @@ module Aws::IoTEvents
265
371
  # A structure that contains value information. For more information, see
266
372
  # [AssetPropertyValue][1] in the *AWS IoT SiteWise API Reference*.
267
373
  #
268
- # For parameters that are string data type, you can specify the
269
- # following options:
374
+ # You must use expressions for all parameters in `AssetPropertyValue`.
375
+ # The expressions accept literals, operators, functions, references, and
376
+ # substitution templates.
270
377
  #
271
- # * Use a string. For example, the `quality` value can be `'GOOD'`.
378
+ # **Examples**
272
379
  #
273
- # * Use an expression. For example, the `quality` value can be
274
- # `$input.TemperatureInput.sensorData.quality` .
380
+ # * For literal values, the expressions must contain single quotes. For
381
+ # example, the value for the `quality` parameter can be `'GOOD'`.
275
382
  #
276
- # For more information, see [Expressions][2] in the *AWS IoT Events
277
- # Developer Guide*.
383
+ # * For references, you must specify either variables or input values.
384
+ # For example, the value for the `quality` parameter can be
385
+ # `$input.TemperatureInput.sensorData.quality`.
386
+ #
387
+ # For more information, see [Expressions][2] in the *AWS IoT Events
388
+ # Developer Guide*.
278
389
  #
279
390
  #
280
391
  #
@@ -308,8 +419,8 @@ module Aws::IoTEvents
308
419
  # @return [Types::AssetPropertyTimestamp]
309
420
  #
310
421
  # @!attribute [rw] quality
311
- # The quality of the asset property value. The value must be `GOOD`,
312
- # `BAD`, or `UNCERTAIN`. You can also specify an expression.
422
+ # The quality of the asset property value. The value must be `'GOOD'`,
423
+ # `'BAD'`, or `'UNCERTAIN'`.
313
424
  # @return [String]
314
425
  #
315
426
  class AssetPropertyValue < Struct.new(
@@ -323,26 +434,41 @@ module Aws::IoTEvents
323
434
  # A structure that contains an asset property value. For more
324
435
  # information, see [Variant][1] in the *AWS IoT SiteWise API Reference*.
325
436
  #
326
- # You must specify one of the following value types, depending on the
327
- # `dataType` of the specified asset property. For more information, see
328
- # [AssetProperty][2] in the *AWS IoT SiteWise API Reference*.
437
+ # You must use expressions for all parameters in `AssetPropertyVariant`.
438
+ # The expressions accept literals, operators, functions, references, and
439
+ # substitution templates.
329
440
  #
330
- # For parameters that are string data type, you can specify the
331
- # following options:
441
+ # **Examples**
332
442
  #
333
- # * Use a string. For example, the `doubleValue` value can be `'47.9'`.
443
+ # * For literal values, the expressions must contain single quotes. For
444
+ # example, the value for the `integerValue` parameter can be `'100'`.
334
445
  #
335
- # * Use an expression. For example, the `doubleValue` value can be
336
- # `$input.TemperatureInput.sensorData.temperature`.
446
+ # * For references, you must specify either variables or parameters. For
447
+ # example, the value for the `booleanValue` parameter can be
448
+ # `$variable.offline`.
337
449
  #
338
- # For more information, see [Expressions][3] in the *AWS IoT Events
339
- # Developer Guide*.
450
+ # * For a substitution template, you must use `$\{\}`, and the template
451
+ # must be in single quotes. A substitution template can also contain a
452
+ # combination of literals, operators, functions, references, and
453
+ # substitution templates.
454
+ #
455
+ # In the following example, the value for the `doubleValue` parameter
456
+ # uses a substitution template.
457
+ #
458
+ # `'$\{$input.TemperatureInput.sensorData.temperature * 6 / 5 + 32\}'`
459
+ #
460
+ # For more information, see [Expressions][2] in the *AWS IoT Events
461
+ # Developer Guide*.
462
+ #
463
+ # You must specify one of the following value types, depending on the
464
+ # `dataType` of the specified asset property. For more information, see
465
+ # [AssetProperty][3] in the *AWS IoT SiteWise API Reference*.
340
466
  #
341
467
  #
342
468
  #
343
469
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html
344
- # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html
345
- # [3]: https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html
470
+ # [2]: https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html
471
+ # [3]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html
346
472
  #
347
473
  # @note When making an API call, you may pass AssetPropertyVariant
348
474
  # data as a hash:
@@ -355,27 +481,24 @@ module Aws::IoTEvents
355
481
  # }
356
482
  #
357
483
  # @!attribute [rw] string_value
358
- # The asset property value is a string. You can also specify an
359
- # expression. If you use an expression, the evaluated result should be
360
- # a string.
484
+ # The asset property value is a string. You must use an expression,
485
+ # and the evaluated result should be a string.
361
486
  # @return [String]
362
487
  #
363
488
  # @!attribute [rw] integer_value
364
- # The asset property value is an integer. You can also specify an
365
- # expression. If you use an expression, the evaluated result should be
366
- # an integer.
489
+ # The asset property value is an integer. You must use an expression,
490
+ # and the evaluated result should be an integer.
367
491
  # @return [String]
368
492
  #
369
493
  # @!attribute [rw] double_value
370
- # The asset property value is a double. You can also specify an
371
- # expression. If you use an expression, the evaluated result should be
372
- # a double.
494
+ # The asset property value is a double. You must use an expression,
495
+ # and the evaluated result should be a double.
373
496
  # @return [String]
374
497
  #
375
498
  # @!attribute [rw] boolean_value
376
- # The asset property value is a Boolean value that must be `TRUE` or
377
- # `FALSE`. You can also specify an expression. If you use an
378
- # expression, the evaluated result should be a Boolean value.
499
+ # The asset property value is a Boolean value that must be `'TRUE'` or
500
+ # `'FALSE'`. You must use an expression, and the evaluated result
501
+ # should be a Boolean value.
379
502
  # @return [String]
380
503
  #
381
504
  class AssetPropertyVariant < Struct.new(
@@ -1060,6 +1183,43 @@ module Aws::IoTEvents
1060
1183
 
1061
1184
  class DeleteInputResponse < Aws::EmptyStructure; end
1062
1185
 
1186
+ # @note When making an API call, you may pass DescribeDetectorModelAnalysisRequest
1187
+ # data as a hash:
1188
+ #
1189
+ # {
1190
+ # analysis_id: "AnalysisId", # required
1191
+ # }
1192
+ #
1193
+ # @!attribute [rw] analysis_id
1194
+ # The ID of the analysis result that you want to retrieve.
1195
+ # @return [String]
1196
+ #
1197
+ class DescribeDetectorModelAnalysisRequest < Struct.new(
1198
+ :analysis_id)
1199
+ SENSITIVE = []
1200
+ include Aws::Structure
1201
+ end
1202
+
1203
+ # @!attribute [rw] status
1204
+ # The status of the analysis activity. The status can be one of the
1205
+ # following values:
1206
+ #
1207
+ # * `RUNNING` - AWS IoT Events is analyzing your detector model. This
1208
+ # process can take several minutes to complete.
1209
+ #
1210
+ # * `COMPLETE` - AWS IoT Events finished analyzing your detector model
1211
+ # .
1212
+ #
1213
+ # * `FAILED` - AWS IoT Events couldn't analyze your detector model.
1214
+ # Try again later.
1215
+ # @return [String]
1216
+ #
1217
+ class DescribeDetectorModelAnalysisResponse < Struct.new(
1218
+ :status)
1219
+ SENSITIVE = []
1220
+ include Aws::Structure
1221
+ end
1222
+
1063
1223
  # @note When making an API call, you may pass DescribeDetectorModelRequest
1064
1224
  # data as a hash:
1065
1225
  #
@@ -1796,36 +1956,53 @@ module Aws::IoTEvents
1796
1956
  end
1797
1957
 
1798
1958
  # Defines an action to write to the Amazon DynamoDB table that you
1799
- # created. The standard action payload contains all attribute-value
1800
- # pairs that have the information about the detector model instance and
1801
- # the event that triggered the action. You can also customize the
1802
- # [payload][1]. One column of the DynamoDB table receives all
1803
- # attribute-value pairs in the payload that you specify.
1959
+ # created. The standard action payload contains all the information
1960
+ # about the detector model instance and the event that triggered the
1961
+ # action. You can customize the [payload][1]. One column of the DynamoDB
1962
+ # table receives all attribute-value pairs in the payload that you
1963
+ # specify.
1964
+ #
1965
+ # You must use expressions for all parameters in `DynamoDBAction`. The
1966
+ # expressions accept literals, operators, functions, references, and
1967
+ # substitution templates.
1968
+ #
1969
+ # **Examples**
1804
1970
  #
1805
- # The `tableName` and `hashKeyField` values must match the table name
1806
- # and the partition key of the DynamoDB table.
1971
+ # * For literal values, the expressions must contain single quotes. For
1972
+ # example, the value for the `hashKeyType` parameter can be
1973
+ # `'STRING'`.
1807
1974
  #
1808
- # <note markdown="1"> If the DynamoDB table also has a sort key, you must specify
1809
- # `rangeKeyField`. The `rangeKeyField` value must match the sort key.
1975
+ # * For references, you must specify either variables or input values.
1976
+ # For example, the value for the `hashKeyField` parameter can be
1977
+ # `$input.GreenhouseInput.name`.
1810
1978
  #
1811
- # </note>
1979
+ # * For a substitution template, you must use `$\{\}`, and the template
1980
+ # must be in single quotes. A substitution template can also contain a
1981
+ # combination of literals, operators, functions, references, and
1982
+ # substitution templates.
1812
1983
  #
1984
+ # In the following example, the value for the `hashKeyValue` parameter
1985
+ # uses a substitution template.
1813
1986
  #
1987
+ # `'$\{$input.GreenhouseInput.temperature * 6 / 5 + 32\} in
1988
+ # Fahrenheit'`
1814
1989
  #
1815
- # The `hashKeyValue` and `rangeKeyValue` use substitution templates.
1816
- # These templates provide data at runtime. The syntax is
1817
- # `$\{sql-expression\}`.
1990
+ # * For a string concatenation, you must use `+`. A string concatenation
1991
+ # can also contain a combination of literals, operators, functions,
1992
+ # references, and substitution templates.
1818
1993
  #
1819
- # You can use expressions for parameters that are string data type. For
1820
- # more information, see [Expressions][2] in the *AWS IoT Events
1994
+ # In the following example, the value for the `tableName` parameter
1995
+ # uses a string concatenation.
1996
+ #
1997
+ # `'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`
1998
+ #
1999
+ # For more information, see [Expressions][2] in the *AWS IoT Events
1821
2000
  # Developer Guide*.
1822
2001
  #
1823
- # <note markdown="1"> If the defined payload type is a string, `DynamoDBAction` writes
2002
+ # If the defined payload type is a string, `DynamoDBAction` writes
1824
2003
  # non-JSON data to the DynamoDB table as binary data. The DynamoDB
1825
- # console displays the data as Base64-encoded text. The `payloadField`
1826
- # is `<payload-field>_raw`.
1827
- #
1828
- # </note>
2004
+ # console displays the data as Base64-encoded text. The value for the
2005
+ # `payloadField` parameter is `<payload-field>_raw`.
1829
2006
  #
1830
2007
  #
1831
2008
  #
@@ -1855,15 +2032,18 @@ module Aws::IoTEvents
1855
2032
  # The data type for the hash key (also called the partition key). You
1856
2033
  # can specify the following values:
1857
2034
  #
1858
- # * `STRING` - The hash key is a string.
2035
+ # * `'STRING'` - The hash key is a string.
1859
2036
  #
1860
- # * `NUMBER` - The hash key is a number.
2037
+ # * `'NUMBER'` - The hash key is a number.
1861
2038
  #
1862
- # If you don't specify `hashKeyType`, the default value is `STRING`.
2039
+ # If you don't specify `hashKeyType`, the default value is
2040
+ # `'STRING'`.
1863
2041
  # @return [String]
1864
2042
  #
1865
2043
  # @!attribute [rw] hash_key_field
1866
- # The name of the hash key (also called the partition key).
2044
+ # The name of the hash key (also called the partition key). The
2045
+ # `hashKeyField` value must match the partition key of the target
2046
+ # DynamoDB table.
1867
2047
  # @return [String]
1868
2048
  #
1869
2049
  # @!attribute [rw] hash_key_value
@@ -1874,16 +2054,18 @@ module Aws::IoTEvents
1874
2054
  # The data type for the range key (also called the sort key), You can
1875
2055
  # specify the following values:
1876
2056
  #
1877
- # * `STRING` - The range key is a string.
2057
+ # * `'STRING'` - The range key is a string.
1878
2058
  #
1879
- # * `NUMBER` - The range key is number.
2059
+ # * `'NUMBER'` - The range key is number.
1880
2060
  #
1881
2061
  # If you don't specify `rangeKeyField`, the default value is
1882
- # `STRING`.
2062
+ # `'STRING'`.
1883
2063
  # @return [String]
1884
2064
  #
1885
2065
  # @!attribute [rw] range_key_field
1886
- # The name of the range key (also called the sort key).
2066
+ # The name of the range key (also called the sort key). The
2067
+ # `rangeKeyField` value must match the sort key of the target DynamoDB
2068
+ # table.
1887
2069
  # @return [String]
1888
2070
  #
1889
2071
  # @!attribute [rw] range_key_value
@@ -1894,22 +2076,22 @@ module Aws::IoTEvents
1894
2076
  # The type of operation to perform. You can specify the following
1895
2077
  # values:
1896
2078
  #
1897
- # * `INSERT` - Insert data as a new item into the DynamoDB table. This
1898
- # item uses the specified hash key as a partition key. If you
2079
+ # * `'INSERT'` - Insert data as a new item into the DynamoDB table.
2080
+ # This item uses the specified hash key as a partition key. If you
1899
2081
  # specified a range key, the item uses the range key as a sort key.
1900
2082
  #
1901
- # * `UPDATE` - Update an existing item of the DynamoDB table with new
1902
- # data. This item's partition key must match the specified hash
2083
+ # * `'UPDATE'` - Update an existing item of the DynamoDB table with
2084
+ # new data. This item's partition key must match the specified hash
1903
2085
  # key. If you specified a range key, the range key must match the
1904
2086
  # item's sort key.
1905
2087
  #
1906
- # * `DELETE` - Delete an existing item of the DynamoDB table. This
2088
+ # * `'DELETE'` - Delete an existing item of the DynamoDB table. This
1907
2089
  # item's partition key must match the specified hash key. If you
1908
2090
  # specified a range key, the range key must match the item's sort
1909
2091
  # key.
1910
2092
  #
1911
2093
  # If you don't specify this parameter, AWS IoT Events triggers the
1912
- # `INSERT` operation.
2094
+ # `'INSERT'` operation.
1913
2095
  # @return [String]
1914
2096
  #
1915
2097
  # @!attribute [rw] payload_field
@@ -1920,7 +2102,8 @@ module Aws::IoTEvents
1920
2102
  # @return [String]
1921
2103
  #
1922
2104
  # @!attribute [rw] table_name
1923
- # The name of the DynamoDB table.
2105
+ # The name of the DynamoDB table. The `tableName` value must match the
2106
+ # table name of the target DynamoDB table.
1924
2107
  # @return [String]
1925
2108
  #
1926
2109
  # @!attribute [rw] payload
@@ -1949,17 +2132,51 @@ module Aws::IoTEvents
1949
2132
  end
1950
2133
 
1951
2134
  # Defines an action to write to the Amazon DynamoDB table that you
1952
- # created. The default action payload contains all attribute-value pairs
1953
- # that have the information about the detector model instance and the
1954
- # event that triggered the action. You can also customize the
1955
- # [payload][1]. A separate column of the DynamoDB table receives one
1956
- # attribute-value pair in the payload that you specify.
2135
+ # created. The default action payload contains all the information about
2136
+ # the detector model instance and the event that triggered the action.
2137
+ # You can customize the [payload][1]. A separate column of the DynamoDB
2138
+ # table receives one attribute-value pair in the payload that you
2139
+ # specify.
2140
+ #
2141
+ # You must use expressions for all parameters in `DynamoDBv2Action`. The
2142
+ # expressions accept literals, operators, functions, references, and
2143
+ # substitution templates.
2144
+ #
2145
+ # **Examples**
2146
+ #
2147
+ # * For literal values, the expressions must contain single quotes. For
2148
+ # example, the value for the `tableName` parameter can be
2149
+ # `'GreenhouseTemperatureTable'`.
1957
2150
  #
1958
- # The `type` value for `Payload` must be `JSON`.
2151
+ # * For references, you must specify either variables or input values.
2152
+ # For example, the value for the `tableName` parameter can be
2153
+ # `$variable.ddbtableName`.
2154
+ #
2155
+ # * For a substitution template, you must use `$\{\}`, and the template
2156
+ # must be in single quotes. A substitution template can also contain a
2157
+ # combination of literals, operators, functions, references, and
2158
+ # substitution templates.
2159
+ #
2160
+ # In the following example, the value for the `contentExpression`
2161
+ # parameter in `Payload` uses a substitution template.
2162
+ #
2163
+ # `'\{"sensorID": "$\{$input.GreenhouseInput.sensor_id\}",
2164
+ # "temperature": "$\{$input.GreenhouseInput.temperature * 9 / 5 +
2165
+ # 32\}"\}'`
2166
+ #
2167
+ # * For a string concatenation, you must use `+`. A string concatenation
2168
+ # can also contain a combination of literals, operators, functions,
2169
+ # references, and substitution templates.
2170
+ #
2171
+ # In the following example, the value for the `tableName` parameter
2172
+ # uses a string concatenation.
2173
+ #
2174
+ # `'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`
2175
+ #
2176
+ # For more information, see [Expressions][2] in the *AWS IoT Events
2177
+ # Developer Guide*.
1959
2178
  #
1960
- # You can use expressions for parameters that are strings. For more
1961
- # information, see [Expressions][2] in the *AWS IoT Events Developer
1962
- # Guide*.
2179
+ # The value for the `type` parameter in `Payload` must be `JSON`.
1963
2180
  #
1964
2181
  #
1965
2182
  #
@@ -2177,6 +2394,51 @@ module Aws::IoTEvents
2177
2394
  include Aws::Structure
2178
2395
  end
2179
2396
 
2397
+ # @note When making an API call, you may pass GetDetectorModelAnalysisResultsRequest
2398
+ # data as a hash:
2399
+ #
2400
+ # {
2401
+ # analysis_id: "AnalysisId", # required
2402
+ # next_token: "NextToken",
2403
+ # max_results: 1,
2404
+ # }
2405
+ #
2406
+ # @!attribute [rw] analysis_id
2407
+ # The ID of the analysis result that you want to retrieve.
2408
+ # @return [String]
2409
+ #
2410
+ # @!attribute [rw] next_token
2411
+ # The token that you can use to return the next set of results.
2412
+ # @return [String]
2413
+ #
2414
+ # @!attribute [rw] max_results
2415
+ # The maximum number of results to be returned per request.
2416
+ # @return [Integer]
2417
+ #
2418
+ class GetDetectorModelAnalysisResultsRequest < Struct.new(
2419
+ :analysis_id,
2420
+ :next_token,
2421
+ :max_results)
2422
+ SENSITIVE = []
2423
+ include Aws::Structure
2424
+ end
2425
+
2426
+ # @!attribute [rw] analysis_results
2427
+ # Contains information about one or more analysis results.
2428
+ # @return [Array<Types::AnalysisResult>]
2429
+ #
2430
+ # @!attribute [rw] next_token
2431
+ # The token that you can use to return the next set of results, or
2432
+ # `null` if there are no more results.
2433
+ # @return [String]
2434
+ #
2435
+ class GetDetectorModelAnalysisResultsResponse < Struct.new(
2436
+ :analysis_results,
2437
+ :next_token)
2438
+ SENSITIVE = []
2439
+ include Aws::Structure
2440
+ end
2441
+
2180
2442
  # Information about the input.
2181
2443
  #
2182
2444
  # @!attribute [rw] input_configuration
@@ -2354,21 +2616,37 @@ module Aws::IoTEvents
2354
2616
  # triggered the action to a specified asset property in AWS IoT
2355
2617
  # SiteWise.
2356
2618
  #
2357
- # You must specify either `propertyAlias` or both `assetId` and
2358
- # `propertyId` to identify the target asset property in AWS IoT
2359
- # SiteWise.
2619
+ # You must use expressions for all parameters in `IotSiteWiseAction`.
2620
+ # The expressions accept literals, operators, functions, references, and
2621
+ # substitutions templates.
2360
2622
  #
2361
- # For parameters that are string data type, you can specify the
2362
- # following options:
2623
+ # **Examples**
2363
2624
  #
2364
- # * Use a string. For example, the `propertyAlias` value can be
2625
+ # * For literal values, the expressions must contain single quotes. For
2626
+ # example, the value for the `propertyAlias` parameter can be
2365
2627
  # `'/company/windfarm/3/turbine/7/temperature'`.
2366
2628
  #
2367
- # * Use an expression. For example, the `propertyAlias` value can be
2368
- # `'company/windfarm/$\{$input.TemperatureInput.sensorData.windfarmID\}/turbine/$\{$input.TemperatureInput.sensorData.turbineID\}/temperature'`.
2629
+ # * For references, you must specify either variables or input values.
2630
+ # For example, the value for the `assetId` parameter can be
2631
+ # `$input.TurbineInput.assetId1`.
2632
+ #
2633
+ # * For a substitution template, you must use `$\{\}`, and the template
2634
+ # must be in single quotes. A substitution template can also contain a
2635
+ # combination of literals, operators, functions, references, and
2636
+ # substitution templates.
2637
+ #
2638
+ # In the following example, the value for the `propertyAlias`
2639
+ # parameter uses a substitution template.
2640
+ #
2641
+ # `'company/windfarm/$\{$input.TemperatureInput.sensorData.windfarmID\}/turbine/
2642
+ # $\{$input.TemperatureInput.sensorData.turbineID\}/temperature'`
2643
+ #
2644
+ # You must specify either `propertyAlias` or both `assetId` and
2645
+ # `propertyId` to identify the target asset property in AWS IoT
2646
+ # SiteWise.
2369
2647
  #
2370
- # For more information, see [Expressions][1] in the *AWS IoT Events
2371
- # Developer Guide*.
2648
+ # For more information, see [Expressions][1] in the *AWS IoT Events
2649
+ # Developer Guide*.
2372
2650
  #
2373
2651
  #
2374
2652
  #
@@ -2400,21 +2678,19 @@ module Aws::IoTEvents
2400
2678
  # @!attribute [rw] entry_id
2401
2679
  # A unique identifier for this entry. You can use the entry ID to
2402
2680
  # track which data entry causes an error in case of failure. The
2403
- # default is a new unique identifier. You can also specify an
2404
- # expression.
2681
+ # default is a new unique identifier.
2405
2682
  # @return [String]
2406
2683
  #
2407
2684
  # @!attribute [rw] asset_id
2408
- # The ID of the asset that has the specified property. You can specify
2409
- # an expression.
2685
+ # The ID of the asset that has the specified property.
2410
2686
  # @return [String]
2411
2687
  #
2412
2688
  # @!attribute [rw] property_id
2413
- # The ID of the asset property. You can specify an expression.
2689
+ # The ID of the asset property.
2414
2690
  # @return [String]
2415
2691
  #
2416
2692
  # @!attribute [rw] property_alias
2417
- # The alias of the asset property. You can also specify an expression.
2693
+ # The alias of the asset property.
2418
2694
  # @return [String]
2419
2695
  #
2420
2696
  # @!attribute [rw] property_value
@@ -2520,11 +2796,11 @@ module Aws::IoTEvents
2520
2796
  # @return [String]
2521
2797
  #
2522
2798
  # @!attribute [rw] next_token
2523
- # The token for the next set of results.
2799
+ # The token that you can use to return the next set of results.
2524
2800
  # @return [String]
2525
2801
  #
2526
2802
  # @!attribute [rw] max_results
2527
- # The maximum number of results to return at one time.
2803
+ # The maximum number of results to be returned per request.
2528
2804
  # @return [Integer]
2529
2805
  #
2530
2806
  class ListDetectorModelVersionsRequest < Struct.new(
@@ -2540,8 +2816,8 @@ module Aws::IoTEvents
2540
2816
  # @return [Array<Types::DetectorModelVersionSummary>]
2541
2817
  #
2542
2818
  # @!attribute [rw] next_token
2543
- # A token to retrieve the next set of results, or `null` if there are
2544
- # no additional results.
2819
+ # The token that you can use to return the next set of results, or
2820
+ # `null` if there are no more results.
2545
2821
  # @return [String]
2546
2822
  #
2547
2823
  class ListDetectorModelVersionsResponse < Struct.new(
@@ -2560,11 +2836,11 @@ module Aws::IoTEvents
2560
2836
  # }
2561
2837
  #
2562
2838
  # @!attribute [rw] next_token
2563
- # The token for the next set of results.
2839
+ # The token that you can use to return the next set of results.
2564
2840
  # @return [String]
2565
2841
  #
2566
2842
  # @!attribute [rw] max_results
2567
- # The maximum number of results to return at one time.
2843
+ # The maximum number of results to be returned per request.
2568
2844
  # @return [Integer]
2569
2845
  #
2570
2846
  class ListDetectorModelsRequest < Struct.new(
@@ -2579,8 +2855,8 @@ module Aws::IoTEvents
2579
2855
  # @return [Array<Types::DetectorModelSummary>]
2580
2856
  #
2581
2857
  # @!attribute [rw] next_token
2582
- # A token to retrieve the next set of results, or `null` if there are
2583
- # no additional results.
2858
+ # The token that you can use to return the next set of results, or
2859
+ # `null` if there are no more results.
2584
2860
  # @return [String]
2585
2861
  #
2586
2862
  class ListDetectorModelsResponse < Struct.new(
@@ -2599,11 +2875,11 @@ module Aws::IoTEvents
2599
2875
  # }
2600
2876
  #
2601
2877
  # @!attribute [rw] next_token
2602
- # The token for the next set of results.
2878
+ # The token that you can use to return the next set of results.
2603
2879
  # @return [String]
2604
2880
  #
2605
2881
  # @!attribute [rw] max_results
2606
- # The maximum number of results to return at one time.
2882
+ # The maximum number of results to be returned per request.
2607
2883
  # @return [Integer]
2608
2884
  #
2609
2885
  class ListInputsRequest < Struct.new(
@@ -2618,8 +2894,8 @@ module Aws::IoTEvents
2618
2894
  # @return [Array<Types::InputSummary>]
2619
2895
  #
2620
2896
  # @!attribute [rw] next_token
2621
- # A token to retrieve the next set of results, or `null` if there are
2622
- # no additional results.
2897
+ # The token that you can use to return the next set of results, or
2898
+ # `null` if there are no more results.
2623
2899
  # @return [String]
2624
2900
  #
2625
2901
  class ListInputsResponse < Struct.new(
@@ -3479,6 +3755,487 @@ module Aws::IoTEvents
3479
3755
  include Aws::Structure
3480
3756
  end
3481
3757
 
3758
+ # @note When making an API call, you may pass StartDetectorModelAnalysisRequest
3759
+ # data as a hash:
3760
+ #
3761
+ # {
3762
+ # detector_model_definition: { # required
3763
+ # states: [ # required
3764
+ # {
3765
+ # state_name: "StateName", # required
3766
+ # on_input: {
3767
+ # events: [
3768
+ # {
3769
+ # event_name: "EventName", # required
3770
+ # condition: "Condition",
3771
+ # actions: [
3772
+ # {
3773
+ # set_variable: {
3774
+ # variable_name: "VariableName", # required
3775
+ # value: "VariableValue", # required
3776
+ # },
3777
+ # sns: {
3778
+ # target_arn: "AmazonResourceName", # required
3779
+ # payload: {
3780
+ # content_expression: "ContentExpression", # required
3781
+ # type: "STRING", # required, accepts STRING, JSON
3782
+ # },
3783
+ # },
3784
+ # iot_topic_publish: {
3785
+ # mqtt_topic: "MQTTTopic", # required
3786
+ # payload: {
3787
+ # content_expression: "ContentExpression", # required
3788
+ # type: "STRING", # required, accepts STRING, JSON
3789
+ # },
3790
+ # },
3791
+ # set_timer: {
3792
+ # timer_name: "TimerName", # required
3793
+ # seconds: 1,
3794
+ # duration_expression: "VariableValue",
3795
+ # },
3796
+ # clear_timer: {
3797
+ # timer_name: "TimerName", # required
3798
+ # },
3799
+ # reset_timer: {
3800
+ # timer_name: "TimerName", # required
3801
+ # },
3802
+ # lambda: {
3803
+ # function_arn: "AmazonResourceName", # required
3804
+ # payload: {
3805
+ # content_expression: "ContentExpression", # required
3806
+ # type: "STRING", # required, accepts STRING, JSON
3807
+ # },
3808
+ # },
3809
+ # iot_events: {
3810
+ # input_name: "InputName", # required
3811
+ # payload: {
3812
+ # content_expression: "ContentExpression", # required
3813
+ # type: "STRING", # required, accepts STRING, JSON
3814
+ # },
3815
+ # },
3816
+ # sqs: {
3817
+ # queue_url: "QueueUrl", # required
3818
+ # use_base_64: false,
3819
+ # payload: {
3820
+ # content_expression: "ContentExpression", # required
3821
+ # type: "STRING", # required, accepts STRING, JSON
3822
+ # },
3823
+ # },
3824
+ # firehose: {
3825
+ # delivery_stream_name: "DeliveryStreamName", # required
3826
+ # separator: "FirehoseSeparator",
3827
+ # payload: {
3828
+ # content_expression: "ContentExpression", # required
3829
+ # type: "STRING", # required, accepts STRING, JSON
3830
+ # },
3831
+ # },
3832
+ # dynamo_db: {
3833
+ # hash_key_type: "DynamoKeyType",
3834
+ # hash_key_field: "DynamoKeyField", # required
3835
+ # hash_key_value: "DynamoKeyValue", # required
3836
+ # range_key_type: "DynamoKeyType",
3837
+ # range_key_field: "DynamoKeyField",
3838
+ # range_key_value: "DynamoKeyValue",
3839
+ # operation: "DynamoOperation",
3840
+ # payload_field: "DynamoKeyField",
3841
+ # table_name: "DynamoTableName", # required
3842
+ # payload: {
3843
+ # content_expression: "ContentExpression", # required
3844
+ # type: "STRING", # required, accepts STRING, JSON
3845
+ # },
3846
+ # },
3847
+ # dynamo_d_bv_2: {
3848
+ # table_name: "DynamoTableName", # required
3849
+ # payload: {
3850
+ # content_expression: "ContentExpression", # required
3851
+ # type: "STRING", # required, accepts STRING, JSON
3852
+ # },
3853
+ # },
3854
+ # iot_site_wise: {
3855
+ # entry_id: "AssetPropertyEntryId",
3856
+ # asset_id: "AssetId",
3857
+ # property_id: "AssetPropertyId",
3858
+ # property_alias: "AssetPropertyAlias",
3859
+ # property_value: { # required
3860
+ # value: { # required
3861
+ # string_value: "AssetPropertyStringValue",
3862
+ # integer_value: "AssetPropertyIntegerValue",
3863
+ # double_value: "AssetPropertyDoubleValue",
3864
+ # boolean_value: "AssetPropertyBooleanValue",
3865
+ # },
3866
+ # timestamp: {
3867
+ # time_in_seconds: "AssetPropertyTimeInSeconds", # required
3868
+ # offset_in_nanos: "AssetPropertyOffsetInNanos",
3869
+ # },
3870
+ # quality: "AssetPropertyQuality",
3871
+ # },
3872
+ # },
3873
+ # },
3874
+ # ],
3875
+ # },
3876
+ # ],
3877
+ # transition_events: [
3878
+ # {
3879
+ # event_name: "EventName", # required
3880
+ # condition: "Condition", # required
3881
+ # actions: [
3882
+ # {
3883
+ # set_variable: {
3884
+ # variable_name: "VariableName", # required
3885
+ # value: "VariableValue", # required
3886
+ # },
3887
+ # sns: {
3888
+ # target_arn: "AmazonResourceName", # required
3889
+ # payload: {
3890
+ # content_expression: "ContentExpression", # required
3891
+ # type: "STRING", # required, accepts STRING, JSON
3892
+ # },
3893
+ # },
3894
+ # iot_topic_publish: {
3895
+ # mqtt_topic: "MQTTTopic", # required
3896
+ # payload: {
3897
+ # content_expression: "ContentExpression", # required
3898
+ # type: "STRING", # required, accepts STRING, JSON
3899
+ # },
3900
+ # },
3901
+ # set_timer: {
3902
+ # timer_name: "TimerName", # required
3903
+ # seconds: 1,
3904
+ # duration_expression: "VariableValue",
3905
+ # },
3906
+ # clear_timer: {
3907
+ # timer_name: "TimerName", # required
3908
+ # },
3909
+ # reset_timer: {
3910
+ # timer_name: "TimerName", # required
3911
+ # },
3912
+ # lambda: {
3913
+ # function_arn: "AmazonResourceName", # required
3914
+ # payload: {
3915
+ # content_expression: "ContentExpression", # required
3916
+ # type: "STRING", # required, accepts STRING, JSON
3917
+ # },
3918
+ # },
3919
+ # iot_events: {
3920
+ # input_name: "InputName", # required
3921
+ # payload: {
3922
+ # content_expression: "ContentExpression", # required
3923
+ # type: "STRING", # required, accepts STRING, JSON
3924
+ # },
3925
+ # },
3926
+ # sqs: {
3927
+ # queue_url: "QueueUrl", # required
3928
+ # use_base_64: false,
3929
+ # payload: {
3930
+ # content_expression: "ContentExpression", # required
3931
+ # type: "STRING", # required, accepts STRING, JSON
3932
+ # },
3933
+ # },
3934
+ # firehose: {
3935
+ # delivery_stream_name: "DeliveryStreamName", # required
3936
+ # separator: "FirehoseSeparator",
3937
+ # payload: {
3938
+ # content_expression: "ContentExpression", # required
3939
+ # type: "STRING", # required, accepts STRING, JSON
3940
+ # },
3941
+ # },
3942
+ # dynamo_db: {
3943
+ # hash_key_type: "DynamoKeyType",
3944
+ # hash_key_field: "DynamoKeyField", # required
3945
+ # hash_key_value: "DynamoKeyValue", # required
3946
+ # range_key_type: "DynamoKeyType",
3947
+ # range_key_field: "DynamoKeyField",
3948
+ # range_key_value: "DynamoKeyValue",
3949
+ # operation: "DynamoOperation",
3950
+ # payload_field: "DynamoKeyField",
3951
+ # table_name: "DynamoTableName", # required
3952
+ # payload: {
3953
+ # content_expression: "ContentExpression", # required
3954
+ # type: "STRING", # required, accepts STRING, JSON
3955
+ # },
3956
+ # },
3957
+ # dynamo_d_bv_2: {
3958
+ # table_name: "DynamoTableName", # required
3959
+ # payload: {
3960
+ # content_expression: "ContentExpression", # required
3961
+ # type: "STRING", # required, accepts STRING, JSON
3962
+ # },
3963
+ # },
3964
+ # iot_site_wise: {
3965
+ # entry_id: "AssetPropertyEntryId",
3966
+ # asset_id: "AssetId",
3967
+ # property_id: "AssetPropertyId",
3968
+ # property_alias: "AssetPropertyAlias",
3969
+ # property_value: { # required
3970
+ # value: { # required
3971
+ # string_value: "AssetPropertyStringValue",
3972
+ # integer_value: "AssetPropertyIntegerValue",
3973
+ # double_value: "AssetPropertyDoubleValue",
3974
+ # boolean_value: "AssetPropertyBooleanValue",
3975
+ # },
3976
+ # timestamp: {
3977
+ # time_in_seconds: "AssetPropertyTimeInSeconds", # required
3978
+ # offset_in_nanos: "AssetPropertyOffsetInNanos",
3979
+ # },
3980
+ # quality: "AssetPropertyQuality",
3981
+ # },
3982
+ # },
3983
+ # },
3984
+ # ],
3985
+ # next_state: "StateName", # required
3986
+ # },
3987
+ # ],
3988
+ # },
3989
+ # on_enter: {
3990
+ # events: [
3991
+ # {
3992
+ # event_name: "EventName", # required
3993
+ # condition: "Condition",
3994
+ # actions: [
3995
+ # {
3996
+ # set_variable: {
3997
+ # variable_name: "VariableName", # required
3998
+ # value: "VariableValue", # required
3999
+ # },
4000
+ # sns: {
4001
+ # target_arn: "AmazonResourceName", # required
4002
+ # payload: {
4003
+ # content_expression: "ContentExpression", # required
4004
+ # type: "STRING", # required, accepts STRING, JSON
4005
+ # },
4006
+ # },
4007
+ # iot_topic_publish: {
4008
+ # mqtt_topic: "MQTTTopic", # required
4009
+ # payload: {
4010
+ # content_expression: "ContentExpression", # required
4011
+ # type: "STRING", # required, accepts STRING, JSON
4012
+ # },
4013
+ # },
4014
+ # set_timer: {
4015
+ # timer_name: "TimerName", # required
4016
+ # seconds: 1,
4017
+ # duration_expression: "VariableValue",
4018
+ # },
4019
+ # clear_timer: {
4020
+ # timer_name: "TimerName", # required
4021
+ # },
4022
+ # reset_timer: {
4023
+ # timer_name: "TimerName", # required
4024
+ # },
4025
+ # lambda: {
4026
+ # function_arn: "AmazonResourceName", # required
4027
+ # payload: {
4028
+ # content_expression: "ContentExpression", # required
4029
+ # type: "STRING", # required, accepts STRING, JSON
4030
+ # },
4031
+ # },
4032
+ # iot_events: {
4033
+ # input_name: "InputName", # required
4034
+ # payload: {
4035
+ # content_expression: "ContentExpression", # required
4036
+ # type: "STRING", # required, accepts STRING, JSON
4037
+ # },
4038
+ # },
4039
+ # sqs: {
4040
+ # queue_url: "QueueUrl", # required
4041
+ # use_base_64: false,
4042
+ # payload: {
4043
+ # content_expression: "ContentExpression", # required
4044
+ # type: "STRING", # required, accepts STRING, JSON
4045
+ # },
4046
+ # },
4047
+ # firehose: {
4048
+ # delivery_stream_name: "DeliveryStreamName", # required
4049
+ # separator: "FirehoseSeparator",
4050
+ # payload: {
4051
+ # content_expression: "ContentExpression", # required
4052
+ # type: "STRING", # required, accepts STRING, JSON
4053
+ # },
4054
+ # },
4055
+ # dynamo_db: {
4056
+ # hash_key_type: "DynamoKeyType",
4057
+ # hash_key_field: "DynamoKeyField", # required
4058
+ # hash_key_value: "DynamoKeyValue", # required
4059
+ # range_key_type: "DynamoKeyType",
4060
+ # range_key_field: "DynamoKeyField",
4061
+ # range_key_value: "DynamoKeyValue",
4062
+ # operation: "DynamoOperation",
4063
+ # payload_field: "DynamoKeyField",
4064
+ # table_name: "DynamoTableName", # required
4065
+ # payload: {
4066
+ # content_expression: "ContentExpression", # required
4067
+ # type: "STRING", # required, accepts STRING, JSON
4068
+ # },
4069
+ # },
4070
+ # dynamo_d_bv_2: {
4071
+ # table_name: "DynamoTableName", # required
4072
+ # payload: {
4073
+ # content_expression: "ContentExpression", # required
4074
+ # type: "STRING", # required, accepts STRING, JSON
4075
+ # },
4076
+ # },
4077
+ # iot_site_wise: {
4078
+ # entry_id: "AssetPropertyEntryId",
4079
+ # asset_id: "AssetId",
4080
+ # property_id: "AssetPropertyId",
4081
+ # property_alias: "AssetPropertyAlias",
4082
+ # property_value: { # required
4083
+ # value: { # required
4084
+ # string_value: "AssetPropertyStringValue",
4085
+ # integer_value: "AssetPropertyIntegerValue",
4086
+ # double_value: "AssetPropertyDoubleValue",
4087
+ # boolean_value: "AssetPropertyBooleanValue",
4088
+ # },
4089
+ # timestamp: {
4090
+ # time_in_seconds: "AssetPropertyTimeInSeconds", # required
4091
+ # offset_in_nanos: "AssetPropertyOffsetInNanos",
4092
+ # },
4093
+ # quality: "AssetPropertyQuality",
4094
+ # },
4095
+ # },
4096
+ # },
4097
+ # ],
4098
+ # },
4099
+ # ],
4100
+ # },
4101
+ # on_exit: {
4102
+ # events: [
4103
+ # {
4104
+ # event_name: "EventName", # required
4105
+ # condition: "Condition",
4106
+ # actions: [
4107
+ # {
4108
+ # set_variable: {
4109
+ # variable_name: "VariableName", # required
4110
+ # value: "VariableValue", # required
4111
+ # },
4112
+ # sns: {
4113
+ # target_arn: "AmazonResourceName", # required
4114
+ # payload: {
4115
+ # content_expression: "ContentExpression", # required
4116
+ # type: "STRING", # required, accepts STRING, JSON
4117
+ # },
4118
+ # },
4119
+ # iot_topic_publish: {
4120
+ # mqtt_topic: "MQTTTopic", # required
4121
+ # payload: {
4122
+ # content_expression: "ContentExpression", # required
4123
+ # type: "STRING", # required, accepts STRING, JSON
4124
+ # },
4125
+ # },
4126
+ # set_timer: {
4127
+ # timer_name: "TimerName", # required
4128
+ # seconds: 1,
4129
+ # duration_expression: "VariableValue",
4130
+ # },
4131
+ # clear_timer: {
4132
+ # timer_name: "TimerName", # required
4133
+ # },
4134
+ # reset_timer: {
4135
+ # timer_name: "TimerName", # required
4136
+ # },
4137
+ # lambda: {
4138
+ # function_arn: "AmazonResourceName", # required
4139
+ # payload: {
4140
+ # content_expression: "ContentExpression", # required
4141
+ # type: "STRING", # required, accepts STRING, JSON
4142
+ # },
4143
+ # },
4144
+ # iot_events: {
4145
+ # input_name: "InputName", # required
4146
+ # payload: {
4147
+ # content_expression: "ContentExpression", # required
4148
+ # type: "STRING", # required, accepts STRING, JSON
4149
+ # },
4150
+ # },
4151
+ # sqs: {
4152
+ # queue_url: "QueueUrl", # required
4153
+ # use_base_64: false,
4154
+ # payload: {
4155
+ # content_expression: "ContentExpression", # required
4156
+ # type: "STRING", # required, accepts STRING, JSON
4157
+ # },
4158
+ # },
4159
+ # firehose: {
4160
+ # delivery_stream_name: "DeliveryStreamName", # required
4161
+ # separator: "FirehoseSeparator",
4162
+ # payload: {
4163
+ # content_expression: "ContentExpression", # required
4164
+ # type: "STRING", # required, accepts STRING, JSON
4165
+ # },
4166
+ # },
4167
+ # dynamo_db: {
4168
+ # hash_key_type: "DynamoKeyType",
4169
+ # hash_key_field: "DynamoKeyField", # required
4170
+ # hash_key_value: "DynamoKeyValue", # required
4171
+ # range_key_type: "DynamoKeyType",
4172
+ # range_key_field: "DynamoKeyField",
4173
+ # range_key_value: "DynamoKeyValue",
4174
+ # operation: "DynamoOperation",
4175
+ # payload_field: "DynamoKeyField",
4176
+ # table_name: "DynamoTableName", # required
4177
+ # payload: {
4178
+ # content_expression: "ContentExpression", # required
4179
+ # type: "STRING", # required, accepts STRING, JSON
4180
+ # },
4181
+ # },
4182
+ # dynamo_d_bv_2: {
4183
+ # table_name: "DynamoTableName", # required
4184
+ # payload: {
4185
+ # content_expression: "ContentExpression", # required
4186
+ # type: "STRING", # required, accepts STRING, JSON
4187
+ # },
4188
+ # },
4189
+ # iot_site_wise: {
4190
+ # entry_id: "AssetPropertyEntryId",
4191
+ # asset_id: "AssetId",
4192
+ # property_id: "AssetPropertyId",
4193
+ # property_alias: "AssetPropertyAlias",
4194
+ # property_value: { # required
4195
+ # value: { # required
4196
+ # string_value: "AssetPropertyStringValue",
4197
+ # integer_value: "AssetPropertyIntegerValue",
4198
+ # double_value: "AssetPropertyDoubleValue",
4199
+ # boolean_value: "AssetPropertyBooleanValue",
4200
+ # },
4201
+ # timestamp: {
4202
+ # time_in_seconds: "AssetPropertyTimeInSeconds", # required
4203
+ # offset_in_nanos: "AssetPropertyOffsetInNanos",
4204
+ # },
4205
+ # quality: "AssetPropertyQuality",
4206
+ # },
4207
+ # },
4208
+ # },
4209
+ # ],
4210
+ # },
4211
+ # ],
4212
+ # },
4213
+ # },
4214
+ # ],
4215
+ # initial_state_name: "StateName", # required
4216
+ # },
4217
+ # }
4218
+ #
4219
+ # @!attribute [rw] detector_model_definition
4220
+ # Information that defines how a detector operates.
4221
+ # @return [Types::DetectorModelDefinition]
4222
+ #
4223
+ class StartDetectorModelAnalysisRequest < Struct.new(
4224
+ :detector_model_definition)
4225
+ SENSITIVE = []
4226
+ include Aws::Structure
4227
+ end
4228
+
4229
+ # @!attribute [rw] analysis_id
4230
+ # The ID that you can use to retrieve the analysis result.
4231
+ # @return [String]
4232
+ #
4233
+ class StartDetectorModelAnalysisResponse < Struct.new(
4234
+ :analysis_id)
4235
+ SENSITIVE = []
4236
+ include Aws::Structure
4237
+ end
4238
+
3482
4239
  # Information that defines a state of a detector.
3483
4240
  #
3484
4241
  # @note When making an API call, you may pass State