aws-sdk-iotevents 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
File without changes
@@ -0,0 +1,168 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::IoTEvents
9
+ module Errors
10
+
11
+ extend Aws::Errors::DynamicErrors
12
+
13
+ class InternalFailureException < ServiceError
14
+
15
+ # @param [Seahorse::Client::RequestContext] context
16
+ # @param [String] message
17
+ # @param [Aws::IoTEvents::Types::InternalFailureException] data
18
+ def initialize(context, message, data = Aws::EmptyStructure.new)
19
+ super(context, message, data)
20
+ end
21
+
22
+ # @return [String]
23
+ def message
24
+ @message || @data[:message]
25
+ end
26
+
27
+ end
28
+
29
+ class InvalidRequestException < ServiceError
30
+
31
+ # @param [Seahorse::Client::RequestContext] context
32
+ # @param [String] message
33
+ # @param [Aws::IoTEvents::Types::InvalidRequestException] data
34
+ def initialize(context, message, data = Aws::EmptyStructure.new)
35
+ super(context, message, data)
36
+ end
37
+
38
+ # @return [String]
39
+ def message
40
+ @message || @data[:message]
41
+ end
42
+
43
+ end
44
+
45
+ class LimitExceededException < ServiceError
46
+
47
+ # @param [Seahorse::Client::RequestContext] context
48
+ # @param [String] message
49
+ # @param [Aws::IoTEvents::Types::LimitExceededException] data
50
+ def initialize(context, message, data = Aws::EmptyStructure.new)
51
+ super(context, message, data)
52
+ end
53
+
54
+ # @return [String]
55
+ def message
56
+ @message || @data[:message]
57
+ end
58
+
59
+ end
60
+
61
+ class ResourceAlreadyExistsException < ServiceError
62
+
63
+ # @param [Seahorse::Client::RequestContext] context
64
+ # @param [String] message
65
+ # @param [Aws::IoTEvents::Types::ResourceAlreadyExistsException] data
66
+ def initialize(context, message, data = Aws::EmptyStructure.new)
67
+ super(context, message, data)
68
+ end
69
+
70
+ # @return [String]
71
+ def message
72
+ @message || @data[:message]
73
+ end
74
+
75
+ # @return [String]
76
+ def resource_id
77
+ @data[:resource_id]
78
+ end
79
+
80
+ # @return [String]
81
+ def resource_arn
82
+ @data[:resource_arn]
83
+ end
84
+
85
+ end
86
+
87
+ class ResourceInUseException < ServiceError
88
+
89
+ # @param [Seahorse::Client::RequestContext] context
90
+ # @param [String] message
91
+ # @param [Aws::IoTEvents::Types::ResourceInUseException] data
92
+ def initialize(context, message, data = Aws::EmptyStructure.new)
93
+ super(context, message, data)
94
+ end
95
+
96
+ # @return [String]
97
+ def message
98
+ @message || @data[:message]
99
+ end
100
+
101
+ end
102
+
103
+ class ResourceNotFoundException < ServiceError
104
+
105
+ # @param [Seahorse::Client::RequestContext] context
106
+ # @param [String] message
107
+ # @param [Aws::IoTEvents::Types::ResourceNotFoundException] data
108
+ def initialize(context, message, data = Aws::EmptyStructure.new)
109
+ super(context, message, data)
110
+ end
111
+
112
+ # @return [String]
113
+ def message
114
+ @message || @data[:message]
115
+ end
116
+
117
+ end
118
+
119
+ class ServiceUnavailableException < ServiceError
120
+
121
+ # @param [Seahorse::Client::RequestContext] context
122
+ # @param [String] message
123
+ # @param [Aws::IoTEvents::Types::ServiceUnavailableException] data
124
+ def initialize(context, message, data = Aws::EmptyStructure.new)
125
+ super(context, message, data)
126
+ end
127
+
128
+ # @return [String]
129
+ def message
130
+ @message || @data[:message]
131
+ end
132
+
133
+ end
134
+
135
+ class ThrottlingException < ServiceError
136
+
137
+ # @param [Seahorse::Client::RequestContext] context
138
+ # @param [String] message
139
+ # @param [Aws::IoTEvents::Types::ThrottlingException] data
140
+ def initialize(context, message, data = Aws::EmptyStructure.new)
141
+ super(context, message, data)
142
+ end
143
+
144
+ # @return [String]
145
+ def message
146
+ @message || @data[:message]
147
+ end
148
+
149
+ end
150
+
151
+ class UnsupportedOperationException < ServiceError
152
+
153
+ # @param [Seahorse::Client::RequestContext] context
154
+ # @param [String] message
155
+ # @param [Aws::IoTEvents::Types::UnsupportedOperationException] data
156
+ def initialize(context, message, data = Aws::EmptyStructure.new)
157
+ super(context, message, data)
158
+ end
159
+
160
+ # @return [String]
161
+ def message
162
+ @message || @data[:message]
163
+ end
164
+
165
+ end
166
+
167
+ end
168
+ end
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::IoTEvents
9
+ class Resource
10
+
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
16
+
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,2103 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::IoTEvents
9
+ module Types
10
+
11
+ # An action to be performed when the `condition` is TRUE.
12
+ #
13
+ # @note When making an API call, you may pass Action
14
+ # data as a hash:
15
+ #
16
+ # {
17
+ # set_variable: {
18
+ # variable_name: "VariableName", # required
19
+ # value: "VariableValue", # required
20
+ # },
21
+ # sns: {
22
+ # target_arn: "AmazonResourceName", # required
23
+ # },
24
+ # iot_topic_publish: {
25
+ # mqtt_topic: "MQTTTopic", # required
26
+ # },
27
+ # set_timer: {
28
+ # timer_name: "TimerName", # required
29
+ # seconds: 1, # required
30
+ # },
31
+ # clear_timer: {
32
+ # timer_name: "TimerName", # required
33
+ # },
34
+ # reset_timer: {
35
+ # timer_name: "TimerName", # required
36
+ # },
37
+ # }
38
+ #
39
+ # @!attribute [rw] set_variable
40
+ # Sets a variable to a specified value.
41
+ # @return [Types::SetVariableAction]
42
+ #
43
+ # @!attribute [rw] sns
44
+ # Sends an Amazon SNS message.
45
+ # @return [Types::SNSTopicPublishAction]
46
+ #
47
+ # @!attribute [rw] iot_topic_publish
48
+ # Publishes an MQTT message with the given topic to the AWS IoT
49
+ # Message Broker.
50
+ # @return [Types::IotTopicPublishAction]
51
+ #
52
+ # @!attribute [rw] set_timer
53
+ # Information needed to set the timer.
54
+ # @return [Types::SetTimerAction]
55
+ #
56
+ # @!attribute [rw] clear_timer
57
+ # Information needed to clear the timer.
58
+ # @return [Types::ClearTimerAction]
59
+ #
60
+ # @!attribute [rw] reset_timer
61
+ # Information needed to reset the timer.
62
+ # @return [Types::ResetTimerAction]
63
+ #
64
+ class Action < Struct.new(
65
+ :set_variable,
66
+ :sns,
67
+ :iot_topic_publish,
68
+ :set_timer,
69
+ :clear_timer,
70
+ :reset_timer)
71
+ include Aws::Structure
72
+ end
73
+
74
+ # The attributes from the JSON payload that are made available by the
75
+ # input. Inputs are derived from messages sent to the AWS IoT Events
76
+ # system using `BatchPutMessage`. Each such message contains a JSON
77
+ # payload, and those attributes (and their paired values) specified here
78
+ # are available for use in the `condition` expressions used by
79
+ # detectors.
80
+ #
81
+ # @note When making an API call, you may pass Attribute
82
+ # data as a hash:
83
+ #
84
+ # {
85
+ # json_path: "AttributeJsonPath", # required
86
+ # }
87
+ #
88
+ # @!attribute [rw] json_path
89
+ # An expression that specifies an attribute-value pair in a JSON
90
+ # structure. Use this to specify an attribute from the JSON payload
91
+ # that is made available by the input. Inputs are derived from
92
+ # messages sent to the AWS IoT Events system (`BatchPutMessage`). Each
93
+ # such message contains a JSON payload, and the attribute (and its
94
+ # paired value) specified here are available for use in the
95
+ # `condition` expressions used by detectors.
96
+ #
97
+ # Syntax: `<field-name>.<field-name>...`
98
+ # @return [String]
99
+ #
100
+ class Attribute < Struct.new(
101
+ :json_path)
102
+ include Aws::Structure
103
+ end
104
+
105
+ # Information needed to clear the timer.
106
+ #
107
+ # @note When making an API call, you may pass ClearTimerAction
108
+ # data as a hash:
109
+ #
110
+ # {
111
+ # timer_name: "TimerName", # required
112
+ # }
113
+ #
114
+ # @!attribute [rw] timer_name
115
+ # The name of the timer to clear.
116
+ # @return [String]
117
+ #
118
+ class ClearTimerAction < Struct.new(
119
+ :timer_name)
120
+ include Aws::Structure
121
+ end
122
+
123
+ # @note When making an API call, you may pass CreateDetectorModelRequest
124
+ # data as a hash:
125
+ #
126
+ # {
127
+ # detector_model_name: "DetectorModelName", # required
128
+ # detector_model_definition: { # required
129
+ # states: [ # required
130
+ # {
131
+ # state_name: "StateName", # required
132
+ # on_input: {
133
+ # events: [
134
+ # {
135
+ # event_name: "EventName", # required
136
+ # condition: "Condition",
137
+ # actions: [
138
+ # {
139
+ # set_variable: {
140
+ # variable_name: "VariableName", # required
141
+ # value: "VariableValue", # required
142
+ # },
143
+ # sns: {
144
+ # target_arn: "AmazonResourceName", # required
145
+ # },
146
+ # iot_topic_publish: {
147
+ # mqtt_topic: "MQTTTopic", # required
148
+ # },
149
+ # set_timer: {
150
+ # timer_name: "TimerName", # required
151
+ # seconds: 1, # required
152
+ # },
153
+ # clear_timer: {
154
+ # timer_name: "TimerName", # required
155
+ # },
156
+ # reset_timer: {
157
+ # timer_name: "TimerName", # required
158
+ # },
159
+ # },
160
+ # ],
161
+ # },
162
+ # ],
163
+ # transition_events: [
164
+ # {
165
+ # event_name: "EventName", # required
166
+ # condition: "Condition", # required
167
+ # actions: [
168
+ # {
169
+ # set_variable: {
170
+ # variable_name: "VariableName", # required
171
+ # value: "VariableValue", # required
172
+ # },
173
+ # sns: {
174
+ # target_arn: "AmazonResourceName", # required
175
+ # },
176
+ # iot_topic_publish: {
177
+ # mqtt_topic: "MQTTTopic", # required
178
+ # },
179
+ # set_timer: {
180
+ # timer_name: "TimerName", # required
181
+ # seconds: 1, # required
182
+ # },
183
+ # clear_timer: {
184
+ # timer_name: "TimerName", # required
185
+ # },
186
+ # reset_timer: {
187
+ # timer_name: "TimerName", # required
188
+ # },
189
+ # },
190
+ # ],
191
+ # next_state: "StateName", # required
192
+ # },
193
+ # ],
194
+ # },
195
+ # on_enter: {
196
+ # events: [
197
+ # {
198
+ # event_name: "EventName", # required
199
+ # condition: "Condition",
200
+ # actions: [
201
+ # {
202
+ # set_variable: {
203
+ # variable_name: "VariableName", # required
204
+ # value: "VariableValue", # required
205
+ # },
206
+ # sns: {
207
+ # target_arn: "AmazonResourceName", # required
208
+ # },
209
+ # iot_topic_publish: {
210
+ # mqtt_topic: "MQTTTopic", # required
211
+ # },
212
+ # set_timer: {
213
+ # timer_name: "TimerName", # required
214
+ # seconds: 1, # required
215
+ # },
216
+ # clear_timer: {
217
+ # timer_name: "TimerName", # required
218
+ # },
219
+ # reset_timer: {
220
+ # timer_name: "TimerName", # required
221
+ # },
222
+ # },
223
+ # ],
224
+ # },
225
+ # ],
226
+ # },
227
+ # on_exit: {
228
+ # events: [
229
+ # {
230
+ # event_name: "EventName", # required
231
+ # condition: "Condition",
232
+ # actions: [
233
+ # {
234
+ # set_variable: {
235
+ # variable_name: "VariableName", # required
236
+ # value: "VariableValue", # required
237
+ # },
238
+ # sns: {
239
+ # target_arn: "AmazonResourceName", # required
240
+ # },
241
+ # iot_topic_publish: {
242
+ # mqtt_topic: "MQTTTopic", # required
243
+ # },
244
+ # set_timer: {
245
+ # timer_name: "TimerName", # required
246
+ # seconds: 1, # required
247
+ # },
248
+ # clear_timer: {
249
+ # timer_name: "TimerName", # required
250
+ # },
251
+ # reset_timer: {
252
+ # timer_name: "TimerName", # required
253
+ # },
254
+ # },
255
+ # ],
256
+ # },
257
+ # ],
258
+ # },
259
+ # },
260
+ # ],
261
+ # initial_state_name: "StateName", # required
262
+ # },
263
+ # detector_model_description: "DetectorModelDescription",
264
+ # key: "AttributeJsonPath",
265
+ # role_arn: "AmazonResourceName", # required
266
+ # tags: [
267
+ # {
268
+ # key: "TagKey", # required
269
+ # value: "TagValue", # required
270
+ # },
271
+ # ],
272
+ # }
273
+ #
274
+ # @!attribute [rw] detector_model_name
275
+ # The name of the detector model.
276
+ # @return [String]
277
+ #
278
+ # @!attribute [rw] detector_model_definition
279
+ # Information that defines how the detectors operate.
280
+ # @return [Types::DetectorModelDefinition]
281
+ #
282
+ # @!attribute [rw] detector_model_description
283
+ # A brief description of the detector model.
284
+ # @return [String]
285
+ #
286
+ # @!attribute [rw] key
287
+ # The input attribute key used to identify a device or system in order
288
+ # to create a detector (an instance of the detector model) and then to
289
+ # route each input received to the appropriate detector (instance).
290
+ # This parameter uses a JSON-path expression to specify the
291
+ # attribute-value pair in the message payload of each input that is
292
+ # used to identify the device associated with the input.
293
+ # @return [String]
294
+ #
295
+ # @!attribute [rw] role_arn
296
+ # The ARN of the role that grants permission to AWS IoT Events to
297
+ # perform its operations.
298
+ # @return [String]
299
+ #
300
+ # @!attribute [rw] tags
301
+ # Metadata which can be used to manage the detector model.
302
+ # @return [Array<Types::Tag>]
303
+ #
304
+ class CreateDetectorModelRequest < Struct.new(
305
+ :detector_model_name,
306
+ :detector_model_definition,
307
+ :detector_model_description,
308
+ :key,
309
+ :role_arn,
310
+ :tags)
311
+ include Aws::Structure
312
+ end
313
+
314
+ # @!attribute [rw] detector_model_configuration
315
+ # Information about how the detector model is configured.
316
+ # @return [Types::DetectorModelConfiguration]
317
+ #
318
+ class CreateDetectorModelResponse < Struct.new(
319
+ :detector_model_configuration)
320
+ include Aws::Structure
321
+ end
322
+
323
+ # @note When making an API call, you may pass CreateInputRequest
324
+ # data as a hash:
325
+ #
326
+ # {
327
+ # input_name: "InputName", # required
328
+ # input_description: "InputDescription",
329
+ # input_definition: { # required
330
+ # attributes: [ # required
331
+ # {
332
+ # json_path: "AttributeJsonPath", # required
333
+ # },
334
+ # ],
335
+ # },
336
+ # tags: [
337
+ # {
338
+ # key: "TagKey", # required
339
+ # value: "TagValue", # required
340
+ # },
341
+ # ],
342
+ # }
343
+ #
344
+ # @!attribute [rw] input_name
345
+ # The name you want to give to the input.
346
+ # @return [String]
347
+ #
348
+ # @!attribute [rw] input_description
349
+ # A brief description of the input.
350
+ # @return [String]
351
+ #
352
+ # @!attribute [rw] input_definition
353
+ # The definition of the input.
354
+ # @return [Types::InputDefinition]
355
+ #
356
+ # @!attribute [rw] tags
357
+ # Metadata which can be used to manage the input.
358
+ # @return [Array<Types::Tag>]
359
+ #
360
+ class CreateInputRequest < Struct.new(
361
+ :input_name,
362
+ :input_description,
363
+ :input_definition,
364
+ :tags)
365
+ include Aws::Structure
366
+ end
367
+
368
+ # @!attribute [rw] input_configuration
369
+ # Information about the configuration of the input.
370
+ # @return [Types::InputConfiguration]
371
+ #
372
+ class CreateInputResponse < Struct.new(
373
+ :input_configuration)
374
+ include Aws::Structure
375
+ end
376
+
377
+ # @note When making an API call, you may pass DeleteDetectorModelRequest
378
+ # data as a hash:
379
+ #
380
+ # {
381
+ # detector_model_name: "DetectorModelName", # required
382
+ # }
383
+ #
384
+ # @!attribute [rw] detector_model_name
385
+ # The name of the detector model to be deleted.
386
+ # @return [String]
387
+ #
388
+ class DeleteDetectorModelRequest < Struct.new(
389
+ :detector_model_name)
390
+ include Aws::Structure
391
+ end
392
+
393
+ class DeleteDetectorModelResponse < Aws::EmptyStructure; end
394
+
395
+ # @note When making an API call, you may pass DeleteInputRequest
396
+ # data as a hash:
397
+ #
398
+ # {
399
+ # input_name: "InputName", # required
400
+ # }
401
+ #
402
+ # @!attribute [rw] input_name
403
+ # The name of the input to be deleted.
404
+ # @return [String]
405
+ #
406
+ class DeleteInputRequest < Struct.new(
407
+ :input_name)
408
+ include Aws::Structure
409
+ end
410
+
411
+ class DeleteInputResponse < Aws::EmptyStructure; end
412
+
413
+ # @note When making an API call, you may pass DescribeDetectorModelRequest
414
+ # data as a hash:
415
+ #
416
+ # {
417
+ # detector_model_name: "DetectorModelName", # required
418
+ # detector_model_version: "DetectorModelVersion",
419
+ # }
420
+ #
421
+ # @!attribute [rw] detector_model_name
422
+ # The name of the detector model.
423
+ # @return [String]
424
+ #
425
+ # @!attribute [rw] detector_model_version
426
+ # The version of the detector model.
427
+ # @return [String]
428
+ #
429
+ class DescribeDetectorModelRequest < Struct.new(
430
+ :detector_model_name,
431
+ :detector_model_version)
432
+ include Aws::Structure
433
+ end
434
+
435
+ # @!attribute [rw] detector_model
436
+ # Information about the detector model.
437
+ # @return [Types::DetectorModel]
438
+ #
439
+ class DescribeDetectorModelResponse < Struct.new(
440
+ :detector_model)
441
+ include Aws::Structure
442
+ end
443
+
444
+ # @note When making an API call, you may pass DescribeInputRequest
445
+ # data as a hash:
446
+ #
447
+ # {
448
+ # input_name: "InputName", # required
449
+ # }
450
+ #
451
+ # @!attribute [rw] input_name
452
+ # The name of the input.
453
+ # @return [String]
454
+ #
455
+ class DescribeInputRequest < Struct.new(
456
+ :input_name)
457
+ include Aws::Structure
458
+ end
459
+
460
+ # @!attribute [rw] input
461
+ # Information about the input.
462
+ # @return [Types::Input]
463
+ #
464
+ class DescribeInputResponse < Struct.new(
465
+ :input)
466
+ include Aws::Structure
467
+ end
468
+
469
+ # @api private
470
+ #
471
+ class DescribeLoggingOptionsRequest < Aws::EmptyStructure; end
472
+
473
+ # @!attribute [rw] logging_options
474
+ # The current settings of the AWS IoT Events logging options.
475
+ # @return [Types::LoggingOptions]
476
+ #
477
+ class DescribeLoggingOptionsResponse < Struct.new(
478
+ :logging_options)
479
+ include Aws::Structure
480
+ end
481
+
482
+ # The detector model and the specific detectors (instances) for which
483
+ # the logging level is given.
484
+ #
485
+ # @note When making an API call, you may pass DetectorDebugOption
486
+ # data as a hash:
487
+ #
488
+ # {
489
+ # detector_model_name: "DetectorModelName", # required
490
+ # key_value: "KeyValue",
491
+ # }
492
+ #
493
+ # @!attribute [rw] detector_model_name
494
+ # The name of the detector model.
495
+ # @return [String]
496
+ #
497
+ # @!attribute [rw] key_value
498
+ # The value of the input attribute key used to create the detector
499
+ # (the instance of the detector model).
500
+ # @return [String]
501
+ #
502
+ class DetectorDebugOption < Struct.new(
503
+ :detector_model_name,
504
+ :key_value)
505
+ include Aws::Structure
506
+ end
507
+
508
+ # Information about the detector model.
509
+ #
510
+ # @!attribute [rw] detector_model_definition
511
+ # Information that defines how a detector operates.
512
+ # @return [Types::DetectorModelDefinition]
513
+ #
514
+ # @!attribute [rw] detector_model_configuration
515
+ # Information about how the detector is configured.
516
+ # @return [Types::DetectorModelConfiguration]
517
+ #
518
+ class DetectorModel < Struct.new(
519
+ :detector_model_definition,
520
+ :detector_model_configuration)
521
+ include Aws::Structure
522
+ end
523
+
524
+ # Information about how the detector model is configured.
525
+ #
526
+ # @!attribute [rw] detector_model_name
527
+ # The name of the detector model.
528
+ # @return [String]
529
+ #
530
+ # @!attribute [rw] detector_model_version
531
+ # The version of the detector model.
532
+ # @return [String]
533
+ #
534
+ # @!attribute [rw] detector_model_description
535
+ # A brief description of the detector model.
536
+ # @return [String]
537
+ #
538
+ # @!attribute [rw] detector_model_arn
539
+ # The ARN of the detector model.
540
+ # @return [String]
541
+ #
542
+ # @!attribute [rw] role_arn
543
+ # The ARN of the role that grants permission to AWS IoT Events to
544
+ # perform its operations.
545
+ # @return [String]
546
+ #
547
+ # @!attribute [rw] creation_time
548
+ # The time the detector model was created.
549
+ # @return [Time]
550
+ #
551
+ # @!attribute [rw] last_update_time
552
+ # The time the detector model was last updated.
553
+ # @return [Time]
554
+ #
555
+ # @!attribute [rw] status
556
+ # The status of the detector model.
557
+ # @return [String]
558
+ #
559
+ # @!attribute [rw] key
560
+ # The input attribute key used to identify a device or system in order
561
+ # to create a detector (an instance of the detector model) and then to
562
+ # route each input received to the appropriate detector (instance).
563
+ # This parameter uses a JSON-path expression to specify the
564
+ # attribute-value pair in the message payload of each input that is
565
+ # used to identify the device associated with the input.
566
+ # @return [String]
567
+ #
568
+ class DetectorModelConfiguration < Struct.new(
569
+ :detector_model_name,
570
+ :detector_model_version,
571
+ :detector_model_description,
572
+ :detector_model_arn,
573
+ :role_arn,
574
+ :creation_time,
575
+ :last_update_time,
576
+ :status,
577
+ :key)
578
+ include Aws::Structure
579
+ end
580
+
581
+ # Information that defines how a detector operates.
582
+ #
583
+ # @note When making an API call, you may pass DetectorModelDefinition
584
+ # data as a hash:
585
+ #
586
+ # {
587
+ # states: [ # required
588
+ # {
589
+ # state_name: "StateName", # required
590
+ # on_input: {
591
+ # events: [
592
+ # {
593
+ # event_name: "EventName", # required
594
+ # condition: "Condition",
595
+ # actions: [
596
+ # {
597
+ # set_variable: {
598
+ # variable_name: "VariableName", # required
599
+ # value: "VariableValue", # required
600
+ # },
601
+ # sns: {
602
+ # target_arn: "AmazonResourceName", # required
603
+ # },
604
+ # iot_topic_publish: {
605
+ # mqtt_topic: "MQTTTopic", # required
606
+ # },
607
+ # set_timer: {
608
+ # timer_name: "TimerName", # required
609
+ # seconds: 1, # required
610
+ # },
611
+ # clear_timer: {
612
+ # timer_name: "TimerName", # required
613
+ # },
614
+ # reset_timer: {
615
+ # timer_name: "TimerName", # required
616
+ # },
617
+ # },
618
+ # ],
619
+ # },
620
+ # ],
621
+ # transition_events: [
622
+ # {
623
+ # event_name: "EventName", # required
624
+ # condition: "Condition", # required
625
+ # actions: [
626
+ # {
627
+ # set_variable: {
628
+ # variable_name: "VariableName", # required
629
+ # value: "VariableValue", # required
630
+ # },
631
+ # sns: {
632
+ # target_arn: "AmazonResourceName", # required
633
+ # },
634
+ # iot_topic_publish: {
635
+ # mqtt_topic: "MQTTTopic", # required
636
+ # },
637
+ # set_timer: {
638
+ # timer_name: "TimerName", # required
639
+ # seconds: 1, # required
640
+ # },
641
+ # clear_timer: {
642
+ # timer_name: "TimerName", # required
643
+ # },
644
+ # reset_timer: {
645
+ # timer_name: "TimerName", # required
646
+ # },
647
+ # },
648
+ # ],
649
+ # next_state: "StateName", # required
650
+ # },
651
+ # ],
652
+ # },
653
+ # on_enter: {
654
+ # events: [
655
+ # {
656
+ # event_name: "EventName", # required
657
+ # condition: "Condition",
658
+ # actions: [
659
+ # {
660
+ # set_variable: {
661
+ # variable_name: "VariableName", # required
662
+ # value: "VariableValue", # required
663
+ # },
664
+ # sns: {
665
+ # target_arn: "AmazonResourceName", # required
666
+ # },
667
+ # iot_topic_publish: {
668
+ # mqtt_topic: "MQTTTopic", # required
669
+ # },
670
+ # set_timer: {
671
+ # timer_name: "TimerName", # required
672
+ # seconds: 1, # required
673
+ # },
674
+ # clear_timer: {
675
+ # timer_name: "TimerName", # required
676
+ # },
677
+ # reset_timer: {
678
+ # timer_name: "TimerName", # required
679
+ # },
680
+ # },
681
+ # ],
682
+ # },
683
+ # ],
684
+ # },
685
+ # on_exit: {
686
+ # events: [
687
+ # {
688
+ # event_name: "EventName", # required
689
+ # condition: "Condition",
690
+ # actions: [
691
+ # {
692
+ # set_variable: {
693
+ # variable_name: "VariableName", # required
694
+ # value: "VariableValue", # required
695
+ # },
696
+ # sns: {
697
+ # target_arn: "AmazonResourceName", # required
698
+ # },
699
+ # iot_topic_publish: {
700
+ # mqtt_topic: "MQTTTopic", # required
701
+ # },
702
+ # set_timer: {
703
+ # timer_name: "TimerName", # required
704
+ # seconds: 1, # required
705
+ # },
706
+ # clear_timer: {
707
+ # timer_name: "TimerName", # required
708
+ # },
709
+ # reset_timer: {
710
+ # timer_name: "TimerName", # required
711
+ # },
712
+ # },
713
+ # ],
714
+ # },
715
+ # ],
716
+ # },
717
+ # },
718
+ # ],
719
+ # initial_state_name: "StateName", # required
720
+ # }
721
+ #
722
+ # @!attribute [rw] states
723
+ # Information about the states of the detector.
724
+ # @return [Array<Types::State>]
725
+ #
726
+ # @!attribute [rw] initial_state_name
727
+ # The state that is entered at the creation of each detector
728
+ # (instance).
729
+ # @return [String]
730
+ #
731
+ class DetectorModelDefinition < Struct.new(
732
+ :states,
733
+ :initial_state_name)
734
+ include Aws::Structure
735
+ end
736
+
737
+ # Information about the detector model.
738
+ #
739
+ # @!attribute [rw] detector_model_name
740
+ # The name of the detector model.
741
+ # @return [String]
742
+ #
743
+ # @!attribute [rw] detector_model_description
744
+ # A brief description of the detector model.
745
+ # @return [String]
746
+ #
747
+ # @!attribute [rw] creation_time
748
+ # The time the detector model was created.
749
+ # @return [Time]
750
+ #
751
+ class DetectorModelSummary < Struct.new(
752
+ :detector_model_name,
753
+ :detector_model_description,
754
+ :creation_time)
755
+ include Aws::Structure
756
+ end
757
+
758
+ # Information about the detector model version.
759
+ #
760
+ # @!attribute [rw] detector_model_name
761
+ # The name of the detector model.
762
+ # @return [String]
763
+ #
764
+ # @!attribute [rw] detector_model_version
765
+ # The ID of the detector model version.
766
+ # @return [String]
767
+ #
768
+ # @!attribute [rw] detector_model_arn
769
+ # The ARN of the detector model version.
770
+ # @return [String]
771
+ #
772
+ # @!attribute [rw] role_arn
773
+ # The ARN of the role that grants the detector model permission to
774
+ # perform its tasks.
775
+ # @return [String]
776
+ #
777
+ # @!attribute [rw] creation_time
778
+ # The time the detector model version was created.
779
+ # @return [Time]
780
+ #
781
+ # @!attribute [rw] last_update_time
782
+ # The last time the detector model version was updated.
783
+ # @return [Time]
784
+ #
785
+ # @!attribute [rw] status
786
+ # The status of the detector model version.
787
+ # @return [String]
788
+ #
789
+ class DetectorModelVersionSummary < Struct.new(
790
+ :detector_model_name,
791
+ :detector_model_version,
792
+ :detector_model_arn,
793
+ :role_arn,
794
+ :creation_time,
795
+ :last_update_time,
796
+ :status)
797
+ include Aws::Structure
798
+ end
799
+
800
+ # Specifies the `actions` to be performed when the `condition` evaluates
801
+ # to TRUE.
802
+ #
803
+ # @note When making an API call, you may pass Event
804
+ # data as a hash:
805
+ #
806
+ # {
807
+ # event_name: "EventName", # required
808
+ # condition: "Condition",
809
+ # actions: [
810
+ # {
811
+ # set_variable: {
812
+ # variable_name: "VariableName", # required
813
+ # value: "VariableValue", # required
814
+ # },
815
+ # sns: {
816
+ # target_arn: "AmazonResourceName", # required
817
+ # },
818
+ # iot_topic_publish: {
819
+ # mqtt_topic: "MQTTTopic", # required
820
+ # },
821
+ # set_timer: {
822
+ # timer_name: "TimerName", # required
823
+ # seconds: 1, # required
824
+ # },
825
+ # clear_timer: {
826
+ # timer_name: "TimerName", # required
827
+ # },
828
+ # reset_timer: {
829
+ # timer_name: "TimerName", # required
830
+ # },
831
+ # },
832
+ # ],
833
+ # }
834
+ #
835
+ # @!attribute [rw] event_name
836
+ # The name of the event.
837
+ # @return [String]
838
+ #
839
+ # @!attribute [rw] condition
840
+ # \[Optional\] The Boolean expression that when TRUE causes the
841
+ # `actions` to be performed. If not present, the actions are performed
842
+ # (=TRUE); if the expression result is not a Boolean value the actions
843
+ # are NOT performed (=FALSE).
844
+ # @return [String]
845
+ #
846
+ # @!attribute [rw] actions
847
+ # The actions to be performed.
848
+ # @return [Array<Types::Action>]
849
+ #
850
+ class Event < Struct.new(
851
+ :event_name,
852
+ :condition,
853
+ :actions)
854
+ include Aws::Structure
855
+ end
856
+
857
+ # Information about the input.
858
+ #
859
+ # @!attribute [rw] input_configuration
860
+ # Information about the configuration of an input.
861
+ # @return [Types::InputConfiguration]
862
+ #
863
+ # @!attribute [rw] input_definition
864
+ # The definition of the input.
865
+ # @return [Types::InputDefinition]
866
+ #
867
+ class Input < Struct.new(
868
+ :input_configuration,
869
+ :input_definition)
870
+ include Aws::Structure
871
+ end
872
+
873
+ # Information about the configuration of an input.
874
+ #
875
+ # @!attribute [rw] input_name
876
+ # The name of the input.
877
+ # @return [String]
878
+ #
879
+ # @!attribute [rw] input_description
880
+ # A brief description of the input.
881
+ # @return [String]
882
+ #
883
+ # @!attribute [rw] input_arn
884
+ # The ARN of the input.
885
+ # @return [String]
886
+ #
887
+ # @!attribute [rw] creation_time
888
+ # The time the input was created.
889
+ # @return [Time]
890
+ #
891
+ # @!attribute [rw] last_update_time
892
+ # The last time the input was updated.
893
+ # @return [Time]
894
+ #
895
+ # @!attribute [rw] status
896
+ # The status of the input.
897
+ # @return [String]
898
+ #
899
+ class InputConfiguration < Struct.new(
900
+ :input_name,
901
+ :input_description,
902
+ :input_arn,
903
+ :creation_time,
904
+ :last_update_time,
905
+ :status)
906
+ include Aws::Structure
907
+ end
908
+
909
+ # The definition of the input.
910
+ #
911
+ # @note When making an API call, you may pass InputDefinition
912
+ # data as a hash:
913
+ #
914
+ # {
915
+ # attributes: [ # required
916
+ # {
917
+ # json_path: "AttributeJsonPath", # required
918
+ # },
919
+ # ],
920
+ # }
921
+ #
922
+ # @!attribute [rw] attributes
923
+ # The attributes from the JSON payload that are made available by the
924
+ # input. Inputs are derived from messages sent to the AWS IoT Events
925
+ # system using `BatchPutMessage`. Each such message contains a JSON
926
+ # payload, and those attributes (and their paired values) specified
927
+ # here is available for use in the `condition` expressions used by
928
+ # detectors that monitor this input.
929
+ # @return [Array<Types::Attribute>]
930
+ #
931
+ class InputDefinition < Struct.new(
932
+ :attributes)
933
+ include Aws::Structure
934
+ end
935
+
936
+ # Information about the input.
937
+ #
938
+ # @!attribute [rw] input_name
939
+ # The name of the input.
940
+ # @return [String]
941
+ #
942
+ # @!attribute [rw] input_description
943
+ # A brief description of the input.
944
+ # @return [String]
945
+ #
946
+ # @!attribute [rw] input_arn
947
+ # The ARN of the input.
948
+ # @return [String]
949
+ #
950
+ # @!attribute [rw] creation_time
951
+ # The time the input was created.
952
+ # @return [Time]
953
+ #
954
+ # @!attribute [rw] last_update_time
955
+ # The last time the input was updated.
956
+ # @return [Time]
957
+ #
958
+ # @!attribute [rw] status
959
+ # The status of the input.
960
+ # @return [String]
961
+ #
962
+ class InputSummary < Struct.new(
963
+ :input_name,
964
+ :input_description,
965
+ :input_arn,
966
+ :creation_time,
967
+ :last_update_time,
968
+ :status)
969
+ include Aws::Structure
970
+ end
971
+
972
+ # An internal failure occurred.
973
+ #
974
+ # @!attribute [rw] message
975
+ # The message for the exception.
976
+ # @return [String]
977
+ #
978
+ class InternalFailureException < Struct.new(
979
+ :message)
980
+ include Aws::Structure
981
+ end
982
+
983
+ # The request was invalid.
984
+ #
985
+ # @!attribute [rw] message
986
+ # The message for the exception.
987
+ # @return [String]
988
+ #
989
+ class InvalidRequestException < Struct.new(
990
+ :message)
991
+ include Aws::Structure
992
+ end
993
+
994
+ # Information required to publish the MQTT message via the AWS IoT
995
+ # Message Broker.
996
+ #
997
+ # @note When making an API call, you may pass IotTopicPublishAction
998
+ # data as a hash:
999
+ #
1000
+ # {
1001
+ # mqtt_topic: "MQTTTopic", # required
1002
+ # }
1003
+ #
1004
+ # @!attribute [rw] mqtt_topic
1005
+ # The MQTT topic of the message.
1006
+ # @return [String]
1007
+ #
1008
+ class IotTopicPublishAction < Struct.new(
1009
+ :mqtt_topic)
1010
+ include Aws::Structure
1011
+ end
1012
+
1013
+ # A limit was exceeded.
1014
+ #
1015
+ # @!attribute [rw] message
1016
+ # The message for the exception.
1017
+ # @return [String]
1018
+ #
1019
+ class LimitExceededException < Struct.new(
1020
+ :message)
1021
+ include Aws::Structure
1022
+ end
1023
+
1024
+ # @note When making an API call, you may pass ListDetectorModelVersionsRequest
1025
+ # data as a hash:
1026
+ #
1027
+ # {
1028
+ # detector_model_name: "DetectorModelName", # required
1029
+ # next_token: "NextToken",
1030
+ # max_results: 1,
1031
+ # }
1032
+ #
1033
+ # @!attribute [rw] detector_model_name
1034
+ # The name of the detector model whose versions are returned.
1035
+ # @return [String]
1036
+ #
1037
+ # @!attribute [rw] next_token
1038
+ # The token for the next set of results.
1039
+ # @return [String]
1040
+ #
1041
+ # @!attribute [rw] max_results
1042
+ # The maximum number of results to return at one time.
1043
+ # @return [Integer]
1044
+ #
1045
+ class ListDetectorModelVersionsRequest < Struct.new(
1046
+ :detector_model_name,
1047
+ :next_token,
1048
+ :max_results)
1049
+ include Aws::Structure
1050
+ end
1051
+
1052
+ # @!attribute [rw] detector_model_version_summaries
1053
+ # Summary information about the detector model versions.
1054
+ # @return [Array<Types::DetectorModelVersionSummary>]
1055
+ #
1056
+ # @!attribute [rw] next_token
1057
+ # A token to retrieve the next set of results, or `null` if there are
1058
+ # no additional results.
1059
+ # @return [String]
1060
+ #
1061
+ class ListDetectorModelVersionsResponse < Struct.new(
1062
+ :detector_model_version_summaries,
1063
+ :next_token)
1064
+ include Aws::Structure
1065
+ end
1066
+
1067
+ # @note When making an API call, you may pass ListDetectorModelsRequest
1068
+ # data as a hash:
1069
+ #
1070
+ # {
1071
+ # next_token: "NextToken",
1072
+ # max_results: 1,
1073
+ # }
1074
+ #
1075
+ # @!attribute [rw] next_token
1076
+ # The token for the next set of results.
1077
+ # @return [String]
1078
+ #
1079
+ # @!attribute [rw] max_results
1080
+ # The maximum number of results to return at one time.
1081
+ # @return [Integer]
1082
+ #
1083
+ class ListDetectorModelsRequest < Struct.new(
1084
+ :next_token,
1085
+ :max_results)
1086
+ include Aws::Structure
1087
+ end
1088
+
1089
+ # @!attribute [rw] detector_model_summaries
1090
+ # Summary information about the detector models.
1091
+ # @return [Array<Types::DetectorModelSummary>]
1092
+ #
1093
+ # @!attribute [rw] next_token
1094
+ # A token to retrieve the next set of results, or `null` if there are
1095
+ # no additional results.
1096
+ # @return [String]
1097
+ #
1098
+ class ListDetectorModelsResponse < Struct.new(
1099
+ :detector_model_summaries,
1100
+ :next_token)
1101
+ include Aws::Structure
1102
+ end
1103
+
1104
+ # @note When making an API call, you may pass ListInputsRequest
1105
+ # data as a hash:
1106
+ #
1107
+ # {
1108
+ # next_token: "NextToken",
1109
+ # max_results: 1,
1110
+ # }
1111
+ #
1112
+ # @!attribute [rw] next_token
1113
+ # The token for the next set of results.
1114
+ # @return [String]
1115
+ #
1116
+ # @!attribute [rw] max_results
1117
+ # The maximum number of results to return at one time.
1118
+ # @return [Integer]
1119
+ #
1120
+ class ListInputsRequest < Struct.new(
1121
+ :next_token,
1122
+ :max_results)
1123
+ include Aws::Structure
1124
+ end
1125
+
1126
+ # @!attribute [rw] input_summaries
1127
+ # Summary information about the inputs.
1128
+ # @return [Array<Types::InputSummary>]
1129
+ #
1130
+ # @!attribute [rw] next_token
1131
+ # A token to retrieve the next set of results, or `null` if there are
1132
+ # no additional results.
1133
+ # @return [String]
1134
+ #
1135
+ class ListInputsResponse < Struct.new(
1136
+ :input_summaries,
1137
+ :next_token)
1138
+ include Aws::Structure
1139
+ end
1140
+
1141
+ # @note When making an API call, you may pass ListTagsForResourceRequest
1142
+ # data as a hash:
1143
+ #
1144
+ # {
1145
+ # resource_arn: "AmazonResourceName", # required
1146
+ # }
1147
+ #
1148
+ # @!attribute [rw] resource_arn
1149
+ # The ARN of the resource.
1150
+ # @return [String]
1151
+ #
1152
+ class ListTagsForResourceRequest < Struct.new(
1153
+ :resource_arn)
1154
+ include Aws::Structure
1155
+ end
1156
+
1157
+ # @!attribute [rw] tags
1158
+ # The list of tags assigned to the resource.
1159
+ # @return [Array<Types::Tag>]
1160
+ #
1161
+ class ListTagsForResourceResponse < Struct.new(
1162
+ :tags)
1163
+ include Aws::Structure
1164
+ end
1165
+
1166
+ # The values of the AWS IoT Events logging options.
1167
+ #
1168
+ # @note When making an API call, you may pass LoggingOptions
1169
+ # data as a hash:
1170
+ #
1171
+ # {
1172
+ # role_arn: "AmazonResourceName", # required
1173
+ # level: "ERROR", # required, accepts ERROR, INFO, DEBUG
1174
+ # enabled: false, # required
1175
+ # detector_debug_options: [
1176
+ # {
1177
+ # detector_model_name: "DetectorModelName", # required
1178
+ # key_value: "KeyValue",
1179
+ # },
1180
+ # ],
1181
+ # }
1182
+ #
1183
+ # @!attribute [rw] role_arn
1184
+ # The ARN of the role that grants permission to AWS IoT Events to
1185
+ # perform logging.
1186
+ # @return [String]
1187
+ #
1188
+ # @!attribute [rw] level
1189
+ # The logging level. Currently, only "ERROR" is supported.
1190
+ # @return [String]
1191
+ #
1192
+ # @!attribute [rw] enabled
1193
+ # If TRUE, logging is enabled for AWS IoT Events.
1194
+ # @return [Boolean]
1195
+ #
1196
+ # @!attribute [rw] detector_debug_options
1197
+ # Information that identifies those detector models and their
1198
+ # detectors (instances) for which the logging level is given.
1199
+ # @return [Array<Types::DetectorDebugOption>]
1200
+ #
1201
+ class LoggingOptions < Struct.new(
1202
+ :role_arn,
1203
+ :level,
1204
+ :enabled,
1205
+ :detector_debug_options)
1206
+ include Aws::Structure
1207
+ end
1208
+
1209
+ # When entering this state, perform these `actions` if the `condition`
1210
+ # is TRUE.
1211
+ #
1212
+ # @note When making an API call, you may pass OnEnterLifecycle
1213
+ # data as a hash:
1214
+ #
1215
+ # {
1216
+ # events: [
1217
+ # {
1218
+ # event_name: "EventName", # required
1219
+ # condition: "Condition",
1220
+ # actions: [
1221
+ # {
1222
+ # set_variable: {
1223
+ # variable_name: "VariableName", # required
1224
+ # value: "VariableValue", # required
1225
+ # },
1226
+ # sns: {
1227
+ # target_arn: "AmazonResourceName", # required
1228
+ # },
1229
+ # iot_topic_publish: {
1230
+ # mqtt_topic: "MQTTTopic", # required
1231
+ # },
1232
+ # set_timer: {
1233
+ # timer_name: "TimerName", # required
1234
+ # seconds: 1, # required
1235
+ # },
1236
+ # clear_timer: {
1237
+ # timer_name: "TimerName", # required
1238
+ # },
1239
+ # reset_timer: {
1240
+ # timer_name: "TimerName", # required
1241
+ # },
1242
+ # },
1243
+ # ],
1244
+ # },
1245
+ # ],
1246
+ # }
1247
+ #
1248
+ # @!attribute [rw] events
1249
+ # Specifies the actions that are performed when the state is entered
1250
+ # and the `condition` is TRUE.
1251
+ # @return [Array<Types::Event>]
1252
+ #
1253
+ class OnEnterLifecycle < Struct.new(
1254
+ :events)
1255
+ include Aws::Structure
1256
+ end
1257
+
1258
+ # When exiting this state, perform these `actions` if the specified
1259
+ # `condition` is TRUE.
1260
+ #
1261
+ # @note When making an API call, you may pass OnExitLifecycle
1262
+ # data as a hash:
1263
+ #
1264
+ # {
1265
+ # events: [
1266
+ # {
1267
+ # event_name: "EventName", # required
1268
+ # condition: "Condition",
1269
+ # actions: [
1270
+ # {
1271
+ # set_variable: {
1272
+ # variable_name: "VariableName", # required
1273
+ # value: "VariableValue", # required
1274
+ # },
1275
+ # sns: {
1276
+ # target_arn: "AmazonResourceName", # required
1277
+ # },
1278
+ # iot_topic_publish: {
1279
+ # mqtt_topic: "MQTTTopic", # required
1280
+ # },
1281
+ # set_timer: {
1282
+ # timer_name: "TimerName", # required
1283
+ # seconds: 1, # required
1284
+ # },
1285
+ # clear_timer: {
1286
+ # timer_name: "TimerName", # required
1287
+ # },
1288
+ # reset_timer: {
1289
+ # timer_name: "TimerName", # required
1290
+ # },
1291
+ # },
1292
+ # ],
1293
+ # },
1294
+ # ],
1295
+ # }
1296
+ #
1297
+ # @!attribute [rw] events
1298
+ # Specifies the actions that are performed when the state is exited
1299
+ # and the `condition` is TRUE.
1300
+ # @return [Array<Types::Event>]
1301
+ #
1302
+ class OnExitLifecycle < Struct.new(
1303
+ :events)
1304
+ include Aws::Structure
1305
+ end
1306
+
1307
+ # Specifies the actions performed when the `condition` evaluates to
1308
+ # TRUE.
1309
+ #
1310
+ # @note When making an API call, you may pass OnInputLifecycle
1311
+ # data as a hash:
1312
+ #
1313
+ # {
1314
+ # events: [
1315
+ # {
1316
+ # event_name: "EventName", # required
1317
+ # condition: "Condition",
1318
+ # actions: [
1319
+ # {
1320
+ # set_variable: {
1321
+ # variable_name: "VariableName", # required
1322
+ # value: "VariableValue", # required
1323
+ # },
1324
+ # sns: {
1325
+ # target_arn: "AmazonResourceName", # required
1326
+ # },
1327
+ # iot_topic_publish: {
1328
+ # mqtt_topic: "MQTTTopic", # required
1329
+ # },
1330
+ # set_timer: {
1331
+ # timer_name: "TimerName", # required
1332
+ # seconds: 1, # required
1333
+ # },
1334
+ # clear_timer: {
1335
+ # timer_name: "TimerName", # required
1336
+ # },
1337
+ # reset_timer: {
1338
+ # timer_name: "TimerName", # required
1339
+ # },
1340
+ # },
1341
+ # ],
1342
+ # },
1343
+ # ],
1344
+ # transition_events: [
1345
+ # {
1346
+ # event_name: "EventName", # required
1347
+ # condition: "Condition", # required
1348
+ # actions: [
1349
+ # {
1350
+ # set_variable: {
1351
+ # variable_name: "VariableName", # required
1352
+ # value: "VariableValue", # required
1353
+ # },
1354
+ # sns: {
1355
+ # target_arn: "AmazonResourceName", # required
1356
+ # },
1357
+ # iot_topic_publish: {
1358
+ # mqtt_topic: "MQTTTopic", # required
1359
+ # },
1360
+ # set_timer: {
1361
+ # timer_name: "TimerName", # required
1362
+ # seconds: 1, # required
1363
+ # },
1364
+ # clear_timer: {
1365
+ # timer_name: "TimerName", # required
1366
+ # },
1367
+ # reset_timer: {
1368
+ # timer_name: "TimerName", # required
1369
+ # },
1370
+ # },
1371
+ # ],
1372
+ # next_state: "StateName", # required
1373
+ # },
1374
+ # ],
1375
+ # }
1376
+ #
1377
+ # @!attribute [rw] events
1378
+ # Specifies the actions performed when the `condition` evaluates to
1379
+ # TRUE.
1380
+ # @return [Array<Types::Event>]
1381
+ #
1382
+ # @!attribute [rw] transition_events
1383
+ # Specifies the actions performed and the next state entered when a
1384
+ # `condition` evaluates to TRUE.
1385
+ # @return [Array<Types::TransitionEvent>]
1386
+ #
1387
+ class OnInputLifecycle < Struct.new(
1388
+ :events,
1389
+ :transition_events)
1390
+ include Aws::Structure
1391
+ end
1392
+
1393
+ # @note When making an API call, you may pass PutLoggingOptionsRequest
1394
+ # data as a hash:
1395
+ #
1396
+ # {
1397
+ # logging_options: { # required
1398
+ # role_arn: "AmazonResourceName", # required
1399
+ # level: "ERROR", # required, accepts ERROR, INFO, DEBUG
1400
+ # enabled: false, # required
1401
+ # detector_debug_options: [
1402
+ # {
1403
+ # detector_model_name: "DetectorModelName", # required
1404
+ # key_value: "KeyValue",
1405
+ # },
1406
+ # ],
1407
+ # },
1408
+ # }
1409
+ #
1410
+ # @!attribute [rw] logging_options
1411
+ # The new values of the AWS IoT Events logging options.
1412
+ # @return [Types::LoggingOptions]
1413
+ #
1414
+ class PutLoggingOptionsRequest < Struct.new(
1415
+ :logging_options)
1416
+ include Aws::Structure
1417
+ end
1418
+
1419
+ # Information needed to reset the timer.
1420
+ #
1421
+ # @note When making an API call, you may pass ResetTimerAction
1422
+ # data as a hash:
1423
+ #
1424
+ # {
1425
+ # timer_name: "TimerName", # required
1426
+ # }
1427
+ #
1428
+ # @!attribute [rw] timer_name
1429
+ # The name of the timer to reset.
1430
+ # @return [String]
1431
+ #
1432
+ class ResetTimerAction < Struct.new(
1433
+ :timer_name)
1434
+ include Aws::Structure
1435
+ end
1436
+
1437
+ # The resource already exists.
1438
+ #
1439
+ # @!attribute [rw] message
1440
+ # The message for the exception.
1441
+ # @return [String]
1442
+ #
1443
+ # @!attribute [rw] resource_id
1444
+ # The ID of the resource.
1445
+ # @return [String]
1446
+ #
1447
+ # @!attribute [rw] resource_arn
1448
+ # The ARN of the resource.
1449
+ # @return [String]
1450
+ #
1451
+ class ResourceAlreadyExistsException < Struct.new(
1452
+ :message,
1453
+ :resource_id,
1454
+ :resource_arn)
1455
+ include Aws::Structure
1456
+ end
1457
+
1458
+ # The resource is in use.
1459
+ #
1460
+ # @!attribute [rw] message
1461
+ # The message for the exception.
1462
+ # @return [String]
1463
+ #
1464
+ class ResourceInUseException < Struct.new(
1465
+ :message)
1466
+ include Aws::Structure
1467
+ end
1468
+
1469
+ # The resource was not found.
1470
+ #
1471
+ # @!attribute [rw] message
1472
+ # The message for the exception.
1473
+ # @return [String]
1474
+ #
1475
+ class ResourceNotFoundException < Struct.new(
1476
+ :message)
1477
+ include Aws::Structure
1478
+ end
1479
+
1480
+ # Information required to publish the Amazon SNS message.
1481
+ #
1482
+ # @note When making an API call, you may pass SNSTopicPublishAction
1483
+ # data as a hash:
1484
+ #
1485
+ # {
1486
+ # target_arn: "AmazonResourceName", # required
1487
+ # }
1488
+ #
1489
+ # @!attribute [rw] target_arn
1490
+ # The ARN of the Amazon SNS target to which the message is sent.
1491
+ # @return [String]
1492
+ #
1493
+ class SNSTopicPublishAction < Struct.new(
1494
+ :target_arn)
1495
+ include Aws::Structure
1496
+ end
1497
+
1498
+ # The service is currently unavailable.
1499
+ #
1500
+ # @!attribute [rw] message
1501
+ # The message for the exception.
1502
+ # @return [String]
1503
+ #
1504
+ class ServiceUnavailableException < Struct.new(
1505
+ :message)
1506
+ include Aws::Structure
1507
+ end
1508
+
1509
+ # Information needed to set the timer.
1510
+ #
1511
+ # @note When making an API call, you may pass SetTimerAction
1512
+ # data as a hash:
1513
+ #
1514
+ # {
1515
+ # timer_name: "TimerName", # required
1516
+ # seconds: 1, # required
1517
+ # }
1518
+ #
1519
+ # @!attribute [rw] timer_name
1520
+ # The name of the timer.
1521
+ # @return [String]
1522
+ #
1523
+ # @!attribute [rw] seconds
1524
+ # The number of seconds until the timer expires. The minimum value is
1525
+ # 60 seconds to ensure accuracy.
1526
+ # @return [Integer]
1527
+ #
1528
+ class SetTimerAction < Struct.new(
1529
+ :timer_name,
1530
+ :seconds)
1531
+ include Aws::Structure
1532
+ end
1533
+
1534
+ # Information about the variable and its new value.
1535
+ #
1536
+ # @note When making an API call, you may pass SetVariableAction
1537
+ # data as a hash:
1538
+ #
1539
+ # {
1540
+ # variable_name: "VariableName", # required
1541
+ # value: "VariableValue", # required
1542
+ # }
1543
+ #
1544
+ # @!attribute [rw] variable_name
1545
+ # The name of the variable.
1546
+ # @return [String]
1547
+ #
1548
+ # @!attribute [rw] value
1549
+ # The new value of the variable.
1550
+ # @return [String]
1551
+ #
1552
+ class SetVariableAction < Struct.new(
1553
+ :variable_name,
1554
+ :value)
1555
+ include Aws::Structure
1556
+ end
1557
+
1558
+ # Information that defines a state of a detector.
1559
+ #
1560
+ # @note When making an API call, you may pass State
1561
+ # data as a hash:
1562
+ #
1563
+ # {
1564
+ # state_name: "StateName", # required
1565
+ # on_input: {
1566
+ # events: [
1567
+ # {
1568
+ # event_name: "EventName", # required
1569
+ # condition: "Condition",
1570
+ # actions: [
1571
+ # {
1572
+ # set_variable: {
1573
+ # variable_name: "VariableName", # required
1574
+ # value: "VariableValue", # required
1575
+ # },
1576
+ # sns: {
1577
+ # target_arn: "AmazonResourceName", # required
1578
+ # },
1579
+ # iot_topic_publish: {
1580
+ # mqtt_topic: "MQTTTopic", # required
1581
+ # },
1582
+ # set_timer: {
1583
+ # timer_name: "TimerName", # required
1584
+ # seconds: 1, # required
1585
+ # },
1586
+ # clear_timer: {
1587
+ # timer_name: "TimerName", # required
1588
+ # },
1589
+ # reset_timer: {
1590
+ # timer_name: "TimerName", # required
1591
+ # },
1592
+ # },
1593
+ # ],
1594
+ # },
1595
+ # ],
1596
+ # transition_events: [
1597
+ # {
1598
+ # event_name: "EventName", # required
1599
+ # condition: "Condition", # required
1600
+ # actions: [
1601
+ # {
1602
+ # set_variable: {
1603
+ # variable_name: "VariableName", # required
1604
+ # value: "VariableValue", # required
1605
+ # },
1606
+ # sns: {
1607
+ # target_arn: "AmazonResourceName", # required
1608
+ # },
1609
+ # iot_topic_publish: {
1610
+ # mqtt_topic: "MQTTTopic", # required
1611
+ # },
1612
+ # set_timer: {
1613
+ # timer_name: "TimerName", # required
1614
+ # seconds: 1, # required
1615
+ # },
1616
+ # clear_timer: {
1617
+ # timer_name: "TimerName", # required
1618
+ # },
1619
+ # reset_timer: {
1620
+ # timer_name: "TimerName", # required
1621
+ # },
1622
+ # },
1623
+ # ],
1624
+ # next_state: "StateName", # required
1625
+ # },
1626
+ # ],
1627
+ # },
1628
+ # on_enter: {
1629
+ # events: [
1630
+ # {
1631
+ # event_name: "EventName", # required
1632
+ # condition: "Condition",
1633
+ # actions: [
1634
+ # {
1635
+ # set_variable: {
1636
+ # variable_name: "VariableName", # required
1637
+ # value: "VariableValue", # required
1638
+ # },
1639
+ # sns: {
1640
+ # target_arn: "AmazonResourceName", # required
1641
+ # },
1642
+ # iot_topic_publish: {
1643
+ # mqtt_topic: "MQTTTopic", # required
1644
+ # },
1645
+ # set_timer: {
1646
+ # timer_name: "TimerName", # required
1647
+ # seconds: 1, # required
1648
+ # },
1649
+ # clear_timer: {
1650
+ # timer_name: "TimerName", # required
1651
+ # },
1652
+ # reset_timer: {
1653
+ # timer_name: "TimerName", # required
1654
+ # },
1655
+ # },
1656
+ # ],
1657
+ # },
1658
+ # ],
1659
+ # },
1660
+ # on_exit: {
1661
+ # events: [
1662
+ # {
1663
+ # event_name: "EventName", # required
1664
+ # condition: "Condition",
1665
+ # actions: [
1666
+ # {
1667
+ # set_variable: {
1668
+ # variable_name: "VariableName", # required
1669
+ # value: "VariableValue", # required
1670
+ # },
1671
+ # sns: {
1672
+ # target_arn: "AmazonResourceName", # required
1673
+ # },
1674
+ # iot_topic_publish: {
1675
+ # mqtt_topic: "MQTTTopic", # required
1676
+ # },
1677
+ # set_timer: {
1678
+ # timer_name: "TimerName", # required
1679
+ # seconds: 1, # required
1680
+ # },
1681
+ # clear_timer: {
1682
+ # timer_name: "TimerName", # required
1683
+ # },
1684
+ # reset_timer: {
1685
+ # timer_name: "TimerName", # required
1686
+ # },
1687
+ # },
1688
+ # ],
1689
+ # },
1690
+ # ],
1691
+ # },
1692
+ # }
1693
+ #
1694
+ # @!attribute [rw] state_name
1695
+ # The name of the state.
1696
+ # @return [String]
1697
+ #
1698
+ # @!attribute [rw] on_input
1699
+ # When an input is received and the `condition` is TRUE, perform the
1700
+ # specified `actions`.
1701
+ # @return [Types::OnInputLifecycle]
1702
+ #
1703
+ # @!attribute [rw] on_enter
1704
+ # When entering this state, perform these `actions` if the `condition`
1705
+ # is TRUE.
1706
+ # @return [Types::OnEnterLifecycle]
1707
+ #
1708
+ # @!attribute [rw] on_exit
1709
+ # When exiting this state, perform these `actions` if the specified
1710
+ # `condition` is TRUE.
1711
+ # @return [Types::OnExitLifecycle]
1712
+ #
1713
+ class State < Struct.new(
1714
+ :state_name,
1715
+ :on_input,
1716
+ :on_enter,
1717
+ :on_exit)
1718
+ include Aws::Structure
1719
+ end
1720
+
1721
+ # Metadata which can be used to manage the resource.
1722
+ #
1723
+ # @note When making an API call, you may pass Tag
1724
+ # data as a hash:
1725
+ #
1726
+ # {
1727
+ # key: "TagKey", # required
1728
+ # value: "TagValue", # required
1729
+ # }
1730
+ #
1731
+ # @!attribute [rw] key
1732
+ # The tag's key.
1733
+ # @return [String]
1734
+ #
1735
+ # @!attribute [rw] value
1736
+ # The tag's value.
1737
+ # @return [String]
1738
+ #
1739
+ class Tag < Struct.new(
1740
+ :key,
1741
+ :value)
1742
+ include Aws::Structure
1743
+ end
1744
+
1745
+ # @note When making an API call, you may pass TagResourceRequest
1746
+ # data as a hash:
1747
+ #
1748
+ # {
1749
+ # resource_arn: "AmazonResourceName", # required
1750
+ # tags: [ # required
1751
+ # {
1752
+ # key: "TagKey", # required
1753
+ # value: "TagValue", # required
1754
+ # },
1755
+ # ],
1756
+ # }
1757
+ #
1758
+ # @!attribute [rw] resource_arn
1759
+ # The ARN of the resource.
1760
+ # @return [String]
1761
+ #
1762
+ # @!attribute [rw] tags
1763
+ # The new or modified tags for the resource.
1764
+ # @return [Array<Types::Tag>]
1765
+ #
1766
+ class TagResourceRequest < Struct.new(
1767
+ :resource_arn,
1768
+ :tags)
1769
+ include Aws::Structure
1770
+ end
1771
+
1772
+ class TagResourceResponse < Aws::EmptyStructure; end
1773
+
1774
+ # The request could not be completed due to throttling.
1775
+ #
1776
+ # @!attribute [rw] message
1777
+ # The message for the exception.
1778
+ # @return [String]
1779
+ #
1780
+ class ThrottlingException < Struct.new(
1781
+ :message)
1782
+ include Aws::Structure
1783
+ end
1784
+
1785
+ # Specifies the actions performed and the next state entered when a
1786
+ # `condition` evaluates to TRUE.
1787
+ #
1788
+ # @note When making an API call, you may pass TransitionEvent
1789
+ # data as a hash:
1790
+ #
1791
+ # {
1792
+ # event_name: "EventName", # required
1793
+ # condition: "Condition", # required
1794
+ # actions: [
1795
+ # {
1796
+ # set_variable: {
1797
+ # variable_name: "VariableName", # required
1798
+ # value: "VariableValue", # required
1799
+ # },
1800
+ # sns: {
1801
+ # target_arn: "AmazonResourceName", # required
1802
+ # },
1803
+ # iot_topic_publish: {
1804
+ # mqtt_topic: "MQTTTopic", # required
1805
+ # },
1806
+ # set_timer: {
1807
+ # timer_name: "TimerName", # required
1808
+ # seconds: 1, # required
1809
+ # },
1810
+ # clear_timer: {
1811
+ # timer_name: "TimerName", # required
1812
+ # },
1813
+ # reset_timer: {
1814
+ # timer_name: "TimerName", # required
1815
+ # },
1816
+ # },
1817
+ # ],
1818
+ # next_state: "StateName", # required
1819
+ # }
1820
+ #
1821
+ # @!attribute [rw] event_name
1822
+ # The name of the transition event.
1823
+ # @return [String]
1824
+ #
1825
+ # @!attribute [rw] condition
1826
+ # \[Required\] A Boolean expression that when TRUE causes the actions
1827
+ # to be performed and the `nextState` to be entered.
1828
+ # @return [String]
1829
+ #
1830
+ # @!attribute [rw] actions
1831
+ # The actions to be performed.
1832
+ # @return [Array<Types::Action>]
1833
+ #
1834
+ # @!attribute [rw] next_state
1835
+ # The next state to enter.
1836
+ # @return [String]
1837
+ #
1838
+ class TransitionEvent < Struct.new(
1839
+ :event_name,
1840
+ :condition,
1841
+ :actions,
1842
+ :next_state)
1843
+ include Aws::Structure
1844
+ end
1845
+
1846
+ # The requested operation is not supported.
1847
+ #
1848
+ # @!attribute [rw] message
1849
+ # The message for the exception.
1850
+ # @return [String]
1851
+ #
1852
+ class UnsupportedOperationException < Struct.new(
1853
+ :message)
1854
+ include Aws::Structure
1855
+ end
1856
+
1857
+ # @note When making an API call, you may pass UntagResourceRequest
1858
+ # data as a hash:
1859
+ #
1860
+ # {
1861
+ # resource_arn: "AmazonResourceName", # required
1862
+ # tag_keys: ["TagKey"], # required
1863
+ # }
1864
+ #
1865
+ # @!attribute [rw] resource_arn
1866
+ # The ARN of the resource.
1867
+ # @return [String]
1868
+ #
1869
+ # @!attribute [rw] tag_keys
1870
+ # A list of the keys of the tags to be removed from the resource.
1871
+ # @return [Array<String>]
1872
+ #
1873
+ class UntagResourceRequest < Struct.new(
1874
+ :resource_arn,
1875
+ :tag_keys)
1876
+ include Aws::Structure
1877
+ end
1878
+
1879
+ class UntagResourceResponse < Aws::EmptyStructure; end
1880
+
1881
+ # @note When making an API call, you may pass UpdateDetectorModelRequest
1882
+ # data as a hash:
1883
+ #
1884
+ # {
1885
+ # detector_model_name: "DetectorModelName", # required
1886
+ # detector_model_definition: { # required
1887
+ # states: [ # required
1888
+ # {
1889
+ # state_name: "StateName", # required
1890
+ # on_input: {
1891
+ # events: [
1892
+ # {
1893
+ # event_name: "EventName", # required
1894
+ # condition: "Condition",
1895
+ # actions: [
1896
+ # {
1897
+ # set_variable: {
1898
+ # variable_name: "VariableName", # required
1899
+ # value: "VariableValue", # required
1900
+ # },
1901
+ # sns: {
1902
+ # target_arn: "AmazonResourceName", # required
1903
+ # },
1904
+ # iot_topic_publish: {
1905
+ # mqtt_topic: "MQTTTopic", # required
1906
+ # },
1907
+ # set_timer: {
1908
+ # timer_name: "TimerName", # required
1909
+ # seconds: 1, # required
1910
+ # },
1911
+ # clear_timer: {
1912
+ # timer_name: "TimerName", # required
1913
+ # },
1914
+ # reset_timer: {
1915
+ # timer_name: "TimerName", # required
1916
+ # },
1917
+ # },
1918
+ # ],
1919
+ # },
1920
+ # ],
1921
+ # transition_events: [
1922
+ # {
1923
+ # event_name: "EventName", # required
1924
+ # condition: "Condition", # required
1925
+ # actions: [
1926
+ # {
1927
+ # set_variable: {
1928
+ # variable_name: "VariableName", # required
1929
+ # value: "VariableValue", # required
1930
+ # },
1931
+ # sns: {
1932
+ # target_arn: "AmazonResourceName", # required
1933
+ # },
1934
+ # iot_topic_publish: {
1935
+ # mqtt_topic: "MQTTTopic", # required
1936
+ # },
1937
+ # set_timer: {
1938
+ # timer_name: "TimerName", # required
1939
+ # seconds: 1, # required
1940
+ # },
1941
+ # clear_timer: {
1942
+ # timer_name: "TimerName", # required
1943
+ # },
1944
+ # reset_timer: {
1945
+ # timer_name: "TimerName", # required
1946
+ # },
1947
+ # },
1948
+ # ],
1949
+ # next_state: "StateName", # required
1950
+ # },
1951
+ # ],
1952
+ # },
1953
+ # on_enter: {
1954
+ # events: [
1955
+ # {
1956
+ # event_name: "EventName", # required
1957
+ # condition: "Condition",
1958
+ # actions: [
1959
+ # {
1960
+ # set_variable: {
1961
+ # variable_name: "VariableName", # required
1962
+ # value: "VariableValue", # required
1963
+ # },
1964
+ # sns: {
1965
+ # target_arn: "AmazonResourceName", # required
1966
+ # },
1967
+ # iot_topic_publish: {
1968
+ # mqtt_topic: "MQTTTopic", # required
1969
+ # },
1970
+ # set_timer: {
1971
+ # timer_name: "TimerName", # required
1972
+ # seconds: 1, # required
1973
+ # },
1974
+ # clear_timer: {
1975
+ # timer_name: "TimerName", # required
1976
+ # },
1977
+ # reset_timer: {
1978
+ # timer_name: "TimerName", # required
1979
+ # },
1980
+ # },
1981
+ # ],
1982
+ # },
1983
+ # ],
1984
+ # },
1985
+ # on_exit: {
1986
+ # events: [
1987
+ # {
1988
+ # event_name: "EventName", # required
1989
+ # condition: "Condition",
1990
+ # actions: [
1991
+ # {
1992
+ # set_variable: {
1993
+ # variable_name: "VariableName", # required
1994
+ # value: "VariableValue", # required
1995
+ # },
1996
+ # sns: {
1997
+ # target_arn: "AmazonResourceName", # required
1998
+ # },
1999
+ # iot_topic_publish: {
2000
+ # mqtt_topic: "MQTTTopic", # required
2001
+ # },
2002
+ # set_timer: {
2003
+ # timer_name: "TimerName", # required
2004
+ # seconds: 1, # required
2005
+ # },
2006
+ # clear_timer: {
2007
+ # timer_name: "TimerName", # required
2008
+ # },
2009
+ # reset_timer: {
2010
+ # timer_name: "TimerName", # required
2011
+ # },
2012
+ # },
2013
+ # ],
2014
+ # },
2015
+ # ],
2016
+ # },
2017
+ # },
2018
+ # ],
2019
+ # initial_state_name: "StateName", # required
2020
+ # },
2021
+ # detector_model_description: "DetectorModelDescription",
2022
+ # role_arn: "AmazonResourceName", # required
2023
+ # }
2024
+ #
2025
+ # @!attribute [rw] detector_model_name
2026
+ # The name of the detector model to be updated.
2027
+ # @return [String]
2028
+ #
2029
+ # @!attribute [rw] detector_model_definition
2030
+ # Information that defines how a detector operates.
2031
+ # @return [Types::DetectorModelDefinition]
2032
+ #
2033
+ # @!attribute [rw] detector_model_description
2034
+ # A brief description of the detector model.
2035
+ # @return [String]
2036
+ #
2037
+ # @!attribute [rw] role_arn
2038
+ # The ARN of the role that grants permission to AWS IoT Events to
2039
+ # perform its operations.
2040
+ # @return [String]
2041
+ #
2042
+ class UpdateDetectorModelRequest < Struct.new(
2043
+ :detector_model_name,
2044
+ :detector_model_definition,
2045
+ :detector_model_description,
2046
+ :role_arn)
2047
+ include Aws::Structure
2048
+ end
2049
+
2050
+ # @!attribute [rw] detector_model_configuration
2051
+ # Information about how the detector model is configured.
2052
+ # @return [Types::DetectorModelConfiguration]
2053
+ #
2054
+ class UpdateDetectorModelResponse < Struct.new(
2055
+ :detector_model_configuration)
2056
+ include Aws::Structure
2057
+ end
2058
+
2059
+ # @note When making an API call, you may pass UpdateInputRequest
2060
+ # data as a hash:
2061
+ #
2062
+ # {
2063
+ # input_name: "InputName", # required
2064
+ # input_description: "InputDescription",
2065
+ # input_definition: { # required
2066
+ # attributes: [ # required
2067
+ # {
2068
+ # json_path: "AttributeJsonPath", # required
2069
+ # },
2070
+ # ],
2071
+ # },
2072
+ # }
2073
+ #
2074
+ # @!attribute [rw] input_name
2075
+ # The name of the input you want to update.
2076
+ # @return [String]
2077
+ #
2078
+ # @!attribute [rw] input_description
2079
+ # A brief description of the input.
2080
+ # @return [String]
2081
+ #
2082
+ # @!attribute [rw] input_definition
2083
+ # The definition of the input.
2084
+ # @return [Types::InputDefinition]
2085
+ #
2086
+ class UpdateInputRequest < Struct.new(
2087
+ :input_name,
2088
+ :input_description,
2089
+ :input_definition)
2090
+ include Aws::Structure
2091
+ end
2092
+
2093
+ # @!attribute [rw] input_configuration
2094
+ # Information about the configuration of the input.
2095
+ # @return [Types::InputConfiguration]
2096
+ #
2097
+ class UpdateInputResponse < Struct.new(
2098
+ :input_configuration)
2099
+ include Aws::Structure
2100
+ end
2101
+
2102
+ end
2103
+ end