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
- Struct
- Aws::IoTEvents::Types::State
- Defined in:
- (unknown)
Overview
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
-
#on_enter ⇒ Types::OnEnterLifecycle
When entering this state, perform these
actions
if thecondition
is TRUE. -
#on_exit ⇒ Types::OnExitLifecycle
When exiting this state, perform these
actions
if the specifiedcondition
isTRUE
. -
#on_input ⇒ Types::OnInputLifecycle
When an input is received and the
condition
is TRUE, perform the specifiedactions
. -
#state_name ⇒ String
The name of the state.
Instance Attribute Details
#on_enter ⇒ Types::OnEnterLifecycle
When entering this state, perform these actions
if the condition
is
TRUE.
#on_exit ⇒ Types::OnExitLifecycle
When exiting this state, perform these actions
if the specified
condition
is TRUE
.
#on_input ⇒ Types::OnInputLifecycle
When an input is received and the condition
is TRUE, perform the
specified actions
.
#state_name ⇒ String
The name of the state.