[ aws . iotevents ]

describe-detector-model

Description

Describes a detector model. If the version parameter is not specified, information about the latest version is returned.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  describe-detector-model
--detector-model-name <value>
[--detector-model-version <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--detector-model-name (string)

The name of the detector model.

--detector-model-version (string)

The version of the detector model.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Examples

To get information about a detector model

The following describe-detector-model example displays details for the specified detector model. Because the version parameter is not specified, information about the latest version is returned.

aws iotevents describe-detector-model \
    --detector-model-name motorDetectorModel

Output:

{
    "detectorModel": {
        "detectorModelConfiguration": {
            "status": "ACTIVE",
            "lastUpdateTime": 1560796816.077,
            "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole",
            "creationTime": 1560796816.077,
            "detectorModelArn": "arn:aws:iotevents:us-west-2:123456789012:detectorModel/motorDetectorModel",
            "key": "motorid",
            "detectorModelName": "motorDetectorModel",
            "detectorModelVersion": "1"
        },
        "detectorModelDefinition": {
            "states": [
                {
                    "onInput": {
                        "transitionEvents": [
                            {
                                "eventName": "Overpressurized",
                                "actions": [
                                    {
                                        "setVariable": {
                                            "variableName": "pressureThresholdBreached",
                                            "value": "$variable.pressureThresholdBreached + 3"
                                        }
                                    }
                                ],
                                "condition": "$input.PressureInput.sensorData.pressure > 70",
                                "nextState": "Dangerous"
                            }
                        ],
                        "events": []
                    },
                    "stateName": "Normal",
                    "onEnter": {
                        "events": [
                            {
                                "eventName": "init",
                                "actions": [
                                    {
                                        "setVariable": {
                                            "variableName": "pressureThresholdBreached",
                                            "value": "0"
                                        }
                                    }
                                ],
                                "condition": "true"
                            }
                        ]
                    },
                    "onExit": {
                        "events": []
                    }
                },
                {
                    "onInput": {
                        "transitionEvents": [
                            {
                                "eventName": "BackToNormal",
                                "actions": [],
                                "condition": "$input.PressureInput.sensorData.pressure <= 70 && $variable.pressureThresholdBreached <= 1",
                                "nextState": "Normal"
                            }
                        ],
                        "events": [
                            {
                                "eventName": "Overpressurized",
                                "actions": [
                                    {
                                        "setVariable": {
                                            "variableName": "pressureThresholdBreached",
                                            "value": "3"
                                        }
                                    }
                                ],
                                "condition": "$input.PressureInput.sensorData.pressure > 70"
                            },
                            {
                                "eventName": "Pressure Okay",
                                "actions": [
                                    {
                                        "setVariable": {
                                            "variableName": "pressureThresholdBreached",
                                            "value": "$variable.pressureThresholdBreached - 1"
                                        }
                                    }
                                ],
                                "condition": "$input.PressureInput.sensorData.pressure <= 70"
                            }
                        ]
                    },
                    "stateName": "Dangerous",
                    "onEnter": {
                        "events": [
                            {
                                "eventName": "Pressure Threshold Breached",
                                "actions": [
                                    {
                                        "sns": {
                                            "targetArn": "arn:aws:sns:us-east-1:123456789012:underPressureAction"
                                        }
                                    }
                                ],
                                "condition": "$variable.pressureThresholdBreached > 1"
                            }
                        ]
                    },
                    "onExit": {
                        "events": [
                            {
                                "eventName": "Normal Pressure Restored",
                                "actions": [
                                    {
                                        "sns": {
                                            "targetArn": "arn:aws:sns:us-east-1:123456789012:pressureClearedAction"
                                        }
                                    }
                                ],
                                "condition": "true"
                            }
                        ]
                    }
                }
            ],
            "initialStateName": "Normal"
        }
    }
}

For more information, see DescribeDetectorModel in the AWS IoT Events API Reference.

Output

detectorModel -> (structure)

Information about the detector model.

detectorModelDefinition -> (structure)

Information that defines how a detector operates.

states -> (list)

Information about the states of the detector.

(structure)

Information that defines a state of a detector.

stateName -> (string)

The name of the state.

onInput -> (structure)

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

events -> (list)

Specifies the actions performed when the condition evaluates to TRUE.

(structure)

Specifies the actions to be performed when the condition evaluates to TRUE.

eventName -> (string)

The name of the event.

condition -> (string)

Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).

