AWS IoT Events

2019/10/22 - AWS IoT Events - 4 updated api methods

Changes  Add support for new serial evaluation method for events in a detector model.

CreateDetectorModel (updated) Link ¶
Changes (request, response)
Request
{'evaluationMethod': 'BATCH | SERIAL'}
Response
{'detectorModelConfiguration': {'evaluationMethod': 'BATCH | SERIAL'}}

Creates a detector model.

See also: AWS API Documentation

Request Syntax

client.create_detector_model(
    detectorModelName='string',
    detectorModelDefinition={
        'states': [
            {
                'stateName': 'string',
                'onInput': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ],
                    'transitionEvents': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ],
                            'nextState': 'string'
                        },
                    ]
                },
                'onEnter': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ]
                },
                'onExit': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ]
                }
            },
        ],
        'initialStateName': 'string'
    },
    detectorModelDescription='string',
    key='string',
    roleArn='string',
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ],
    evaluationMethod='BATCH'|'SERIAL'
)
type detectorModelName

string

param detectorModelName

[REQUIRED]

The name of the detector model.

type detectorModelDefinition

dict

param detectorModelDefinition

[REQUIRED]

Information that defines how the detectors operate.

  • states (list) -- [REQUIRED]

    Information about the states of the detector.

    • (dict) --

      Information that defines a state of a detector.

      • stateName (string) -- [REQUIRED]

        The name of the state.

      • onInput (dict) --

        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.

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              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.

              • (dict) --

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

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

                    The MQTT topic of the message.

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) -- [REQUIRED]

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

                • clearTimer (dict) --

                  Information needed to clear the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to clear.

                • resetTimer (dict) --

                  Information needed to reset the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to reset.

                • lambda (dict) --

                  Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the AWS Lambda function which is executed.

                • iotEvents (dict) --

                  Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                  • inputName (string) -- [REQUIRED]

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

                • sqs (dict) --

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

                  • queueUrl (string) -- [REQUIRED]

                    The URL of the Amazon 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.

                • firehose (dict) --

                  Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose delivery stream.

                  • deliveryStreamName (string) -- [REQUIRED]

                    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).

        • transitionEvents (list) --

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

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              The name of the transition event.

            • condition (string) -- [REQUIRED]

              [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.

              • (dict) --

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

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

                    The MQTT topic of the message.

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) -- [REQUIRED]

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

                • clearTimer (dict) --

                  Information needed to clear the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to clear.

                • resetTimer (dict) --

                  Information needed to reset the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to reset.

                • lambda (dict) --

                  Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the AWS Lambda function which is executed.

                • iotEvents (dict) --

                  Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                  • inputName (string) -- [REQUIRED]

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

                • sqs (dict) --

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

                  • queueUrl (string) -- [REQUIRED]

                    The URL of the Amazon 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.

                • firehose (dict) --

                  Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose delivery stream.

                  • deliveryStreamName (string) -- [REQUIRED]

                    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).

            • nextState (string) -- [REQUIRED]

              The next state to enter.

      • onEnter (dict) --

        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.

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              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.

              • (dict) --

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

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

                    The MQTT topic of the message.

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) -- [REQUIRED]

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

                • clearTimer (dict) --

                  Information needed to clear the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to clear.

                • resetTimer (dict) --

                  Information needed to reset the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to reset.

                • lambda (dict) --

                  Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the AWS Lambda function which is executed.

                • iotEvents (dict) --

                  Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                  • inputName (string) -- [REQUIRED]

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

                • sqs (dict) --

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

                  • queueUrl (string) -- [REQUIRED]

                    The URL of the Amazon 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.

                • firehose (dict) --

                  Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose delivery stream.

                  • deliveryStreamName (string) -- [REQUIRED]

                    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).

      • onExit (dict) --

        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.

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              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.

              • (dict) --

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

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

                    The MQTT topic of the message.

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) -- [REQUIRED]

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

                • clearTimer (dict) --

                  Information needed to clear the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to clear.

                • resetTimer (dict) --

                  Information needed to reset the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to reset.

                • lambda (dict) --

                  Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the AWS Lambda function which is executed.

                • iotEvents (dict) --

                  Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                  • inputName (string) -- [REQUIRED]

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

                • sqs (dict) --

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

                  • queueUrl (string) -- [REQUIRED]

                    The URL of the Amazon 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.

                • firehose (dict) --

                  Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose delivery stream.

                  • deliveryStreamName (string) -- [REQUIRED]

                    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).

  • initialStateName (string) -- [REQUIRED]

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

