Create rule
post
/productionMonitoring/clientapi/v2/rules
This operation creates a new instance of a rule. This method supports the request header with name 'X-ORACLE-IOT-ORG', which allows targeting requests to different organizations. The value of this request header should contain the organization identifier.
Request
Supported Media Types
- application/json
Header Parameters
-
X-ORACLE-IOT-ORG: string
This method supports the request header with name 'X-ORACLE-IOT-ORG', which allows targeting requests to different organizations. The value of this request header should contain the organization identifier.
Root Schema : RuleDocModel_create
Type:
Show Source
object
-
actions:
array actions
The set of actions for the rule.
-
config(optional):
object config
Additional Properties Allowed: additionalPropertiesThe rule configuration.
-
description(optional):
string
The detailed description of the rule.
-
name:
string
The name of the rule.
-
predicateCombination(optional):
string
The manner in which to combine rule predicates. One of [ANY_OF, ALL_OF].
-
predicates:
array predicates
The predicates for the rule.
-
semanticModificationTime:
integer
Property description was not set
-
sources:
object sources
Additional Properties Allowed: additionalPropertiesThe source of the rule.
-
state(optional):
string
The state of the rule. One of [ENABLED, DISABLED, INVALID].
Nested Schema : config
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
The rule configuration.
Show Source
Nested Schema : sources
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
The source of the rule.
Show Source
Nested Schema : RuleActionDocModel_create
Type:
Show Source
object
-
config:
object config
Additional Properties Allowed: additionalPropertiesConfig of Action
-
tags(optional):
array tags
Tags of Action
-
type:
string
Type of Action, One of [TRIGGERALERT, TRIGGERINCIDENT, TRIGGERWARNING].
Nested Schema : config
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
Config of Action
Show Source
Nested Schema : PredicateModel_create
Type:
Show Source
object
-
config:
object config
Additional Properties Allowed: additionalPropertiesConfig of Predicate
-
type:
string
Type of Predicate, One of [THRESHOLD, GEO, ALERT, ANOMALY, PREDICTION, TREND].
Nested Schema : config
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
Config of Predicate
Show Source
Response
Supported Media Types
- application/json
- application/vnd.oracle.resource+json;type=singular
202 Response
Successfully processed.
Root Schema : RuleDocModel_receive
Type:
Show Source
object
-
actions:
array actions
The set of actions for the rule.
-
applicationId:
string
The ID of application the rule belongs to.
-
config:
object config
Additional Properties Allowed: additionalPropertiesThe rule configuration.
-
createdTime:
integer
The time at which the rule was created.
-
createdTimeAsString:
string
The time at which the rule was created, represented as a string.
-
description:
string
The detailed description of the rule.
-
id:
string
The unique ID for the rule.
-
lastModifiedTime:
integer
The time at which the rule was last modified.
-
lastModifiedTimeAsString:
string
The time at which the rule was last modified, represented as a string.
-
name:
string
The name of the rule.
-
organizationId:
string
The ID of organization the rule belongs to.
-
predicateCombination:
string
The manner in which to combine rule predicates. One of [ANY_OF, ALL_OF].
-
predicates:
array predicates
The predicates for the rule.
-
sources:
object sources
Additional Properties Allowed: additionalPropertiesThe source of the rule.
-
state:
string
The state of the rule. One of [ENABLED, DISABLED, INVALID].
-
system:
boolean
The system flag.
Nested Schema : config
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
The rule configuration.
Show Source
Nested Schema : sources
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
The source of the rule.
Show Source
Nested Schema : RuleActionDocModel_receive
Type:
Show Source
object
-
config:
object config
Additional Properties Allowed: additionalPropertiesConfig of Action
-
id:
string
Property description was not set
-
tags:
array tags
Tags of Action
-
type:
string
Type of Action, One of [TRIGGERALERT, TRIGGERINCIDENT, TRIGGERWARNING].
Nested Schema : config
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
Config of Action
Show Source
Nested Schema : PredicateModel_receive
Type:
Show Source
object
-
config:
object config
Additional Properties Allowed: additionalPropertiesConfig of Predicate
-
type:
string
Type of Predicate, One of [THRESHOLD, GEO, ALERT, ANOMALY, PREDICTION, TREND].
Nested Schema : config
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
Config of Predicate
Show Source
400 Response
Bad Request. The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.
401 Response
Unauthorized. The request requires user authentication.
403 Response
Forbidden. The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated.
406 Response
Request Not Acceptable. The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request.
415 Response
Unsupported Media Type. The request entity has a media type which the server or resource does not support.
Examples
curl -X POST
-u <username>:<password>
-H 'Accept: application/json'
-H 'Content-Type: application/json'
https://iotserver/productionMonitoring/clientapi/v2/rules
Example of Request Body
The following example shows the content of the request body in JSON format:
{
"actions":[
{
"config":{
"config_key1":"config_value1",
"config_key2":"config_value2",
"config_key3":"config_value3"
},
"tags":[
"tags_1",
"tags_2",
"tags_3"
],
"type":"Type of Action, One of [TRIGGERALERT, TRIGGERINCIDENT, TRIGGERWARNING]."
}
],
"config":{
"config_key1":"config_value1",
"config_key2":"config_value2",
"config_key3":"config_value3"
},
"description":"The detailed description of the rule.",
"name":"The name of the rule.",
"predicateCombination":"The manner in which to combine rule predicates. One of [ANY_OF, ALL_OF].",
"predicates":[
{
"config":{
"config_key1":"config_value1",
"config_key2":"config_value2",
"config_key3":"config_value3"
},
"type":"Type of Predicate, One of [THRESHOLD, GEO, ALERT, ANOMALY, PREDICTION, TREND]."
}
],
"semanticModificationTime":1469184297746,
"sources":{
"sources_key1":"sources_value1",
"sources_key2":"sources_value2",
"sources_key3":"sources_value3"
},
"state":"The state of the rule. One of [ENABLED, DISABLED, INVALID]."
}
Example of Response Body
The following example shows the content of the response body in JSON format:
{
"actions":[
{
"config":{
"config_key1":"config_value1",
"config_key2":"config_value2",
"config_key3":"config_value3"
},
"id":"67fb23e25442-58b",
"tags":[
"tags_1",
"tags_2",
"tags_3"
],
"type":"Type of Action, One of [TRIGGERALERT, TRIGGERINCIDENT, TRIGGERWARNING]."
}
],
"applicationId":"3910a901137-3dfa",
"config":{
"config_key1":"config_value1",
"config_key2":"config_value2",
"config_key3":"config_value3"
},
"createdTime":1469184297746,
"createdTimeAsString":"2016-07-22T10:44:57.746Z",
"description":"The detailed description of the rule.",
"id":"732d3c5a4ac2-3ae7",
"lastModifiedTime":1469184297746,
"lastModifiedTimeAsString":"2016-07-22T10:44:57.746Z",
"name":"The name of the rule.",
"organizationId":"16406d83f0a-3104",
"predicateCombination":"The manner in which to combine rule predicates. One of [ANY_OF, ALL_OF].",
"predicates":[
{
"config":{
"config_key1":"config_value1",
"config_key2":"config_value2",
"config_key3":"config_value3"
},
"type":"Type of Predicate, One of [THRESHOLD, GEO, ALERT, ANOMALY, PREDICTION, TREND]."
}
],
"sources":{
"sources_key1":"sources_value1",
"sources_key2":"sources_value2",
"sources_key3":"sources_value3"
},
"state":"The state of the rule. One of [ENABLED, DISABLED, INVALID].",
"system":false
}
Complete cURL Example
The following example shows a complete cURL command that you can use to perform the described operation:
curl -X POST
-u <username>:<password>
-H 'Accept: application/json'
-H 'Content-Type: application/json'
-d '{"actions":[{"config":{"config_key1":"config_value1","config_key2":"config_value2","config_key3":"config_value3"},"tags":["tags_1","tags_2","tags_3"],"type":"Type of Action, One of [TRIGGERALERT, TRIGGERINCIDENT, TRIGGERWARNING]."}],"config":{"config_key1":"config_value1","config_key2":"config_value2","config_key3":"config_value3"},"description":"The detailed description of the rule.","name":"The name of the rule.","predicateCombination":"The manner in which to combine rule predicates. One of [ANY_OF, ALL_OF].","predicates":[{"config":{"config_key1":"config_value1","config_key2":"config_value2","config_key3":"config_value3"},"type":"Type of Predicate, One of [THRESHOLD, GEO, ALERT, ANOMALY, PREDICTION, TREND]."}],"semanticModificationTime":1469184297746,"sources":{"sources_key1":"sources_value1","sources_key2":"sources_value2","sources_key3":"sources_value3"},"state":"The state of the rule. One of [ENABLED, DISABLED, INVALID]."}'
https://iotserver/productionMonitoring/clientapi/v2/rules
Note that in the request,
https://iotserver
will be replaced by the name and port of your assigned IoT Cloud Service instance. The format of the Cloud Service instance is
https://myinstance-myidentitydomain.iot.us.oraclecloud.com
and the default port is 443.