aws-sdk-iotevents 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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