AWS IoT Events

2019/07/19 - AWS IoT Events - 3 updated api methods

Changes  Adds support for IoT Events, Lambda, SQS and Kinesis Firehose actions.

CreateDetectorModel (updated) Link ¶
Changes (request)
{'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                        'separator': 'string'},
                                                                           'iotEvents': {'inputName': 'string'},
                                                                           'lambda': {'functionArn': 'string'},
                                                                           'sqs': {'queueUrl': 'string',
                                                                                   'useBase64': 'boolean'}}}},
                                        'onExit': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                       'separator': 'string'},
                                                                          'iotEvents': {'inputName': 'string'},
                                                                          'lambda': {'functionArn': 'string'},
                                                                          'sqs': {'queueUrl': 'string',
                                                                                  'useBase64': 'boolean'}}}},
                                        'onInput': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                        'separator': 'string'},
                                                                           'iotEvents': {'inputName': 'string'},
                                                                           'lambda': {'functionArn': 'string'},
                                                                           'sqs': {'queueUrl': 'string',
                                                                                   'useBase64': 'boolean'}}},
                                                    'transitionEvents': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                  'separator': 'string'},
                                                                                     'iotEvents': {'inputName': 'string'},
                                                                                     'lambda': {'functionArn': 'string'},
                                                                                     'sqs': {'queueUrl': 'string',
                                                                                             'useBase64': 'boolean'}}}}}}}

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'
        },
    ]
)
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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the 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 AWS SQS queue.

                  • queueUrl (string) -- [REQUIRED]

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

                  • useBase64 (boolean) --

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

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

                    A character separator that is used to separate records written to the Kinesis Data Firehose 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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the 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 AWS SQS queue.

                  • queueUrl (string) -- [REQUIRED]

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

                  • useBase64 (boolean) --

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

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

                    A character separator that is used to separate records written to the Kinesis Data Firehose 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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the 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 AWS SQS queue.

                  • queueUrl (string) -- [REQUIRED]

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

                  • useBase64 (boolean) --

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

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

                    A character separator that is used to separate records written to the Kinesis Data Firehose 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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the 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 AWS SQS queue.

                  • queueUrl (string) -- [REQUIRED]

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

                  • useBase64 (boolean) --

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

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

                    A character separator that is used to separate records written to the Kinesis Data Firehose 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 in order 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.

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'
    }
}

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 in order 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.

DescribeDetectorModel (updated) Link ¶
Changes (response)
{'detectorModel': {'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                          'separator': 'string'},
                                                                                             'iotEvents': {'inputName': 'string'},
                                                                                             'lambda': {'functionArn': 'string'},
                                                                                             'sqs': {'queueUrl': 'string',
                                                                                                     'useBase64': 'boolean'}}}},
                                                          'onExit': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                         'separator': 'string'},
                                                                                            'iotEvents': {'inputName': 'string'},
                                                                                            'lambda': {'functionArn': 'string'},
                                                                                            'sqs': {'queueUrl': 'string',
                                                                                                    'useBase64': 'boolean'}}}},
                                                          'onInput': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                          'separator': 'string'},
                                                                                             'iotEvents': {'inputName': 'string'},
                                                                                             'lambda': {'functionArn': 'string'},
                                                                                             'sqs': {'queueUrl': 'string',
                                                                                                     'useBase64': 'boolean'}}},
                                                                      'transitionEvents': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                                    'separator': 'string'},
                                                                                                       'iotEvents': {'inputName': 'string'},
                                                                                                       'lambda': {'functionArn': 'string'},
                                                                                                       'sqs': {'queueUrl': 'string',
                                                                                                               'useBase64': 'boolean'}}}}}}}}

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'
        }
    }
}

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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                        • functionArn (string) --

                          The ARN of the 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 AWS SQS queue.

                        • queueUrl (string) --

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

                        • useBase64 (boolean) --

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

                      • firehose (dict) --

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

                        • deliveryStreamName (string) --

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

                        • separator (string) --

                          A character separator that is used to separate records written to the Kinesis Data Firehose 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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                        • functionArn (string) --

                          The ARN of the 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 AWS SQS queue.

                        • queueUrl (string) --

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

                        • useBase64 (boolean) --

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

                      • firehose (dict) --

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

                        • deliveryStreamName (string) --

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

                        • separator (string) --

                          A character separator that is used to separate records written to the Kinesis Data Firehose 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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                        • functionArn (string) --

                          The ARN of the 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 AWS SQS queue.

                        • queueUrl (string) --

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

                        • useBase64 (boolean) --

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

                      • firehose (dict) --

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

                        • deliveryStreamName (string) --

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

                        • separator (string) --

                          A character separator that is used to separate records written to the Kinesis Data Firehose 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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                        • functionArn (string) --

                          The ARN of the 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 AWS SQS queue.

                        • queueUrl (string) --

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

                        • useBase64 (boolean) --

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

                      • firehose (dict) --

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

                        • deliveryStreamName (string) --

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

                        • separator (string) --

                          A character separator that is used to separate records written to the Kinesis Data Firehose 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 in order 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.

UpdateDetectorModel (updated) Link ¶
Changes (request)
{'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                        'separator': 'string'},
                                                                           'iotEvents': {'inputName': 'string'},
                                                                           'lambda': {'functionArn': 'string'},
                                                                           'sqs': {'queueUrl': 'string',
                                                                                   'useBase64': 'boolean'}}}},
                                        'onExit': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                       'separator': 'string'},
                                                                          'iotEvents': {'inputName': 'string'},
                                                                          'lambda': {'functionArn': 'string'},
                                                                          'sqs': {'queueUrl': 'string',
                                                                                  'useBase64': 'boolean'}}}},
                                        'onInput': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                        'separator': 'string'},
                                                                           'iotEvents': {'inputName': 'string'},
                                                                           'lambda': {'functionArn': 'string'},
                                                                           'sqs': {'queueUrl': 'string',
                                                                                   'useBase64': 'boolean'}}},
                                                    'transitionEvents': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                  'separator': 'string'},
                                                                                     'iotEvents': {'inputName': 'string'},
                                                                                     'lambda': {'functionArn': 'string'},
                                                                                     'sqs': {'queueUrl': 'string',
                                                                                             'useBase64': 'boolean'}}}}}}}

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'
)
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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the 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 AWS SQS queue.

                  • queueUrl (string) -- [REQUIRED]

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

                  • useBase64 (boolean) --

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

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

                    A character separator that is used to separate records written to the Kinesis Data Firehose 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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the 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 AWS SQS queue.

                  • queueUrl (string) -- [REQUIRED]

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

                  • useBase64 (boolean) --

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

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

                    A character separator that is used to separate records written to the Kinesis Data Firehose 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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the 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 AWS SQS queue.

                  • queueUrl (string) -- [REQUIRED]

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

                  • useBase64 (boolean) --

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

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

                    A character separator that is used to separate records written to the Kinesis Data Firehose 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 a Lambda function, passing in information about the detector model instance and the event which triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the 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 AWS SQS queue.

                  • queueUrl (string) -- [REQUIRED]

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

                  • useBase64 (boolean) --

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

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

                    A character separator that is used to separate records written to the Kinesis Data Firehose 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.

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'
    }
}

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 in order 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.