actions -> (list)

The actions to be performed.

(structure)

An action to be performed when the condition is TRUE.

setVariable -> (structure)

Sets a variable to a specified value.

variableName -> (string)

The name of the variable.

value -> (string)

The new value of the variable.

sns -> (structure)

Sends an Amazon SNS message.

targetArn -> (string)

The ARN of the Amazon SNS target where the message is sent.

payload -> (structure)

You can configure the action payload when you send a message as an Amazon SNS push notification.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotTopicPublish -> (structure)

Publishes an MQTT message with the given topic to the AWS IoT message broker.

mqttTopic -> (string)

The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.

payload -> (structure)

You can configure the action payload when you publish a message to an AWS IoT Core topic.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

setTimer -> (structure)

Information needed to set the timer.

timerName -> (string)

The name of the timer.

seconds -> (integer)

The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.

durationExpression -> (string)

The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.

clearTimer -> (structure)

Information needed to clear the timer.

timerName -> (string)

The name of the timer to clear.

resetTimer -> (structure)

Information needed to reset the timer.

timerName -> (string)

The name of the timer to reset.

lambda -> (structure)

Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

functionArn -> (string)

The ARN of the Lambda function that is executed.

payload -> (structure)

You can configure the action payload when you send a message to a Lambda function.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotEvents -> (structure)

Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.

inputName -> (string)

The name of the AWS IoT Events input where the data is sent.

payload -> (structure)

You can configure the action payload when you send a message to an AWS IoT Events input.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

sqs -> (structure)

Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

queueUrl -> (string)

The URL of the SQS queue where the data is written.

useBase64 -> (boolean)

Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.

payload -> (structure)

You can configure the action payload when you send a message to an Amazon SQS queue.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

firehose -> (structure)

Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

deliveryStreamName -> (string)

The name of the Kinesis Data Firehose delivery stream where the data is written.

separator -> (string)

A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: ‘n’ (newline), ‘t’ (tab), ‘rn’ (Windows newline), ‘,’ (comma).

payload -> (structure)

You can configure the action payload when you send a message to an Amazon Kinesis Data Firehose delivery stream.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

dynamoDB -> (structure)

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 . One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide .

hashKeyType -> (string)

The data type for the hash key (also called the partition key). You can specify the following values:

  • 'STRING' - The hash key is a string.

  • 'NUMBER' - The hash key is a number.

If you don’t specify hashKeyType , the default value is 'STRING' .

hashKeyField -> (string)

The name of the hash key (also called the partition key). The hashKeyField value must match the partition key of the target DynamoDB table.

hashKeyValue -> (string)

The value of the hash key (also called the partition key).

rangeKeyType -> (string)

The data type for the range key (also called the sort key), You can specify the following values:

  • 'STRING' - The range key is a string.

  • 'NUMBER' - The range key is number.

If you don’t specify rangeKeyField , the default value is 'STRING' .

rangeKeyField -> (string)

The name of the range key (also called the sort key). The rangeKeyField value must match the sort key of the target DynamoDB table.

rangeKeyValue -> (string)

The value of the range key (also called the sort key).

operation -> (string)

The type of operation to perform. You can specify the following values:

  • 'INSERT' - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.

  • 'UPDATE' - Update an existing item of the DynamoDB table with new data. This item’s partition key must match the specified hash key. If you specified a range key, the range key must match the item’s sort key.

  • 'DELETE' - Delete an existing item of the DynamoDB table. This item’s partition key must match the specified hash key. If you specified a range key, the range key must match the item’s sort key.

