2019/07/19 - AWS IoT Events - 3 updated api methods
Changes Update iotevents client to latest version
{'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                        'separator': 'string'},
                                                                           'iotEvents': {'inputName': 'string'},
                                                                           'lambda': {'functionArn': 'string'},
                                                                           'sqs': {'queueUrl': 'string',
                                                                                   'useBase64': 'boolean'}}}},
                                        'onExit': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                       'separator': 'string'},
                                                                          'iotEvents': {'inputName': 'string'},
                                                                          'lambda': {'functionArn': 'string'},
                                                                          'sqs': {'queueUrl': 'string',
                                                                                  'useBase64': 'boolean'}}}},
                                        'onInput': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                        'separator': 'string'},
                                                                           'iotEvents': {'inputName': 'string'},
                                                                           'lambda': {'functionArn': 'string'},
                                                                           'sqs': {'queueUrl': 'string',
                                                                                   'useBase64': 'boolean'}}},
                                                    'transitionEvents': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                  'separator': 'string'},
                                                                                     'iotEvents': {'inputName': 'string'},
                                                                                     'lambda': {'functionArn': 'string'},
                                                                                     'sqs': {'queueUrl': 'string',
                                                                                             'useBase64': 'boolean'}}}}}}}
      Creates a detector model.
See also: AWS API Documentation
Request Syntax
client.create_detector_model(
    detectorModelName='string',
    detectorModelDefinition={
        'states': [
            {
                'stateName': 'string',
                'onInput': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ],
                    'transitionEvents': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ],
                            'nextState': 'string'
                        },
                    ]
                },
                'onEnter': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ]
                },
                'onExit': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ]
                }
            },
        ],
        'initialStateName': 'string'
    },
    detectorModelDescription='string',
    key='string',
    roleArn='string',
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ]
)
string
[REQUIRED]
The name of the detector model.
dict
[REQUIRED]
Information that defines how the detectors operate.
states (list) -- [REQUIRED]
Information about the states of the detector.
(dict) --
Information that defines a state of a detector.
stateName (string) -- [REQUIRED]
The name of the state.
onInput (dict) --
When an input is received and the "condition" is TRUE, perform the specified "actions".
events (list) --
Specifies the actions performed when the "condition" evaluates to TRUE.
(dict) --
Specifies the "actions" to be performed when the "condition" evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
[Optional] The Boolean expression that when TRUE causes the "actions" to be performed. If not present, the actions are performed (=TRUE); if the expression result is not a Boolean value, the actions are NOT performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) -- [REQUIRED]
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
transitionEvents (list) --
Specifies the actions performed, and the next state entered, when a "condition" evaluates to TRUE.
(dict) --
Specifies the actions performed and the next state entered when a "condition" evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the transition event.
condition (string) -- [REQUIRED]
[Required] A Boolean expression that when TRUE causes the actions to be performed and the "nextState" to be entered.
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) -- [REQUIRED]
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
nextState (string) -- [REQUIRED]
The next state to enter.
onEnter (dict) --
When entering this state, perform these "actions" if the "condition" is TRUE.
events (list) --
Specifies the actions that are performed when the state is entered and the "condition" is TRUE.
(dict) --
Specifies the "actions" to be performed when the "condition" evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
[Optional] The Boolean expression that when TRUE causes the "actions" to be performed. If not present, the actions are performed (=TRUE); if the expression result is not a Boolean value, the actions are NOT performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) -- [REQUIRED]
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
onExit (dict) --
When exiting this state, perform these "actions" if the specified "condition" is TRUE.
events (list) --
Specifies the "actions" that are performed when the state is exited and the "condition" is TRUE.
(dict) --
Specifies the "actions" to be performed when the "condition" evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
[Optional] The Boolean expression that when TRUE causes the "actions" to be performed. If not present, the actions are performed (=TRUE); if the expression result is not a Boolean value, the actions are NOT performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) -- [REQUIRED]
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
initialStateName (string) -- [REQUIRED]
The state that is entered at the creation of each detector (instance).
string
A brief description of the detector model.
string
The input attribute key used to identify a device or system in order to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression to specify the attribute-value pair in the message payload of each input that is used to identify the device associated with the input.
string
[REQUIRED]
The ARN of the role that grants permission to AWS IoT Events to perform its operations.
list
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.
dict
Response Syntax
{
    'detectorModelConfiguration': {
        'detectorModelName': 'string',
        'detectorModelVersion': 'string',
        'detectorModelDescription': 'string',
        'detectorModelArn': 'string',
        'roleArn': 'string',
        'creationTime': datetime(2015, 1, 1),
        'lastUpdateTime': datetime(2015, 1, 1),
        'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED',
        'key': 'string'
    }
}
Response Structure
(dict) --
detectorModelConfiguration (dict) --
Information about how the detector model is configured.
detectorModelName (string) --
The name of the detector model.
detectorModelVersion (string) --
The version of the detector model.
detectorModelDescription (string) --
A brief description of the detector model.
detectorModelArn (string) --
The ARN of the detector model.
roleArn (string) --
The ARN of the role that grants permission to AWS IoT Events to perform its operations.
creationTime (datetime) --
The time the detector model was created.
lastUpdateTime (datetime) --
The time the detector model was last updated.
status (string) --
The status of the detector model.
key (string) --
The input attribute key used to identify a device or system in order to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression to specify the attribute-value pair in the message payload of each input that is used to identify the device associated with the input.
{'detectorModel': {'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                          'separator': 'string'},
                                                                                             'iotEvents': {'inputName': 'string'},
                                                                                             'lambda': {'functionArn': 'string'},
                                                                                             'sqs': {'queueUrl': 'string',
                                                                                                     'useBase64': 'boolean'}}}},
                                                          'onExit': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                         'separator': 'string'},
                                                                                            'iotEvents': {'inputName': 'string'},
                                                                                            'lambda': {'functionArn': 'string'},
                                                                                            'sqs': {'queueUrl': 'string',
                                                                                                    'useBase64': 'boolean'}}}},
                                                          'onInput': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                          'separator': 'string'},
                                                                                             'iotEvents': {'inputName': 'string'},
                                                                                             'lambda': {'functionArn': 'string'},
                                                                                             'sqs': {'queueUrl': 'string',
                                                                                                     'useBase64': 'boolean'}}},
                                                                      'transitionEvents': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                                    'separator': 'string'},
                                                                                                       'iotEvents': {'inputName': 'string'},
                                                                                                       'lambda': {'functionArn': 'string'},
                                                                                                       'sqs': {'queueUrl': 'string',
                                                                                                               'useBase64': 'boolean'}}}}}}}}
      Describes a detector model. If the "version" parameter is not specified, information about the latest version is returned.
See also: AWS API Documentation
Request Syntax
client.describe_detector_model(
    detectorModelName='string',
    detectorModelVersion='string'
)
string
[REQUIRED]
The name of the detector model.
string
The version of the detector model.
dict
Response Syntax
{
    'detectorModel': {
        'detectorModelDefinition': {
            'states': [
                {
                    'stateName': 'string',
                    'onInput': {
                        'events': [
                            {
                                'eventName': 'string',
                                'condition': 'string',
                                'actions': [
                                    {
                                        'setVariable': {
                                            'variableName': 'string',
                                            'value': 'string'
                                        },
                                        'sns': {
                                            'targetArn': 'string'
                                        },
                                        'iotTopicPublish': {
                                            'mqttTopic': 'string'
                                        },
                                        'setTimer': {
                                            'timerName': 'string',
                                            'seconds': 123
                                        },
                                        'clearTimer': {
                                            'timerName': 'string'
                                        },
                                        'resetTimer': {
                                            'timerName': 'string'
                                        },
                                        'lambda': {
                                            'functionArn': 'string'
                                        },
                                        'iotEvents': {
                                            'inputName': 'string'
                                        },
                                        'sqs': {
                                            'queueUrl': 'string',
                                            'useBase64': True|False
                                        },
                                        'firehose': {
                                            'deliveryStreamName': 'string',
                                            'separator': 'string'
                                        }
                                    },
                                ]
                            },
                        ],
                        'transitionEvents': [
                            {
                                'eventName': 'string',
                                'condition': 'string',
                                'actions': [
                                    {
                                        'setVariable': {
                                            'variableName': 'string',
                                            'value': 'string'
                                        },
                                        'sns': {
                                            'targetArn': 'string'
                                        },
                                        'iotTopicPublish': {
                                            'mqttTopic': 'string'
                                        },
                                        'setTimer': {
                                            'timerName': 'string',
                                            'seconds': 123
                                        },
                                        'clearTimer': {
                                            'timerName': 'string'
                                        },
                                        'resetTimer': {
                                            'timerName': 'string'
                                        },
                                        'lambda': {
                                            'functionArn': 'string'
                                        },
                                        'iotEvents': {
                                            'inputName': 'string'
                                        },
                                        'sqs': {
                                            'queueUrl': 'string',
                                            'useBase64': True|False
                                        },
                                        'firehose': {
                                            'deliveryStreamName': 'string',
                                            'separator': 'string'
                                        }
                                    },
                                ],
                                'nextState': 'string'
                            },
                        ]
                    },
                    'onEnter': {
                        'events': [
                            {
                                'eventName': 'string',
                                'condition': 'string',
                                'actions': [
                                    {
                                        'setVariable': {
                                            'variableName': 'string',
                                            'value': 'string'
                                        },
                                        'sns': {
                                            'targetArn': 'string'
                                        },
                                        'iotTopicPublish': {
                                            'mqttTopic': 'string'
                                        },
                                        'setTimer': {
                                            'timerName': 'string',
                                            'seconds': 123
                                        },
                                        'clearTimer': {
                                            'timerName': 'string'
                                        },
                                        'resetTimer': {
                                            'timerName': 'string'
                                        },
                                        'lambda': {
                                            'functionArn': 'string'
                                        },
                                        'iotEvents': {
                                            'inputName': 'string'
                                        },
                                        'sqs': {
                                            'queueUrl': 'string',
                                            'useBase64': True|False
                                        },
                                        'firehose': {
                                            'deliveryStreamName': 'string',
                                            'separator': 'string'
                                        }
                                    },
                                ]
                            },
                        ]
                    },
                    'onExit': {
                        'events': [
                            {
                                'eventName': 'string',
                                'condition': 'string',
                                'actions': [
                                    {
                                        'setVariable': {
                                            'variableName': 'string',
                                            'value': 'string'
                                        },
                                        'sns': {
                                            'targetArn': 'string'
                                        },
                                        'iotTopicPublish': {
                                            'mqttTopic': 'string'
                                        },
                                        'setTimer': {
                                            'timerName': 'string',
                                            'seconds': 123
                                        },
                                        'clearTimer': {
                                            'timerName': 'string'
                                        },
                                        'resetTimer': {
                                            'timerName': 'string'
                                        },
                                        'lambda': {
                                            'functionArn': 'string'
                                        },
                                        'iotEvents': {
                                            'inputName': 'string'
                                        },
                                        'sqs': {
                                            'queueUrl': 'string',
                                            'useBase64': True|False
                                        },
                                        'firehose': {
                                            'deliveryStreamName': 'string',
                                            'separator': 'string'
                                        }
                                    },
                                ]
                            },
                        ]
                    }
                },
            ],
            'initialStateName': 'string'
        },
        'detectorModelConfiguration': {
            'detectorModelName': 'string',
            'detectorModelVersion': 'string',
            'detectorModelDescription': 'string',
            'detectorModelArn': 'string',
            'roleArn': 'string',
            'creationTime': datetime(2015, 1, 1),
            'lastUpdateTime': datetime(2015, 1, 1),
            'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED',
            'key': 'string'
        }
    }
}
Response Structure
(dict) --
detectorModel (dict) --
Information about the detector model.
detectorModelDefinition (dict) --
Information that defines how a detector operates.
states (list) --
Information about the states of the detector.
(dict) --
Information that defines a state of a detector.
stateName (string) --
The name of the state.
onInput (dict) --
When an input is received and the "condition" is TRUE, perform the specified "actions".
events (list) --
Specifies the actions performed when the "condition" evaluates to TRUE.
(dict) --
Specifies the "actions" to be performed when the "condition" evaluates to TRUE.
eventName (string) --
The name of the event.
condition (string) --
[Optional] The Boolean expression that when TRUE causes the "actions" to be performed. If not present, the actions are performed (=TRUE); if the expression result is not a Boolean value, the actions are NOT performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) --
The name of the variable.
value (string) --
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) --
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) --
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) --
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) --
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) --
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) --
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) --
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) --
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) --
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
transitionEvents (list) --
Specifies the actions performed, and the next state entered, when a "condition" evaluates to TRUE.
(dict) --
Specifies the actions performed and the next state entered when a "condition" evaluates to TRUE.
eventName (string) --
The name of the transition event.
condition (string) --
[Required] A Boolean expression that when TRUE causes the actions to be performed and the "nextState" to be entered.
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) --
The name of the variable.
value (string) --
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) --
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) --
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) --
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) --
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) --
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) --
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) --
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) --
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) --
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
nextState (string) --
The next state to enter.
onEnter (dict) --
When entering this state, perform these "actions" if the "condition" is TRUE.
events (list) --
Specifies the actions that are performed when the state is entered and the "condition" is TRUE.
(dict) --
Specifies the "actions" to be performed when the "condition" evaluates to TRUE.
eventName (string) --
The name of the event.
condition (string) --
[Optional] The Boolean expression that when TRUE causes the "actions" to be performed. If not present, the actions are performed (=TRUE); if the expression result is not a Boolean value, the actions are NOT performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) --
The name of the variable.
value (string) --
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) --
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) --
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) --
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) --
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) --
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) --
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) --
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) --
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) --
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
onExit (dict) --
When exiting this state, perform these "actions" if the specified "condition" is TRUE.
events (list) --
Specifies the "actions" that are performed when the state is exited and the "condition" is TRUE.
(dict) --
Specifies the "actions" to be performed when the "condition" evaluates to TRUE.
eventName (string) --
The name of the event.
condition (string) --
[Optional] The Boolean expression that when TRUE causes the "actions" to be performed. If not present, the actions are performed (=TRUE); if the expression result is not a Boolean value, the actions are NOT performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) --
The name of the variable.
value (string) --
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) --
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) --
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) --
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) --
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) --
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) --
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) --
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) --
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) --
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
initialStateName (string) --
The state that is entered at the creation of each detector (instance).
detectorModelConfiguration (dict) --
Information about how the detector is configured.
detectorModelName (string) --
The name of the detector model.
detectorModelVersion (string) --
The version of the detector model.
detectorModelDescription (string) --
A brief description of the detector model.
detectorModelArn (string) --
The ARN of the detector model.
roleArn (string) --
The ARN of the role that grants permission to AWS IoT Events to perform its operations.
creationTime (datetime) --
The time the detector model was created.
lastUpdateTime (datetime) --
The time the detector model was last updated.
status (string) --
The status of the detector model.
key (string) --
The input attribute key used to identify a device or system in order to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression to specify the attribute-value pair in the message payload of each input that is used to identify the device associated with the input.
{'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                        'separator': 'string'},
                                                                           'iotEvents': {'inputName': 'string'},
                                                                           'lambda': {'functionArn': 'string'},
                                                                           'sqs': {'queueUrl': 'string',
                                                                                   'useBase64': 'boolean'}}}},
                                        'onExit': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                       'separator': 'string'},
                                                                          'iotEvents': {'inputName': 'string'},
                                                                          'lambda': {'functionArn': 'string'},
                                                                          'sqs': {'queueUrl': 'string',
                                                                                  'useBase64': 'boolean'}}}},
                                        'onInput': {'events': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                        'separator': 'string'},
                                                                           'iotEvents': {'inputName': 'string'},
                                                                           'lambda': {'functionArn': 'string'},
                                                                           'sqs': {'queueUrl': 'string',
                                                                                   'useBase64': 'boolean'}}},
                                                    'transitionEvents': {'actions': {'firehose': {'deliveryStreamName': 'string',
                                                                                                  'separator': 'string'},
                                                                                     'iotEvents': {'inputName': 'string'},
                                                                                     'lambda': {'functionArn': 'string'},
                                                                                     'sqs': {'queueUrl': 'string',
                                                                                             'useBase64': 'boolean'}}}}}}}
      Updates a detector model. Detectors (instances) spawned by the previous version are deleted and then re-created as new inputs arrive.
