AWS IoT Events

2020/03/10 - AWS IoT Events - 3 updated api methods

Changes  Update iotevents client to latest version

CreateDetectorModel (updated) Link ¶
Changes (request)
{'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}},
                                        'onExit': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}},
                                        'onInput': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}},
                                                    'transitionEvents': {'actions': {'setTimer': {'durationExpression': 'string'}}}}}}}

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,
                                        'durationExpression': 'string'
                                    },
                                    '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,
                                        'durationExpression': 'string'
                                    },
                                    '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,
                                        'durationExpression': 'string'
                                    },
                                    '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,
                                        'durationExpression': 'string'
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ]
                }
            },
        ],
        'initialStateName': 'string'
    },
    detectorModelDescription='string',
    key='string',
    roleArn='string',
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ],
    evaluationMethod='BATCH'|'SERIAL'
)
type detectorModelName:

string

param detectorModelName:

[REQUIRED]

The name of the detector model.

type detectorModelDefinition:

dict

param detectorModelDefinition:

[REQUIRED]

Information that defines how the detectors operate.

  • states (list) -- [REQUIRED]

    Information about the states of the detector.

    • (dict) --

      Information that defines a state of a detector.

      • stateName (string) -- [REQUIRED]

        The name of the state.

      • onInput (dict) --

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

        • events (list) --

          Specifies the actions performed when the condition evaluates to TRUE.

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              The name of the event.

            • condition (string) --

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

            • actions (list) --

              The actions to be performed.

              • (dict) --

                An action to be performed when the condition is TRUE.

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

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

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) --

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

                  • durationExpression (string) --

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

                • clearTimer (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 that triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the Lambda function that is executed.

                • iotEvents (dict) --

                  Sends an AWS IoT Events input, passing in information about the detector model instance and the event that 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 that triggered the action to an Amazon 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.

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

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

        • transitionEvents (list) --

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

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              The name of the transition event.

            • condition (string) -- [REQUIRED]

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

            • actions (list) --

              The actions to be performed.

              • (dict) --

                An action to be performed when the condition is TRUE.

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

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

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) --

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

                  • durationExpression (string) --

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

                • clearTimer (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 that triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the Lambda function that is executed.

                • iotEvents (dict) --

                  Sends an AWS IoT Events input, passing in information about the detector model instance and the event that 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 that triggered the action to an Amazon 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.

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

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

            • nextState (string) -- [REQUIRED]

              The next state to enter.

      • onEnter (dict) --

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

        • events (list) --

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

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              The name of the event.

            • condition (string) --

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

            • actions (list) --

              The actions to be performed.

              • (dict) --

                An action to be performed when the condition is TRUE.

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

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

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) --

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

                  • durationExpression (string) --

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

                • clearTimer (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 that triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the Lambda function that is executed.

                • iotEvents (dict) --

                  Sends an AWS IoT Events input, passing in information about the detector model instance and the event that 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 that triggered the action to an Amazon 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.

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

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

      • onExit (dict) --

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

        • events (list) --

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

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              The name of the event.

            • condition (string) --

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

            • actions (list) --

              The actions to be performed.

              • (dict) --

                An action to be performed when the condition is TRUE.

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

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

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) --

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

                  • durationExpression (string) --

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

                • clearTimer (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 that triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the Lambda function that is executed.

                • iotEvents (dict) --

                  Sends an AWS IoT Events input, passing in information about the detector model instance and the event that 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 that triggered the action to an Amazon 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.

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

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

  • initialStateName (string) -- [REQUIRED]

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

type detectorModelDescription:

string

param detectorModelDescription:

A brief description of the detector model.

type key:

string

param key:

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

type roleArn:

string

param roleArn:

[REQUIRED]

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

type tags:

list

param tags:

Metadata that can be used to manage the detector model.

  • (dict) --

    Metadata that can be used to manage the resource.

    • key (string) -- [REQUIRED]

      The tag's key.

    • value (string) -- [REQUIRED]

      The tag's value.

type evaluationMethod:

string

param evaluationMethod:

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

rtype:

dict

returns:

Response Syntax

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

Response Structure

  • (dict) --

    • detectorModelConfiguration (dict) --

      Information about how the detector model is configured.

      • detectorModelName (string) --

        The name of the detector model.

      • detectorModelVersion (string) --

        The version of the detector model.

      • detectorModelDescription (string) --

        A brief description of the detector model.

      • detectorModelArn (string) --

        The ARN of the detector model.

      • roleArn (string) --

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

      • creationTime (datetime) --

        The time the detector model was created.

      • lastUpdateTime (datetime) --

        The time the detector model was last updated.

      • status (string) --

        The status of the detector model.

      • key (string) --

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

      • evaluationMethod (string) --

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

DescribeDetectorModel (updated) Link ¶
Changes (response)
{'detectorModel': {'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}},
                                                          'onExit': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}},
                                                          'onInput': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}},
                                                                      'transitionEvents': {'actions': {'setTimer': {'durationExpression': 'string'}}}}}}}}

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,
                                            'durationExpression': 'string'
                                        },
                                        '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,
                                            'durationExpression': 'string'
                                        },
                                        '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,
                                            'durationExpression': 'string'
                                        },
                                        '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,
                                            'durationExpression': 'string'
                                        },
                                        'clearTimer': {
                                            'timerName': 'string'
                                        },
                                        'resetTimer': {
                                            'timerName': 'string'
                                        },
                                        'lambda': {
                                            'functionArn': 'string'
                                        },
                                        'iotEvents': {
                                            'inputName': 'string'
                                        },
                                        'sqs': {
                                            'queueUrl': 'string',
                                            'useBase64': True|False
                                        },
                                        'firehose': {
                                            'deliveryStreamName': 'string',
                                            'separator': 'string'
                                        }
                                    },
                                ]
                            },
                        ]
                    }
                },
            ],
            'initialStateName': 'string'
        },
        'detectorModelConfiguration': {
            'detectorModelName': 'string',
            'detectorModelVersion': 'string',
            'detectorModelDescription': 'string',
            'detectorModelArn': 'string',
            'roleArn': 'string',
            'creationTime': datetime(2015, 1, 1),
            'lastUpdateTime': datetime(2015, 1, 1),
            'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED',
            'key': 'string',
            'evaluationMethod': 'BATCH'|'SERIAL'
        }
    }
}