type detectorModelDescription

string

param detectorModelDescription

A brief description of the detector model.

type key

string

param key

The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression to specify the attribute-value pair in the message payload of each input that is used to identify the device associated with the input.

type roleArn

string

param roleArn

[REQUIRED]

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

type tags

list

param tags

Metadata that can be used to manage the detector model.

  • (dict) --

    Metadata that can be used to manage the resource.

    • key (string) -- [REQUIRED]

      The tag's key.

    • value (string) -- [REQUIRED]

      The tag's value.

type evaluationMethod

string

param evaluationMethod

When set to SERIAL , variables are updated and event conditions evaluated in the order that the events are defined. When set to BATCH , variables are updated and events performed only after all event conditions are evaluated.

rtype

dict

returns

Response Syntax

{
    'detectorModelConfiguration': {
        'detectorModelName': 'string',
        'detectorModelVersion': 'string',
        'detectorModelDescription': 'string',
        'detectorModelArn': 'string',
        'roleArn': 'string',
        'creationTime': datetime(2015, 1, 1),
        'lastUpdateTime': datetime(2015, 1, 1),
        'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED',
        'key': 'string',
        'evaluationMethod': 'BATCH'|'SERIAL'
    }
}

Response Structure

  • (dict) --

    • detectorModelConfiguration (dict) --

      Information about how the detector model 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 (datetime) --

        The time the detector model was created.

      • lastUpdateTime (datetime) --

        The time the detector model was last updated.

      • status (string) --

        The status of the detector model.

      • key (string) --

        The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression to specify the attribute-value pair in the message payload of each input that is used to identify the device associated with the input.

      • evaluationMethod (string) --

        When set to SERIAL , variables are updated and event conditions evaluated in the order that the events are defined. When set to BATCH , variables are updated and events performed only after all event conditions are evaluated.

DescribeDetectorModel (updated) Link ¶
Changes (response)
{'detectorModel': {'detectorModelConfiguration': {'evaluationMethod': 'BATCH | '
                                                                      'SERIAL'}}}

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

See also: AWS API Documentation

Request Syntax

client.describe_detector_model(
    detectorModelName='string',
    detectorModelVersion='string'
)
type detectorModelName

string

param detectorModelName

[REQUIRED]

The name of the detector model.

type detectorModelVersion

string

param detectorModelVersion

The version of the detector model.

rtype

dict

returns

Response Syntax

