AWS IoT Events

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

Changes  Update iotevents client to latest version

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.