AWS IoT Events
API Reference

UpdateDetectorModel

Updates a detector model. Detectors (instances) spawned by the previous version are deleted and then re-created as new inputs arrive.

Request Syntax

POST /detector-models/detectorModelName HTTP/1.1 Content-type: application/json { "detectorModelDefinition": { "initialStateName": "string", "states": [ { "onEnter": { "events": [ { "actions": [ { "clearTimer": { "timerName": "string" }, "firehose": { "deliveryStreamName": "string", "separator": "string" }, "iotEvents": { "inputName": "string" }, "iotTopicPublish": { "mqttTopic": "string" }, "lambda": { "functionArn": "string" }, "resetTimer": { "timerName": "string" }, "setTimer": { "seconds": number, "timerName": "string" }, "setVariable": { "value": "string", "variableName": "string" }, "sns": { "targetArn": "string" }, "sqs": { "queueUrl": "string", "useBase64": boolean } } ], "condition": "string", "eventName": "string" } ] }, "onExit": { "events": [ { "actions": [ { "clearTimer": { "timerName": "string" }, "firehose": { "deliveryStreamName": "string", "separator": "string" }, "iotEvents": { "inputName": "string" }, "iotTopicPublish": { "mqttTopic": "string" }, "lambda": { "functionArn": "string" }, "resetTimer": { "timerName": "string" }, "setTimer": { "seconds": number, "timerName": "string" }, "setVariable": { "value": "string", "variableName": "string" }, "sns": { "targetArn": "string" }, "sqs": { "queueUrl": "string", "useBase64": boolean } } ], "condition": "string", "eventName": "string" } ] }, "onInput": { "events": [ { "actions": [ { "clearTimer": { "timerName": "string" }, "firehose": { "deliveryStreamName": "string", "separator": "string" }, "iotEvents": { "inputName": "string" }, "iotTopicPublish": { "mqttTopic": "string" }, "lambda": { "functionArn": "string" }, "resetTimer": { "timerName": "string" }, "setTimer": { "seconds": number, "timerName": "string" }, "setVariable": { "value": "string", "variableName": "string" }, "sns": { "targetArn": "string" }, "sqs": { "queueUrl": "string", "useBase64": boolean } } ], "condition": "string", "eventName": "string" } ], "transitionEvents": [ { "actions": [ { "clearTimer": { "timerName": "string" }, "firehose": { "deliveryStreamName": "string", "separator": "string" }, "iotEvents": { "inputName": "string" }, "iotTopicPublish": { "mqttTopic": "string" }, "lambda": { "functionArn": "string" }, "resetTimer": { "timerName": "string" }, "setTimer": { "seconds": number, "timerName": "string" }, "setVariable": { "value": "string", "variableName": "string" }, "sns": { "targetArn": "string" }, "sqs": { "queueUrl": "string", "useBase64": boolean } } ], "condition": "string", "eventName": "string", "nextState": "string" } ] }, "stateName": "string" } ] }, "detectorModelDescription": "string", "evaluationMethod": "string", "roleArn": "string" }

URI Request Parameters

The request requires the following URI parameters.

detectorModelName

The name of the detector model that is updated.

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: ^[a-zA-Z0-9_-]+$

Request Body

The request accepts the following data in JSON format.

detectorModelDefinition

Information that defines how a detector operates.

Type: DetectorModelDefinition object

Required: Yes

detectorModelDescription

A brief description of the detector model.

Type: String

Length Constraints: Maximum length of 128.

Required: No

evaluationMethod

When set to SERIAL, variables are updated and event conditions evaluated in the order that the events are defined. When set to BATCH, variables are updated and events performed only after all event conditions are evaluated. BATCH is the default.

Type: String

Valid Values: BATCH | SERIAL

Required: No

roleArn

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

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

Required: Yes

Response Syntax

HTTP/1.1 200 Content-type: application/json { "detectorModelConfiguration": { "creationTime": number, "detectorModelArn": "string", "detectorModelDescription": "string", "detectorModelName": "string", "detectorModelVersion": "string", "evaluationMethod": "string", "key": "string", "lastUpdateTime": number, "roleArn": "string", "status": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

detectorModelConfiguration

Information about how the detector model is configured.

Type: DetectorModelConfiguration object

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalFailureException

An internal failure occurred.

HTTP Status Code: 500

InvalidRequestException

The request was invalid.

HTTP Status Code: 400

ResourceInUseException

The resource is in use.

HTTP Status Code: 409

ResourceNotFoundException

The resource was not found.

HTTP Status Code: 404

ServiceUnavailableException

The service is currently unavailable.

HTTP Status Code: 503

ThrottlingException

The request could not be completed due to throttling.

HTTP Status Code: 429

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: