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

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-iotevents/lib/aws-sdk-iotevents/types.rb

Overview

Note:

When making an API call, you may pass DetectorModelDefinition data as a 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.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#initial_state_nameString

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

Returns:

  • (String)


1720
1721
1722
1723
1724
1725
# File 'gems/aws-sdk-iotevents/lib/aws-sdk-iotevents/types.rb', line 1720

class DetectorModelDefinition < Struct.new(
  :states,
  :initial_state_name)
  SENSITIVE = []
  include Aws::Structure
end

#statesArray<Types::State>

Information about the states of the detector.

Returns:



1720
1721
1722
1723
1724
1725
# File 'gems/aws-sdk-iotevents/lib/aws-sdk-iotevents/types.rb', line 1720

class DetectorModelDefinition < Struct.new(
  :states,
  :initial_state_name)
  SENSITIVE = []
  include Aws::Structure
end