You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::IoTEvents::Types::DetectorModelDefinition

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing DetectorModelDefinition as input to an Aws::Client method, you can use a vanilla Hash:

{
  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: { # required
                    value: { # required
                      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: { # required
                    value: { # required
                      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: { # required
                    value: { # required
                      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: { # required
                    value: { # required
                      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
}

Information that defines how a detector operates.

Returned by:

Instance Attribute Summary collapse

Instance Attribute Details

#initial_state_nameString

The state that is entered at the creation of each detector (instance).

Returns:

  • (String)

    The state that is entered at the creation of each detector (instance).

#statesArray<Types::State>

Information about the states of the detector.

Returns:

  • (Array<Types::State>)

    Information about the states of the detector.