{
    'detectorModel': {
        'detectorModelDefinition': {
            'states': [
                {
                    'stateName': 'string',
                    'onInput': {
                        'events': [
                            {
                                'eventName': 'string',
                                'condition': 'string',
                                'actions': [
                                    {
                                        'setVariable': {
                                            'variableName': 'string',
                                            'value': 'string'
                                        },
                                        'sns': {
                                            'targetArn': 'string'
                                        },
                                        'iotTopicPublish': {
                                            'mqttTopic': 'string'
                                        },
                                        'setTimer': {
                                            'timerName': 'string',
                                            'seconds': 123
                                        },
                                        'clearTimer': {
                                            'timerName': 'string'
                                        },
                                        'resetTimer': {
                                            'timerName': 'string'
                                        },
                                        'lambda': {
                                            'functionArn': 'string'
                                        },
                                        'iotEvents': {
                                            'inputName': 'string'
                                        },
                                        'sqs': {
                                            'queueUrl': 'string',
                                            'useBase64': True|False
                                        },
                                        'firehose': {
                                            'deliveryStreamName': 'string',
                                            'separator': 'string'
                                        }
                                    },
                                ]
                            },
                        ],
                        'transitionEvents': [
                            {
                                'eventName': 'string',
                                'condition': 'string',
                                'actions': [
                                    {
                                        'setVariable': {
                                            'variableName': 'string',
                                            'value': 'string'
                                        },
                                        'sns': {
                                            'targetArn': 'string'
                                        },
                                        'iotTopicPublish': {
                                            'mqttTopic': 'string'
                                        },
                                        'setTimer': {
                                            'timerName': 'string',
                                            'seconds': 123
                                        },
                                        'clearTimer': {
                                            'timerName': 'string'
                                        },
                                        'resetTimer': {
                                            'timerName': 'string'
                                        },
                                        'lambda': {
                                            'functionArn': 'string'
                                        },
                                        'iotEvents': {
                                            'inputName': 'string'
                                        },
                                        'sqs': {
                                            'queueUrl': 'string',
                                            'useBase64': True|False
                                        },
                                        'firehose': {
                                            'deliveryStreamName': 'string',
                                            'separator': 'string'
                                        }
                                    },
                                ],
                                'nextState': 'string'
                            },
                        ]
                    },
                    'onEnter': {
                        'events': [
                            {
                                'eventName': 'string',
                                'condition': 'string',
                                'actions': [
                                    {
                                        'setVariable': {
                                            'variableName': 'string',
                                            'value': 'string'
                                        },
                                        'sns': {
                                            'targetArn': 'string'
                                        },
                                        'iotTopicPublish': {
                                            'mqttTopic': 'string'
                                        },
                                        'setTimer': {
                                            'timerName': 'string',
                                            'seconds': 123
                                        },
                                        'clearTimer': {
                                            'timerName': 'string'
                                        },
                                        'resetTimer': {
                                            'timerName': 'string'
                                        },
                                        'lambda': {
                                            'functionArn': 'string'
                                        },
                                        'iotEvents': {
                                            'inputName': 'string'
                                        },
                                        'sqs': {
                                            'queueUrl': 'string',
                                            'useBase64': True|False
                                        },
                                        'firehose': {
                                            'deliveryStreamName': 'string',
                                            'separator': 'string'
                                        }
                                    },
                                ]
                            },
                        ]
                    },
                    'onExit': {
                        'events': [
                            {
                                'eventName': 'string',
                                'condition': 'string',
                                'actions': [
                                    {
                                        'setVariable': {
                                            'variableName': 'string',
                                            'value': 'string'
                                        },
                                        'sns': {
                                            'targetArn': 'string'
                                        },
                                        'iotTopicPublish': {
                                            'mqttTopic': 'string'
                                        },
                                        'setTimer': {
                                            'timerName': 'string',
                                            'seconds': 123
                                        },
                                        'clearTimer': {
                                            'timerName': 'string'
                                        },
                                        'resetTimer': {
                                            'timerName': 'string'
                                        },
                                        'lambda': {
                                            'functionArn': 'string'
                                        },
                                        'iotEvents': {
                                            'inputName': 'string'
                                        },
                                        'sqs': {
                                            'queueUrl': 'string',
                                            'useBase64': True|False
                                        },
                                        'firehose': {
                                            'deliveryStreamName': 'string',
                                            'separator': 'string'
                                        }
                                    },
                                ]
                            },
                        ]
                    }
                },
            ],
            'initialStateName': 'string'
        },
        'detectorModelConfiguration': {
            'detectorModelName': 'string',
            'detectorModelVersion': 'string',
            'detectorModelDescription': 'string',
            'detectorModelArn': 'string',
            'roleArn': 'string',
            'creationTime': datetime(2015, 1, 1),
            'lastUpdateTime': datetime(2015, 1, 1),
            'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED',
            'key': 'string',
            'evaluationMethod': 'BATCH'|'SERIAL'
        }
    }
}

