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

Class: Aws::IoTEvents::Types::State

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

Overview

Note:

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

{
  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",
              },
            },
          },
        ],
      },
    ],
  },
}

Information that defines a state of a detector.

Instance Attribute Summary collapse

Instance Attribute Details

#on_enterTypes::OnEnterLifecycle

When entering this state, perform these actions if the condition is TRUE.

Returns:

#on_exitTypes::OnExitLifecycle

When exiting this state, perform these actions if the specified condition is TRUE.

Returns:

  • (Types::OnExitLifecycle)

    When exiting this state, perform these actions if the specified condition is TRUE.

#on_inputTypes::OnInputLifecycle

When an input is received and the condition is TRUE, perform the specified actions.

Returns:

  • (Types::OnInputLifecycle)

    When an input is received and the condition is TRUE, perform the specified actions.

#state_nameString

The name of the state.

Returns:

  • (String)

    The name of the state.