class Aws::IoTEvents::Types::CreateDetectorModelRequest
@note When making an API call, you may pass CreateDetectorModelRequest
data as a hash: { detector_model_name: "DetectorModelName", # required detector_model_definition: { # required states: [ # required { state_name: "StateName", # required on_input: { events: [ { event_name: "EventName", # required condition: "Condition", actions: [ { set_variable: { variable_name: "VariableName", # required value: "VariableValue", # required }, sns: { target_arn: "AmazonResourceName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_topic_publish: { mqtt_topic: "MQTTTopic", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, set_timer: { timer_name: "TimerName", # required seconds: 1, duration_expression: "VariableValue", }, clear_timer: { timer_name: "TimerName", # required }, reset_timer: { timer_name: "TimerName", # required }, lambda: { function_arn: "AmazonResourceName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_events: { input_name: "InputName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, sqs: { queue_url: "QueueUrl", # required use_base_64: false, payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, firehose: { delivery_stream_name: "DeliveryStreamName", # required separator: "FirehoseSeparator", payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, dynamo_db: { hash_key_type: "DynamoKeyType", hash_key_field: "DynamoKeyField", # required hash_key_value: "DynamoKeyValue", # required range_key_type: "DynamoKeyType", range_key_field: "DynamoKeyField", range_key_value: "DynamoKeyValue", operation: "DynamoOperation", payload_field: "DynamoKeyField", table_name: "DynamoTableName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, dynamo_d_bv_2: { table_name: "DynamoTableName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_site_wise: { entry_id: "AssetPropertyEntryId", asset_id: "AssetId", property_id: "AssetPropertyId", property_alias: "AssetPropertyAlias", property_value: { value: { string_value: "AssetPropertyStringValue", integer_value: "AssetPropertyIntegerValue", double_value: "AssetPropertyDoubleValue", boolean_value: "AssetPropertyBooleanValue", }, timestamp: { time_in_seconds: "AssetPropertyTimeInSeconds", # required offset_in_nanos: "AssetPropertyOffsetInNanos", }, quality: "AssetPropertyQuality", }, }, }, ], }, ], transition_events: [ { event_name: "EventName", # required condition: "Condition", # required actions: [ { set_variable: { variable_name: "VariableName", # required value: "VariableValue", # required }, sns: { target_arn: "AmazonResourceName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_topic_publish: { mqtt_topic: "MQTTTopic", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, set_timer: { timer_name: "TimerName", # required seconds: 1, duration_expression: "VariableValue", }, clear_timer: { timer_name: "TimerName", # required }, reset_timer: { timer_name: "TimerName", # required }, lambda: { function_arn: "AmazonResourceName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_events: { input_name: "InputName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, sqs: { queue_url: "QueueUrl", # required use_base_64: false, payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, firehose: { delivery_stream_name: "DeliveryStreamName", # required separator: "FirehoseSeparator", payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, dynamo_db: { hash_key_type: "DynamoKeyType", hash_key_field: "DynamoKeyField", # required hash_key_value: "DynamoKeyValue", # required range_key_type: "DynamoKeyType", range_key_field: "DynamoKeyField", range_key_value: "DynamoKeyValue", operation: "DynamoOperation", payload_field: "DynamoKeyField", table_name: "DynamoTableName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, dynamo_d_bv_2: { table_name: "DynamoTableName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_site_wise: { entry_id: "AssetPropertyEntryId", asset_id: "AssetId", property_id: "AssetPropertyId", property_alias: "AssetPropertyAlias", property_value: { value: { string_value: "AssetPropertyStringValue", integer_value: "AssetPropertyIntegerValue", double_value: "AssetPropertyDoubleValue", boolean_value: "AssetPropertyBooleanValue", }, timestamp: { time_in_seconds: "AssetPropertyTimeInSeconds", # required offset_in_nanos: "AssetPropertyOffsetInNanos", }, quality: "AssetPropertyQuality", }, }, }, ], next_state: "StateName", # required }, ], }, on_enter: { events: [ { event_name: "EventName", # required condition: "Condition", actions: [ { set_variable: { variable_name: "VariableName", # required value: "VariableValue", # required }, sns: { target_arn: "AmazonResourceName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_topic_publish: { mqtt_topic: "MQTTTopic", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, set_timer: { timer_name: "TimerName", # required seconds: 1, duration_expression: "VariableValue", }, clear_timer: { timer_name: "TimerName", # required }, reset_timer: { timer_name: "TimerName", # required }, lambda: { function_arn: "AmazonResourceName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_events: { input_name: "InputName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, sqs: { queue_url: "QueueUrl", # required use_base_64: false, payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, firehose: { delivery_stream_name: "DeliveryStreamName", # required separator: "FirehoseSeparator", payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, dynamo_db: { hash_key_type: "DynamoKeyType", hash_key_field: "DynamoKeyField", # required hash_key_value: "DynamoKeyValue", # required range_key_type: "DynamoKeyType", range_key_field: "DynamoKeyField", range_key_value: "DynamoKeyValue", operation: "DynamoOperation", payload_field: "DynamoKeyField", table_name: "DynamoTableName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, dynamo_d_bv_2: { table_name: "DynamoTableName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_site_wise: { entry_id: "AssetPropertyEntryId", asset_id: "AssetId", property_id: "AssetPropertyId", property_alias: "AssetPropertyAlias", property_value: { value: { string_value: "AssetPropertyStringValue", integer_value: "AssetPropertyIntegerValue", double_value: "AssetPropertyDoubleValue", boolean_value: "AssetPropertyBooleanValue", }, timestamp: { time_in_seconds: "AssetPropertyTimeInSeconds", # required offset_in_nanos: "AssetPropertyOffsetInNanos", }, quality: "AssetPropertyQuality", }, }, }, ], }, ], }, on_exit: { events: [ { event_name: "EventName", # required condition: "Condition", actions: [ { set_variable: { variable_name: "VariableName", # required value: "VariableValue", # required }, sns: { target_arn: "AmazonResourceName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_topic_publish: { mqtt_topic: "MQTTTopic", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, set_timer: { timer_name: "TimerName", # required seconds: 1, duration_expression: "VariableValue", }, clear_timer: { timer_name: "TimerName", # required }, reset_timer: { timer_name: "TimerName", # required }, lambda: { function_arn: "AmazonResourceName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_events: { input_name: "InputName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, sqs: { queue_url: "QueueUrl", # required use_base_64: false, payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, firehose: { delivery_stream_name: "DeliveryStreamName", # required separator: "FirehoseSeparator", payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, dynamo_db: { hash_key_type: "DynamoKeyType", hash_key_field: "DynamoKeyField", # required hash_key_value: "DynamoKeyValue", # required range_key_type: "DynamoKeyType", range_key_field: "DynamoKeyField", range_key_value: "DynamoKeyValue", operation: "DynamoOperation", payload_field: "DynamoKeyField", table_name: "DynamoTableName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, dynamo_d_bv_2: { table_name: "DynamoTableName", # required payload: { content_expression: "ContentExpression", # required type: "STRING", # required, accepts STRING, JSON }, }, iot_site_wise: { entry_id: "AssetPropertyEntryId", asset_id: "AssetId", property_id: "AssetPropertyId", property_alias: "AssetPropertyAlias", property_value: { value: { string_value: "AssetPropertyStringValue", integer_value: "AssetPropertyIntegerValue", double_value: "AssetPropertyDoubleValue", boolean_value: "AssetPropertyBooleanValue", }, timestamp: { time_in_seconds: "AssetPropertyTimeInSeconds", # required offset_in_nanos: "AssetPropertyOffsetInNanos", }, quality: "AssetPropertyQuality", }, }, }, ], }, ], }, }, ], initial_state_name: "StateName", # required }, detector_model_description: "DetectorModelDescription", key: "AttributeJsonPath", role_arn: "AmazonResourceName", # required tags: [ { key: "TagKey", # required value: "TagValue", # required }, ], evaluation_method: "BATCH", # accepts BATCH, SERIAL }
@!attribute [rw] detector_model_name
The name of the detector model. @return [String]
@!attribute [rw] detector_model_definition
Information that defines how the detectors operate. @return [Types::DetectorModelDefinition]
@!attribute [rw] detector_model_description
A brief description of the detector model. @return [String]
@!attribute [rw] key
The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression in the message payload of each input to specify the attribute-value pair that is used to identify the device associated with the input. @return [String]
@!attribute [rw] role_arn
The ARN of the role that grants permission to AWS IoT Events to perform its operations. @return [String]
@!attribute [rw] tags
Metadata that can be used to manage the detector model. @return [Array<Types::Tag>]
@!attribute [rw] evaluation_method
Information about the order in which events are evaluated and how actions are executed. @return [String]
Constants
- SENSITIVE