AWS IoT Events

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

Changes  Update iotevents client to latest version

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.