If you don’t specify this parameter, AWS IoT Events triggers the 'INSERT' operation.

payloadField -> (string)

The name of the DynamoDB column that receives the action payload.

If you don’t specify this parameter, the name of the DynamoDB column is payload .

tableName -> (string)

The name of the DynamoDB table. The tableName value must match the table name of the target DynamoDB table.

payload -> (structure)

Information needed to configure the payload.

By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use contentExpression .

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

dynamoDBv2 -> (structure)

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 . A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide .

tableName -> (string)

The name of the DynamoDB table.

payload -> (structure)

Information needed to configure the payload.

By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use contentExpression .

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotSiteWise -> (structure)

Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .

entryId -> (string)

A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.

assetId -> (string)

The ID of the asset that has the specified property.

propertyId -> (string)

The ID of the asset property.

propertyAlias -> (string)

The alias of the asset property.

propertyValue -> (structure)

The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.

value -> (structure)

The value to send to an asset property.

stringValue -> (string)

The asset property value is a string. You must use an expression, and the evaluated result should be a string.

integerValue -> (string)

The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.

doubleValue -> (string)

The asset property value is a double. You must use an expression, and the evaluated result should be a double.

booleanValue -> (string)

The asset property value is a Boolean value that must be 'TRUE' or 'FALSE' . You must use an expression, and the evaluated result should be a Boolean value.

timestamp -> (structure)

The timestamp associated with the asset property value. The default is the current event time.

timeInSeconds -> (string)

The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.

offsetInNanos -> (string)

The nanosecond offset converted from timeInSeconds . The valid range is between 0-999999999.

quality -> (string)

The quality of the asset property value. The value must be 'GOOD' , 'BAD' , or 'UNCERTAIN' .

transitionEvents -> (list)

Specifies the actions performed, and the next state entered, when a condition evaluates to TRUE.

(structure)

Specifies the actions performed and the next state entered when a condition evaluates to TRUE.

eventName -> (string)

The name of the transition event.

condition -> (string)

Required. A Boolean expression that when TRUE causes the actions to be performed and the nextState to be entered.

actions -> (list)

The actions to be performed.

(structure)

An action to be performed when the condition is TRUE.

setVariable -> (structure)

Sets a variable to a specified value.

variableName -> (string)

The name of the variable.

value -> (string)

The new value of the variable.

sns -> (structure)

Sends an Amazon SNS message.

targetArn -> (string)

The ARN of the Amazon SNS target where the message is sent.

payload -> (structure)

You can configure the action payload when you send a message as an Amazon SNS push notification.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotTopicPublish -> (structure)

Publishes an MQTT message with the given topic to the AWS IoT message broker.

mqttTopic -> (string)

The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.

payload -> (structure)

You can configure the action payload when you publish a message to an AWS IoT Core topic.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

setTimer -> (structure)

Information needed to set the timer.

timerName -> (string)

The name of the timer.

seconds -> (integer)

The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.

durationExpression -> (string)

The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.

clearTimer -> (structure)

Information needed to clear the timer.

timerName -> (string)

The name of the timer to clear.

resetTimer -> (structure)

Information needed to reset the timer.

timerName -> (string)

The name of the timer to reset.

lambda -> (structure)

Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

functionArn -> (string)

The ARN of the Lambda function that is executed.

payload -> (structure)

You can configure the action payload when you send a message to a Lambda function.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotEvents -> (structure)

Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.

inputName -> (string)

The name of the AWS IoT Events input where the data is sent.

payload -> (structure)

You can configure the action payload when you send a message to an AWS IoT Events input.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

sqs -> (structure)

Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

queueUrl -> (string)

The URL of the SQS queue where the data is written.

useBase64 -> (boolean)

Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.

payload -> (structure)