Response Structure

  • (dict) --

    • detectorModel (dict) --

      Information about the detector model.

      • detectorModelDefinition (dict) --

        Information that defines how a detector operates.

        • states (list) --

          Information about the states of the detector.

          • (dict) --

            Information that defines a state of a detector.

            • stateName (string) --

              The name of the state.

            • onInput (dict) --

              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.

                • (dict) --

                  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.

                    • (dict) --

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

                      • setVariable (dict) --

                        Sets a variable to a specified value.

                        • variableName (string) --

                          The name of the variable.

                        • value (string) --

                          The new value of the variable.

                      • sns (dict) --

                        Sends an Amazon SNS message.

                        • targetArn (string) --

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

                      • iotTopicPublish (dict) --

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

                        • mqttTopic (string) --

                          The MQTT topic of the message.

                      • setTimer (dict) --

                        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.

                      • clearTimer (dict) --

                        Information needed to clear the timer.

                        • timerName (string) --

                          The name of the timer to clear.

                      • resetTimer (dict) --

                        Information needed to reset the timer.

                        • timerName (string) --

                          The name of the timer to reset.

                      • lambda (dict) --

                        Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                        • functionArn (string) --

                          The ARN of the AWS Lambda function which is executed.

                      • iotEvents (dict) --

                        Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                        • inputName (string) --

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

                      • sqs (dict) --

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

                        • queueUrl (string) --

                          The URL of the Amazon 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.

                      • firehose (dict) --

                        Sends information about the detector model instance and the event which triggered the action to a 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).

              • transitionEvents (list) --

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

                • (dict) --

                  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.

                    • (dict) --

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

                      • setVariable (dict) --

                        Sets a variable to a specified value.

                        • variableName (string) --

                          The name of the variable.

                        • value (string) --

                          The new value of the variable.

                      • sns (dict) --

                        Sends an Amazon SNS message.

                        • targetArn (string) --

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

                      • iotTopicPublish (dict) --

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

                        • mqttTopic (string) --

                          The MQTT topic of the message.

                      • setTimer (dict) --

                        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.

                      • clearTimer (dict) --

                        Information needed to clear the timer.

                        • timerName (string) --

                          The name of the timer to clear.

                      • resetTimer (dict) --

                        Information needed to reset the timer.

                        • timerName (string) --

                          The name of the timer to reset.

                      • lambda (dict) --

                        Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                        • functionArn (string) --

                          The ARN of the AWS Lambda function which is executed.

                      • iotEvents (dict) --

                        Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                        • inputName (string) --

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

                      • sqs (dict) --

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

                        • queueUrl (string) --

                          The URL of the Amazon 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.

                      • firehose (dict) --

                        Sends information about the detector model instance and the event which triggered the action to a 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).

                  • nextState (string) --

                    The next state to enter.

            • onEnter (dict) --

              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.

                • (dict) --

                  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.

                    • (dict) --

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

                      • setVariable (dict) --

                        Sets a variable to a specified value.

                        • variableName (string) --

                          The name of the variable.

                        • value (string) --

                          The new value of the variable.

                      • sns (dict) --

                        Sends an Amazon SNS message.

                        • targetArn (string) --

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

                      • iotTopicPublish (dict) --

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

                        • mqttTopic (string) --

                          The MQTT topic of the message.

                      • setTimer (dict) --

                        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.

                      • clearTimer (dict) --

                        Information needed to clear the timer.

                        • timerName (string) --

                          The name of the timer to clear.

                      • resetTimer (dict) --

                        Information needed to reset the timer.

                        • timerName (string) --

                          The name of the timer to reset.

                      • lambda (dict) --

                        Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                        • functionArn (string) --

                          The ARN of the AWS Lambda function which is executed.

                      • iotEvents (dict) --

                        Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                        • inputName (string) --

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

                      • sqs (dict) --

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

                        • queueUrl (string) --

                          The URL of the Amazon 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.

                      • firehose (dict) --

                        Sends information about the detector model instance and the event which triggered the action to a 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).

            • onExit (dict) --

              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.

                • (dict) --

                  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.

                    • (dict) --

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

                      • setVariable (dict) --

                        Sets a variable to a specified value.

                        • variableName (string) --

                          The name of the variable.

                        • value (string) --

                          The new value of the variable.

                      • sns (dict) --

                        Sends an Amazon SNS message.

                        • targetArn (string) --

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

                      • iotTopicPublish (dict) --

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

                        • mqttTopic (string) --

                          The MQTT topic of the message.

                      • setTimer (dict) --

                        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.

                      • clearTimer (dict) --

                        Information needed to clear the timer.

                        • timerName (string) --

                          The name of the timer to clear.

                      • resetTimer (dict) --

                        Information needed to reset the timer.

                        • timerName (string) --

                          The name of the timer to reset.

                      • lambda (dict) --

                        Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                        • functionArn (string) --

                          The ARN of the AWS Lambda function which is executed.

                      • iotEvents (dict) --

                        Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                        • inputName (string) --

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

                      • sqs (dict) --

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

                        • queueUrl (string) --

                          The URL of the Amazon 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.

                      • firehose (dict) --

                        Sends information about the detector model instance and the event which triggered the action to a 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).

        • initialStateName (string) --

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

      • detectorModelConfiguration (dict) --

        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 (datetime) --

          The time the detector model was created.

        • lastUpdateTime (datetime) --

          The time the detector model was last updated.

        • status (string) --

          The status of the detector model.

        • key (string) --

          The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression to specify the attribute-value pair in the message payload of each input that is used to identify the device associated with the input.

        • evaluationMethod (string) --

          When set to SERIAL , variables are updated and event conditions evaluated in the order that the events are defined. When set to BATCH , variables are updated and events performed only after all event conditions are evaluated.