See also: AWS API Documentation
Request Syntax
client.update_detector_model(
    detectorModelName='string',
    detectorModelDefinition={
        'states': [
            {
                'stateName': 'string',
                'onInput': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ],
                    'transitionEvents': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ],
                            'nextState': 'string'
                        },
                    ]
                },
                'onEnter': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ]
                },
                'onExit': {
                    'events': [
                        {
                            'eventName': 'string',
                            'condition': 'string',
                            'actions': [
                                {
                                    'setVariable': {
                                        'variableName': 'string',
                                        'value': 'string'
                                    },
                                    'sns': {
                                        'targetArn': 'string'
                                    },
                                    'iotTopicPublish': {
                                        'mqttTopic': 'string'
                                    },
                                    'setTimer': {
                                        'timerName': 'string',
                                        'seconds': 123
                                    },
                                    'clearTimer': {
                                        'timerName': 'string'
                                    },
                                    'resetTimer': {
                                        'timerName': 'string'
                                    },
                                    'lambda': {
                                        'functionArn': 'string'
                                    },
                                    'iotEvents': {
                                        'inputName': 'string'
                                    },
                                    'sqs': {
                                        'queueUrl': 'string',
                                        'useBase64': True|False
                                    },
                                    'firehose': {
                                        'deliveryStreamName': 'string',
                                        'separator': 'string'
                                    }
                                },
                            ]
                        },
                    ]
                }
            },
        ],
        'initialStateName': 'string'
    },
    detectorModelDescription='string',
    roleArn='string'
)
string
[REQUIRED]
The name of the detector model that is updated.
dict
[REQUIRED]
Information that defines how a detector operates.
states (list) -- [REQUIRED]
Information about the states of the detector.
(dict) --
Information that defines a state of a detector.
stateName (string) -- [REQUIRED]
The name of the state.
onInput (dict) --
When an input is received and the "condition" is TRUE, perform the specified "actions".
events (list) --
Specifies the actions performed when the "condition" evaluates to TRUE.
(dict) --
Specifies the "actions" to be performed when the "condition" evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
[Optional] The Boolean expression that when TRUE causes the "actions" to be performed. If not present, the actions are performed (=TRUE); if the expression result is not a Boolean value, the actions are NOT performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) -- [REQUIRED]
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
transitionEvents (list) --
Specifies the actions performed, and the next state entered, when a "condition" evaluates to TRUE.
(dict) --
Specifies the actions performed and the next state entered when a "condition" evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the transition event.
condition (string) -- [REQUIRED]
[Required] A Boolean expression that when TRUE causes the actions to be performed and the "nextState" to be entered.
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) -- [REQUIRED]
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
nextState (string) -- [REQUIRED]
The next state to enter.
onEnter (dict) --
When entering this state, perform these "actions" if the "condition" is TRUE.
events (list) --
Specifies the actions that are performed when the state is entered and the "condition" is TRUE.
(dict) --
Specifies the "actions" to be performed when the "condition" evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
[Optional] The Boolean expression that when TRUE causes the "actions" to be performed. If not present, the actions are performed (=TRUE); if the expression result is not a Boolean value, the actions are NOT performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) -- [REQUIRED]
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
onExit (dict) --
When exiting this state, perform these "actions" if the specified "condition" is TRUE.
events (list) --
Specifies the "actions" that are performed when the state is exited and the "condition" is TRUE.
(dict) --
Specifies the "actions" to be performed when the "condition" evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
[Optional] The Boolean expression that when TRUE causes the "actions" to be performed. If not present, the actions are performed (=TRUE); if the expression result is not a Boolean value, the actions are NOT performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the "condition" is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) -- [REQUIRED]
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event which triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function which is executed.
iotEvents (dict) --
Sends an IoT Events input, passing in information about the detector model instance and the event which triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event which triggered the action to an AWS SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be Base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.
firehose (dict) --
Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
initialStateName (string) -- [REQUIRED]
The state that is entered at the creation of each detector (instance).
string
A brief description of the detector model.
string
[REQUIRED]
The ARN of the role that grants permission to AWS IoT Events to perform its operations.
dict
Response Syntax
{
    'detectorModelConfiguration': {
        'detectorModelName': 'string',
        'detectorModelVersion': 'string',
        'detectorModelDescription': 'string',
        'detectorModelArn': 'string',
        'roleArn': 'string',
        'creationTime': datetime(2015, 1, 1),
        'lastUpdateTime': datetime(2015, 1, 1),
        'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED',
        'key': 'string'
    }
}
Response Structure
(dict) --
detectorModelConfiguration (dict) --
Information about how the detector model is configured.
detectorModelName (string) --
The name of the detector model.
detectorModelVersion (string) --
The version of the detector model.
detectorModelDescription (string) --
A brief description of the detector model.
detectorModelArn (string) --
The ARN of the detector model.
roleArn (string) --
The ARN of the role that grants permission to AWS IoT Events to perform its operations.
creationTime (datetime) --
The time the detector model was created.
lastUpdateTime (datetime) --
The time the detector model was last updated.
status (string) --
The status of the detector model.
key (string) --
The input attribute key used to identify a device or system in order to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression to specify the attribute-value pair in the message payload of each input that is used to identify the device associated with the input.