You can configure the action payload when you send a message to an Amazon SQS queue.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

firehose -> (structure)

Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

deliveryStreamName -> (string)

The name of the Kinesis Data Firehose delivery stream where the data is written.

separator -> (string)

A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: ‘n’ (newline), ‘t’ (tab), ‘rn’ (Windows newline), ‘,’ (comma).

payload -> (structure)

You can configure the action payload when you send a message to an Amazon Kinesis Data Firehose delivery stream.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

dynamoDB -> (structure)

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 . One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide .

hashKeyType -> (string)

The data type for the hash key (also called the partition key). You can specify the following values:

  • 'STRING' - The hash key is a string.

  • 'NUMBER' - The hash key is a number.

If you don’t specify hashKeyType , the default value is 'STRING' .

hashKeyField -> (string)

The name of the hash key (also called the partition key). The hashKeyField value must match the partition key of the target DynamoDB table.

hashKeyValue -> (string)

The value of the hash key (also called the partition key).

rangeKeyType -> (string)

The data type for the range key (also called the sort key), You can specify the following values:

  • 'STRING' - The range key is a string.

  • 'NUMBER' - The range key is number.

If you don’t specify rangeKeyField , the default value is 'STRING' .

rangeKeyField -> (string)

The name of the range key (also called the sort key). The rangeKeyField value must match the sort key of the target DynamoDB table.

rangeKeyValue -> (string)

The value of the range key (also called the sort key).

operation -> (string)

The type of operation to perform. You can specify the following values:

  • 'INSERT' - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.

  • 'UPDATE' - Update an existing item of the DynamoDB table with new data. This item’s partition key must match the specified hash key. If you specified a range key, the range key must match the item’s sort key.

  • 'DELETE' - Delete an existing item of the DynamoDB table. This item’s partition key must match the specified hash key. If you specified a range key, the range key must match the item’s sort key.

If you don’t specify this parameter, AWS IoT Events triggers the 'INSERT' operation.

payloadField -> (string)

The name of the DynamoDB column that receives the action payload.

If you don’t specify this parameter, the name of the DynamoDB column is payload .

tableName -> (string)

The name of the DynamoDB table. The tableName value must match the table name of the target DynamoDB table.

payload -> (structure)

Information needed to configure the payload.

By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use contentExpression .

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

dynamoDBv2 -> (structure)

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 . A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide .

tableName -> (string)

The name of the DynamoDB table.

payload -> (structure)

Information needed to configure the payload.

By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use contentExpression .

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotSiteWise -> (structure)

Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .

entryId -> (string)

A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.

assetId -> (string)

The ID of the asset that has the specified property.

propertyId -> (string)

The ID of the asset property.

propertyAlias -> (string)

The alias of the asset property.

propertyValue -> (structure)

The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.

value -> (structure)

The value to send to an asset property.

stringValue -> (string)

The asset property value is a string. You must use an expression, and the evaluated result should be a string.

integerValue -> (string)

The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.

doubleValue -> (string)

The asset property value is a double. You must use an expression, and the evaluated result should be a double.

booleanValue -> (string)

The asset property value is a Boolean value that must be 'TRUE' or 'FALSE' . You must use an expression, and the evaluated result should be a Boolean value.

timestamp -> (structure)

The timestamp associated with the asset property value. The default is the current event time.

timeInSeconds -> (string)

The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.

offsetInNanos -> (string)

The nanosecond offset converted from timeInSeconds . The valid range is between 0-999999999.

quality -> (string)

The quality of the asset property value. The value must be 'GOOD' , 'BAD' , or 'UNCERTAIN' .

nextState -> (string)

The next state to enter.

onEnter -> (structure)

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

events -> (list)

Specifies the actions that are performed when the state is entered and the condition is TRUE .

(structure)

Specifies the actions to be performed when the condition evaluates to TRUE.

eventName -> (string)

The name of the event.

condition -> (string)

Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).

actions -> (list)