ListDetectorModelVersions (updated) Link ¶
Changes (response)
{'detectorModelVersionSummaries': {'evaluationMethod': 'BATCH | SERIAL'}}

Lists all the versions of a detector model. Only the metadata associated with each detector model version is returned.

See also: AWS API Documentation

Request Syntax

client.list_detector_model_versions(
    detectorModelName='string',
    nextToken='string',
    maxResults=123
)
type detectorModelName

string

param detectorModelName

[REQUIRED]

The name of the detector model whose versions are returned.

type nextToken

string

param nextToken

The token for the next set of results.

type maxResults

integer

param maxResults

The maximum number of results to return at one time.

rtype

dict

returns

Response Syntax

{
    'detectorModelVersionSummaries': [
        {
            'detectorModelName': 'string',
            'detectorModelVersion': 'string',
            'detectorModelArn': 'string',
            'roleArn': 'string',
            'creationTime': datetime(2015, 1, 1),
            'lastUpdateTime': datetime(2015, 1, 1),
            'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED',
            'evaluationMethod': 'BATCH'|'SERIAL'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • detectorModelVersionSummaries (list) --

      Summary information about the detector model versions.

      • (dict) --

        Information about the detector model version.

        • detectorModelName (string) --

          The name of the detector model.

        • detectorModelVersion (string) --

          The ID of the detector model version.

        • detectorModelArn (string) --

          The ARN of the detector model version.

        • roleArn (string) --

          The ARN of the role that grants the detector model permission to perform its tasks.

        • creationTime (datetime) --

          The time the detector model version was created.

        • lastUpdateTime (datetime) --

          The last time the detector model version was updated.

        • status (string) --

          The status of the detector model version.

        • evaluationMethod (string) --

          When set to SERIAL , variables are updated and event conditions evaluated in the order that the events are defined. When set to BATCH , variables are updated and events performed only after all event conditions are evaluated.

    • nextToken (string) --

      A token to retrieve the next set of results, or null if there are no additional results.

UpdateDetectorModel (updated) Link ¶
Changes (request, response)
Request
{'evaluationMethod': 'BATCH | SERIAL'}
Response
{'detectorModelConfiguration': {'evaluationMethod': 'BATCH | SERIAL'}}

Updates a detector model. Detectors (instances) spawned by the previous version are deleted and then re-created as new inputs arrive.

See also: AWS API Documentation

Request Syntax

client.update_detector_model(
    detectorModelName='string',
    detectorModelDefinition={
        'states': [
            {
                'stateName': 'string',
                'onInput': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ],
                    'transitionEvents': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ],
                            'nextState': 'string'
                        },
                    ]
                },
                'onEnter': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ]
                },
                'onExit': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ]
                }
            },
        ],
        'initialStateName': 'string'
    },
    detectorModelDescription='string',
    roleArn='string',
    evaluationMethod='BATCH'|'SERIAL'
)
type detectorModelName

string

param detectorModelName

[REQUIRED]

The name of the detector model that is updated.

type detectorModelDefinition

dict

param detectorModelDefinition

[REQUIRED]

