class Aws::IoTEvents::Types::Action

An action to be performed when the `condition` is TRUE.

@note When making an API call, you may pass Action

data as a hash:

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

@!attribute [rw] set_variable

Sets a variable to a specified value.
@return [Types::SetVariableAction]

@!attribute [rw] sns

Sends an Amazon SNS message.
@return [Types::SNSTopicPublishAction]

@!attribute [rw] iot_topic_publish

Publishes an MQTT message with the given topic to the AWS IoT
message broker.
@return [Types::IotTopicPublishAction]

@!attribute [rw] set_timer

Information needed to set the timer.
@return [Types::SetTimerAction]

@!attribute [rw] clear_timer

Information needed to clear the timer.
@return [Types::ClearTimerAction]

@!attribute [rw] reset_timer

Information needed to reset the timer.
@return [Types::ResetTimerAction]

@!attribute [rw] lambda

Calls a Lambda function, passing in information about the detector
model instance and the event that triggered the action.
@return [Types::LambdaAction]

@!attribute [rw] iot_events

Sends AWS IoT Events input, which passes information about the
detector model instance and the event that triggered the action.
@return [Types::IotEventsAction]

@!attribute [rw] sqs

Sends information about the detector model instance and the event
that triggered the action to an Amazon SQS queue.
@return [Types::SqsAction]

@!attribute [rw] firehose

Sends information about the detector model instance and the event
that triggered the action to an Amazon Kinesis Data Firehose
delivery stream.
@return [Types::FirehoseAction]

@!attribute [rw] dynamo_db

Writes to the DynamoDB table that you created. The default action
payload contains all attribute-value pairs that have the information
about the detector model instance and the event that triggered the
action. You can customize the [payload][1]. One column of the
DynamoDB table receives all attribute-value pairs in the payload
that you specify. For more information, see [Actions][2] in *AWS IoT
Events Developer Guide*.

[1]: https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html
[2]: https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html
@return [Types::DynamoDBAction]

@!attribute [rw] dynamo_d_bv_2

Writes to the DynamoDB table that you created. The default action
payload contains all attribute-value pairs that have the information
about the detector model instance and the event that triggered the
action. You can customize the [payload][1]. A separate column of the
DynamoDB table receives one attribute-value pair in the payload that
you specify. For more information, see [Actions][2] in *AWS IoT
Events Developer Guide*.

[1]: https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html
[2]: https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html
@return [Types::DynamoDBv2Action]

@!attribute [rw] iot_site_wise

Sends information about the detector model instance and the event
that triggered the action to an asset property in AWS IoT SiteWise .
@return [Types::IotSiteWiseAction]

Constants

SENSITIVE