The actions to be performed.

(structure)

An action to be performed when the condition is TRUE.

setVariable -> (structure)

Sets a variable to a specified value.

variableName -> (string)

The name of the variable.

value -> (string)

The new value of the variable.

sns -> (structure)

Sends an Amazon SNS message.

targetArn -> (string)

The ARN of the Amazon SNS target where the message is sent.

payload -> (structure)

You can configure the action payload when you send a message as an Amazon SNS push notification.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotTopicPublish -> (structure)

Publishes an MQTT message with the given topic to the AWS IoT message broker.

mqttTopic -> (string)

The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.

payload -> (structure)

You can configure the action payload when you publish a message to an AWS IoT Core topic.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

setTimer -> (structure)

Information needed to set the timer.

timerName -> (string)

The name of the timer.

seconds -> (integer)

The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.

durationExpression -> (string)

The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.

clearTimer -> (structure)

Information needed to clear the timer.

timerName -> (string)

The name of the timer to clear.

resetTimer -> (structure)

Information needed to reset the timer.

timerName -> (string)

The name of the timer to reset.

lambda -> (structure)

Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

functionArn -> (string)

The ARN of the Lambda function that is executed.

payload -> (structure)

You can configure the action payload when you send a message to a Lambda function.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotEvents -> (structure)

Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.

inputName -> (string)

The name of the AWS IoT Events input where the data is sent.

payload -> (structure)

You can configure the action payload when you send a message to an AWS IoT Events input.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

sqs -> (structure)

Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

queueUrl -> (string)

The URL of the SQS queue where the data is written.

useBase64 -> (boolean)

Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.

payload -> (structure)

You can configure the action payload when you send a message to an Amazon SQS queue.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

firehose -> (structure)

Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

deliveryStreamName -> (string)

The name of the Kinesis Data Firehose delivery stream where the data is written.

separator -> (string)

A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: ‘n’ (newline), ‘t’ (tab), ‘rn’ (Windows newline), ‘,’ (comma).

payload -> (structure)

You can configure the action payload when you send a message to an Amazon Kinesis Data Firehose delivery stream.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

dynamoDB -> (structure)

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 . One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide .

hashKeyType -> (string)

The data type for the hash key (also called the partition key). You can specify the following values:

  • 'STRING' - The hash key is a string.

  • 'NUMBER' - The hash key is a number.

If you don’t specify hashKeyType , the default value is 'STRING' .

hashKeyField -> (string)

The name of the hash key (also called the partition key). The hashKeyField value must match the partition key of the target DynamoDB table.

hashKeyValue -> (string)

The value of the hash key (also called the partition key).

rangeKeyType -> (string)

The data type for the range key (also called the sort key), You can specify the following values:

  • 'STRING' - The range key is a string.

  • 'NUMBER' - The range key is number.

If you don’t specify rangeKeyField , the default value is 'STRING' .

rangeKeyField -> (string)

The name of the range key (also called the sort key). The rangeKeyField value must match the sort key of the target DynamoDB table.

rangeKeyValue -> (string)

The value of the range key (also called the sort key).

operation -> (string)

The type of operation to perform. You can specify the following values:

  • 'INSERT' - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.

  • 'UPDATE' - Update an existing item of the DynamoDB table with new data. This item’s partition key must match the specified hash key. If you specified a range key, the range key must match the item’s sort key.

  • 'DELETE' - Delete an existing item of the DynamoDB table. This item’s partition key must match the specified hash key. If you specified a range key, the range key must match the item’s sort key.

If you don’t specify this parameter, AWS IoT Events triggers the 'INSERT' operation.

payloadField -> (string)

The name of the DynamoDB column that receives the action payload.

If you don’t specify this parameter, the name of the DynamoDB column is payload .

tableName -> (string)

The name of the DynamoDB table. The tableName value must match the table name of the target DynamoDB table.

payload -> (structure)

Information needed to configure the payload.

By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use contentExpression .

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

dynamoDBv2 -> (structure)

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 . A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide .

tableName -> (string)

The name of the DynamoDB table.

payload -> (structure)

Information needed to configure the payload.

By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use contentExpression .

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotSiteWise -> (structure)

Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .

entryId -> (string)

A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.

assetId -> (string)

The ID of the asset that has the specified property.

propertyId -> (string)

The ID of the asset property.

propertyAlias -> (string)

The alias of the asset property.

propertyValue -> (structure)

The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.

value -> (structure)

The value to send to an asset property.

stringValue -> (string)

The asset property value is a string. You must use an expression, and the evaluated result should be a string.

integerValue -> (string)

The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.

doubleValue -> (string)

The asset property value is a double. You must use an expression, and the evaluated result should be a double.

booleanValue -> (string)

The asset property value is a Boolean value that must be 'TRUE' or 'FALSE' . You must use an expression, and the evaluated result should be a Boolean value.

timestamp -> (structure)

The timestamp associated with the asset property value. The default is the current event time.

timeInSeconds -> (string)

The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.

offsetInNanos -> (string)

The nanosecond offset converted from timeInSeconds . The valid range is between 0-999999999.

quality -> (string)

The quality of the asset property value. The value must be 'GOOD' , 'BAD' , or 'UNCERTAIN' .

onExit -> (structure)

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

events -> (list)

Specifies the actions that are performed when the state is exited and the condition is TRUE .

(structure)

Specifies the actions to be performed when the condition evaluates to TRUE.

eventName -> (string)

The name of the event.

condition -> (string)

Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).

actions -> (list)

The actions to be performed.

(structure)

An action to be performed when the condition is TRUE.

setVariable -> (structure)

Sets a variable to a specified value.

variableName -> (string)

The name of the variable.

value -> (string)

The new value of the variable.

sns -> (structure)

Sends an Amazon SNS message.

targetArn -> (string)

The ARN of the Amazon SNS target where the message is sent.

payload -> (structure)

You can configure the action payload when you send a message as an Amazon SNS push notification.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotTopicPublish -> (structure)

Publishes an MQTT message with the given topic to the AWS IoT message broker.

mqttTopic -> (string)

The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.

payload -> (structure)

You can configure the action payload when you publish a message to an AWS IoT Core topic.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

setTimer -> (structure)

Information needed to set the timer.

timerName -> (string)

The name of the timer.

seconds -> (integer)

The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.

durationExpression -> (string)

The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.

clearTimer -> (structure)

Information needed to clear the timer.

timerName -> (string)

The name of the timer to clear.

resetTimer -> (structure)

Information needed to reset the timer.

timerName -> (string)

The name of the timer to reset.

lambda -> (structure)

Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

functionArn -> (string)

The ARN of the Lambda function that is executed.

payload -> (structure)

You can configure the action payload when you send a message to a Lambda function.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotEvents -> (structure)

Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.

inputName -> (string)

The name of the AWS IoT Events input where the data is sent.

payload -> (structure)

You can configure the action payload when you send a message to an AWS IoT Events input.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

sqs -> (structure)

Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

queueUrl -> (string)

The URL of the SQS queue where the data is written.

useBase64 -> (boolean)

Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.

payload -> (structure)

You can configure the action payload when you send a message to an Amazon SQS queue.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

firehose -> (structure)

Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

deliveryStreamName -> (string)

The name of the Kinesis Data Firehose delivery stream where the data is written.

separator -> (string)

A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: ‘n’ (newline), ‘t’ (tab), ‘rn’ (Windows newline), ‘,’ (comma).

payload -> (structure)

You can configure the action payload when you send a message to an Amazon Kinesis Data Firehose delivery stream.

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

dynamoDB -> (structure)

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 . One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide .

hashKeyType -> (string)

The data type for the hash key (also called the partition key). You can specify the following values:

  • 'STRING' - The hash key is a string.

  • 'NUMBER' - The hash key is a number.