Information that defines how a detector operates.

  • states (list) -- [REQUIRED]

    Information about the states of the detector.

    • (dict) --

      Information that defines a state of a detector.

      • stateName (string) -- [REQUIRED]

        The name of the state.

      • onInput (dict) --

        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.

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              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.

              • (dict) --

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

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

                    The MQTT topic of the message.

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) -- [REQUIRED]

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

                • clearTimer (dict) --

                  Information needed to clear the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to clear.

                • resetTimer (dict) --

                  Information needed to reset the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to reset.

                • lambda (dict) --

                  Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the AWS Lambda function which is executed.

                • iotEvents (dict) --

                  Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                  • inputName (string) -- [REQUIRED]

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

                • sqs (dict) --

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

                  • queueUrl (string) -- [REQUIRED]

                    The URL of the Amazon 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.

                • firehose (dict) --

                  Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose delivery stream.

                  • deliveryStreamName (string) -- [REQUIRED]

                    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).

        • transitionEvents (list) --

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

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              The name of the transition event.

            • condition (string) -- [REQUIRED]

              [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.

              • (dict) --

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

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

                    The MQTT topic of the message.

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) -- [REQUIRED]

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

                • clearTimer (dict) --

                  Information needed to clear the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to clear.

                • resetTimer (dict) --

                  Information needed to reset the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to reset.

                • lambda (dict) --

                  Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the AWS Lambda function which is executed.

                • iotEvents (dict) --

                  Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                  • inputName (string) -- [REQUIRED]

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

                • sqs (dict) --

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

                  • queueUrl (string) -- [REQUIRED]

                    The URL of the Amazon 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.

                • firehose (dict) --

                  Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose delivery stream.

                  • deliveryStreamName (string) -- [REQUIRED]

                    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).

            • nextState (string) -- [REQUIRED]

              The next state to enter.

      • onEnter (dict) --

        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.

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              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.

              • (dict) --

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

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

                    The MQTT topic of the message.

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) -- [REQUIRED]

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

                • clearTimer (dict) --

                  Information needed to clear the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to clear.

                • resetTimer (dict) --

                  Information needed to reset the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to reset.

                • lambda (dict) --

                  Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the AWS Lambda function which is executed.

                • iotEvents (dict) --

                  Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                  • inputName (string) -- [REQUIRED]

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

                • sqs (dict) --

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

                  • queueUrl (string) -- [REQUIRED]

                    The URL of the Amazon 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.

                • firehose (dict) --

                  Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose delivery stream.

                  • deliveryStreamName (string) -- [REQUIRED]

                    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).

      • onExit (dict) --

        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.

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              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.

              • (dict) --

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

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

                    The MQTT topic of the message.

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) -- [REQUIRED]

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

                • clearTimer (dict) --

                  Information needed to clear the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to clear.

                • resetTimer (dict) --

                  Information needed to reset the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer to reset.

                • lambda (dict) --

                  Calls an AWS Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the AWS Lambda function which is executed.

                • iotEvents (dict) --

                  Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.

                  • inputName (string) -- [REQUIRED]

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

                • sqs (dict) --

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

                  • queueUrl (string) -- [REQUIRED]

                    The URL of the Amazon 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.

                • firehose (dict) --

                  Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose delivery stream.

                  • deliveryStreamName (string) -- [REQUIRED]

                    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).

  • initialStateName (string) -- [REQUIRED]

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

type detectorModelDescription

string

param detectorModelDescription

A brief description of the detector model.

type roleArn

string

param roleArn

[REQUIRED]

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

type evaluationMethod

string

param evaluationMethod

When set to SERIAL , variables are updated and event conditions evaluated in the order that the events are defined. When set to BATCH , variables are updated and events performed only after all event conditions are evaluated.

rtype

dict

returns

Response Syntax

{
    'detectorModelConfiguration': {
        'detectorModelName': 'string',
        'detectorModelVersion': 'string',
        'detectorModelDescription': 'string',
        'detectorModelArn': 'string',
        'roleArn': 'string',
        'creationTime': datetime(2015, 1, 1),
        'lastUpdateTime': datetime(2015, 1, 1),
        'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED',
        'key': 'string',
        'evaluationMethod': 'BATCH'|'SERIAL'
    }
}

Response Structure

  • (dict) --

    • detectorModelConfiguration (dict) --

      Information about how the detector model 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 (datetime) --

        The time the detector model was created.

      • lastUpdateTime (datetime) --

        The time the detector model was last updated.

      • status (string) --

        The status of the detector model.

      • key (string) --

        The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression to specify the attribute-value pair in the message payload of each input that is used to identify the device associated with the input.

      • evaluationMethod (string) --

        When set to SERIAL , variables are updated and event conditions evaluated in the order that the events are defined. When set to BATCH , variables are updated and events performed only after all event conditions are evaluated.