Response Structure

  • (dict) --

    • detectorModel (dict) --

      Information about the detector model.

      • detectorModelDefinition (dict) --

        Information that defines how a detector operates.

        • states (list) --

          Information about the states of the detector.

          • (dict) --

            Information that defines a state of a detector.

            • stateName (string) --

              The name of the state.

            • onInput (dict) --

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

              • events (list) --

                Specifies the actions performed when the condition evaluates to TRUE.

                • (dict) --

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

                  • eventName (string) --

                    The name of the event.

                  • condition (string) --

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

                  • actions (list) --

                    The actions to be performed.

                    • (dict) --

                      An action to be performed when the condition is TRUE.

                      • setVariable (dict) --

                        Sets a variable to a specified value.

                        • variableName (string) --

                          The name of the variable.

                        • value (string) --

                          The new value of the variable.

                      • sns (dict) --

                        Sends an Amazon SNS message.

                        • targetArn (string) --

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

                      • iotTopicPublish (dict) --

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

                        • mqttTopic (string) --

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

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

                        • durationExpression (string) --

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

                      • clearTimer (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 that triggered the action.

                        • functionArn (string) --

                          The ARN of the Lambda function that is executed.

                      • iotEvents (dict) --

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

                        • inputName (string) --

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

                      • sqs (dict) --

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

                        • queueUrl (string) --

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

                        • useBase64 (boolean) --

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

                      • firehose (dict) --

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

                        • deliveryStreamName (string) --

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

                        • separator (string) --

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

              • 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. You can use a string expression that includes variables ( $variable.<variable-name>) and input values ( $input.<input-name>.<path-to-datum>) as the topic string.

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

                        • durationExpression (string) --

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

                      • clearTimer (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 that triggered the action.

                        • functionArn (string) --

                          The ARN of the Lambda function that is executed.

                      • iotEvents (dict) --

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

                        • inputName (string) --

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

                      • sqs (dict) --

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

                        • queueUrl (string) --

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

                        • useBase64 (boolean) --

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

                      • firehose (dict) --

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

                        • deliveryStreamName (string) --

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

                        • separator (string) --

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

                  • 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. You can use a string expression that includes variables ( $variable.<variable-name>) and input values ( $input.<input-name>.<path-to-datum>) as the topic string.

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

                        • durationExpression (string) --

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

                      • clearTimer (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 that triggered the action.

                        • functionArn (string) --

                          The ARN of the Lambda function that is executed.

                      • iotEvents (dict) --

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

                        • inputName (string) --

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

                      • sqs (dict) --

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

                        • queueUrl (string) --

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

                        • useBase64 (boolean) --

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

                      • firehose (dict) --

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

                        • deliveryStreamName (string) --

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

                        • separator (string) --

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

            • 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. You can use a string expression that includes variables ( $variable.<variable-name>) and input values ( $input.<input-name>.<path-to-datum>) as the topic string.

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

                        • durationExpression (string) --

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

                      • clearTimer (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 that triggered the action.

                        • functionArn (string) --

                          The ARN of the Lambda function that is executed.

                      • iotEvents (dict) --

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

                        • inputName (string) --

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

                      • sqs (dict) --

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

                        • queueUrl (string) --

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

                        • useBase64 (boolean) --

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

                      • firehose (dict) --

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

                        • deliveryStreamName (string) --

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

                        • separator (string) --

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

        • initialStateName (string) --

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

      • detectorModelConfiguration (dict) --

        Information about how the detector is configured.

        • detectorModelName (string) --

          The name of the detector model.

        • detectorModelVersion (string) --

          The version of the detector model.

        • detectorModelDescription (string) --

          A brief description of the detector model.

        • detectorModelArn (string) --

          The ARN of the detector model.

        • roleArn (string) --

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

        • creationTime (datetime) --

          The time the detector model was created.

        • lastUpdateTime (datetime) --

          The time the detector model was last updated.

        • status (string) --

          The status of the detector model.

        • key (string) --

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

        • evaluationMethod (string) --

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

UpdateDetectorModel (updated) Link ¶
Changes (request)
{'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}},
                                        'onExit': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}},
                                        'onInput': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}},
                                                    'transitionEvents': {'actions': {'setTimer': {'durationExpression': 'string'}}}}}}}

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,
                                        'durationExpression': 'string'
                                    },
                                    '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,
                                        'durationExpression': 'string'
                                    },
                                    '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,
                                        'durationExpression': 'string'
                                    },
                                    '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,
                                        'durationExpression': 'string'
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ]
                }
            },
        ],
        'initialStateName': 'string'
    },
    detectorModelDescription='string',
    roleArn='string',
    evaluationMethod='BATCH'|'SERIAL'
)
type detectorModelName:

string

param detectorModelName:

[REQUIRED]

The name of the detector model that is updated.

type detectorModelDefinition:

dict

param detectorModelDefinition:

[REQUIRED]

Information that defines how a detector operates.

  • states (list) -- [REQUIRED]

    Information about the states of the detector.

    • (dict) --

      Information that defines a state of a detector.

      • stateName (string) -- [REQUIRED]

        The name of the state.

      • onInput (dict) --

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

        • events (list) --

          Specifies the actions performed when the condition evaluates to TRUE.

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              The name of the event.

            • condition (string) --

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

            • actions (list) --

              The actions to be performed.

              • (dict) --

                An action to be performed when the condition is TRUE.

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

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

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) --

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

                  • durationExpression (string) --

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

                • clearTimer (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 that triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the Lambda function that is executed.

                • iotEvents (dict) --

                  Sends an AWS IoT Events input, passing in information about the detector model instance and the event that 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 that triggered the action to an Amazon 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.

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

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

        • transitionEvents (list) --

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

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              The name of the transition event.

            • condition (string) -- [REQUIRED]

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

            • actions (list) --

              The actions to be performed.

              • (dict) --

                An action to be performed when the condition is TRUE.

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

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

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) --

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

                  • durationExpression (string) --

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

                • clearTimer (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 that triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the Lambda function that is executed.

                • iotEvents (dict) --

                  Sends an AWS IoT Events input, passing in information about the detector model instance and the event that 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 that triggered the action to an Amazon 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.

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

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

            • nextState (string) -- [REQUIRED]

              The next state to enter.

      • onEnter (dict) --

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

        • events (list) --

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

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              The name of the event.

            • condition (string) --

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

            • actions (list) --

              The actions to be performed.

              • (dict) --

                An action to be performed when the condition is TRUE.

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

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

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) --

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

                  • durationExpression (string) --

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

                • clearTimer (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 that triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the Lambda function that is executed.

                • iotEvents (dict) --

                  Sends an AWS IoT Events input, passing in information about the detector model instance and the event that 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 that triggered the action to an Amazon 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.

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

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

      • onExit (dict) --

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

        • events (list) --

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

          • (dict) --

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

            • eventName (string) -- [REQUIRED]

              The name of the event.

            • condition (string) --

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

            • actions (list) --

              The actions to be performed.

              • (dict) --

                An action to be performed when the condition is TRUE.

                • setVariable (dict) --

                  Sets a variable to a specified value.

                  • variableName (string) -- [REQUIRED]

                    The name of the variable.

                  • value (string) -- [REQUIRED]

                    The new value of the variable.

                • sns (dict) --

                  Sends an Amazon SNS message.

                  • targetArn (string) -- [REQUIRED]

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

                • iotTopicPublish (dict) --

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

                  • mqttTopic (string) -- [REQUIRED]

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

                • setTimer (dict) --

                  Information needed to set the timer.

                  • timerName (string) -- [REQUIRED]

                    The name of the timer.

                  • seconds (integer) --

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

                  • durationExpression (string) --

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

                • clearTimer (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 that triggered the action.

                  • functionArn (string) -- [REQUIRED]

                    The ARN of the Lambda function that is executed.

                • iotEvents (dict) --

                  Sends an AWS IoT Events input, passing in information about the detector model instance and the event that 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 that triggered the action to an Amazon 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.

                • firehose (dict) --

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

                  • deliveryStreamName (string) -- [REQUIRED]

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

                  • separator (string) --

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

  • initialStateName (string) -- [REQUIRED]

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

type detectorModelDescription:

string

param detectorModelDescription:

A brief description of the detector model.

type roleArn:

string

param roleArn:

[REQUIRED]

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

type evaluationMethod:

string

param evaluationMethod:

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

rtype:

dict

returns:

Response Syntax

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

Response Structure

  • (dict) --

    • detectorModelConfiguration (dict) --

      Information about how the detector model is configured.

      • detectorModelName (string) --

        The name of the detector model.

      • detectorModelVersion (string) --

        The version of the detector model.

      • detectorModelDescription (string) --

        A brief description of the detector model.

      • detectorModelArn (string) --

        The ARN of the detector model.

      • roleArn (string) --

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

      • creationTime (datetime) --

        The time the detector model was created.

      • lastUpdateTime (datetime) --

        The time the detector model was last updated.

      • status (string) --

        The status of the detector model.

      • key (string) --

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

      • evaluationMethod (string) --

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