If you don’t specify hashKeyType , the default value is 'STRING' .

hashKeyField -> (string)

The name of the hash key (also called the partition key). The hashKeyField value must match the partition key of the target DynamoDB table.

hashKeyValue -> (string)

The value of the hash key (also called the partition key).

rangeKeyType -> (string)

The data type for the range key (also called the sort key), You can specify the following values:

  • 'STRING' - The range key is a string.

  • 'NUMBER' - The range key is number.

If you don’t specify rangeKeyField , the default value is 'STRING' .

rangeKeyField -> (string)

The name of the range key (also called the sort key). The rangeKeyField value must match the sort key of the target DynamoDB table.

rangeKeyValue -> (string)

The value of the range key (also called the sort key).

operation -> (string)

The type of operation to perform. You can specify the following values:

  • 'INSERT' - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.

  • 'UPDATE' - Update an existing item of the DynamoDB table with new data. This item’s partition key must match the specified hash key. If you specified a range key, the range key must match the item’s sort key.

  • 'DELETE' - Delete an existing item of the DynamoDB table. This item’s partition key must match the specified hash key. If you specified a range key, the range key must match the item’s sort key.

If you don’t specify this parameter, AWS IoT Events triggers the 'INSERT' operation.

payloadField -> (string)

The name of the DynamoDB column that receives the action payload.

If you don’t specify this parameter, the name of the DynamoDB column is payload .

tableName -> (string)

The name of the DynamoDB table. The tableName value must match the table name of the target DynamoDB table.

payload -> (structure)

Information needed to configure the payload.

By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use contentExpression .

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

dynamoDBv2 -> (structure)

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 . A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide .

tableName -> (string)

The name of the DynamoDB table.

payload -> (structure)

Information needed to configure the payload.

By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use contentExpression .

contentExpression -> (string)

The content of the payload. You can use a string expression that includes quoted strings ('<string>' ), variables ($variable.<variable-name> ), input values ($input.<input-name>.<path-to-datum> ), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

type -> (string)

The value of the payload type can be either STRING or JSON .

iotSiteWise -> (structure)

Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .

entryId -> (string)

A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.

assetId -> (string)

The ID of the asset that has the specified property.

propertyId -> (string)

The ID of the asset property.

propertyAlias -> (string)

The alias of the asset property.

propertyValue -> (structure)

The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.

value -> (structure)

The value to send to an asset property.

stringValue -> (string)

The asset property value is a string. You must use an expression, and the evaluated result should be a string.

integerValue -> (string)

The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.

doubleValue -> (string)

The asset property value is a double. You must use an expression, and the evaluated result should be a double.

booleanValue -> (string)

The asset property value is a Boolean value that must be 'TRUE' or 'FALSE' . You must use an expression, and the evaluated result should be a Boolean value.

timestamp -> (structure)

The timestamp associated with the asset property value. The default is the current event time.

timeInSeconds -> (string)

The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.

offsetInNanos -> (string)

The nanosecond offset converted from timeInSeconds . The valid range is between 0-999999999.

quality -> (string)

The quality of the asset property value. The value must be 'GOOD' , 'BAD' , or 'UNCERTAIN' .

initialStateName -> (string)

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

detectorModelConfiguration -> (structure)

Information about how the detector is configured.

detectorModelName -> (string)

The name of the detector model.

detectorModelVersion -> (string)

The version of the detector model.

detectorModelDescription -> (string)

A brief description of the detector model.

detectorModelArn -> (string)

The ARN of the detector model.

roleArn -> (string)

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

creationTime -> (timestamp)

The time the detector model was created.

lastUpdateTime -> (timestamp)

The time the detector model was last updated.

status -> (string)

The status of the detector model.

key -> (string)

The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding detector instance based on this identifying information.

This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.

evaluationMethod -> (string)

Information about the order in which events are evaluated and how actions are executed.