Replace machine type by ID

put

/productionMonitoring/clientapi/v2/machineTypes/{type-id}

This operation replaces the specified machine type information with the provided machine type definition. 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
Path Parameters
  • Identifier created by the Oracle IoT Cloud Service for the machine type
Header Parameters
  • 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.
Body ()
Root Schema : MachineType_create
Type: object
Show Source
Nested Schema : attributes
Type: array
A list of attributes supported by this machine type. Each definition contains data type for the attribute value, whether it's optional/mandatory, default value, etc.
Show Source
Nested Schema : MachineAttributeDefinition_create
Type: object
Show Source
Nested Schema : allowedValues
Type: array
The list of allowed values for the given field.
Show Source
Nested Schema : properties
Type: object
Additional Properties Allowed
Show Source
  • A map of the following type: Map<String, String>
Optional field for additional properties.
Show Source
Nested Schema : sensorAttributes
Type: array
Property description was not set
Show Source
Nested Schema : items
Type: object
Nested Schema : SensorAttributeType_create
Type: object
Show Source
Back to Top

Response

Supported Media Types

200 Response

Successfully processed.
Body ()
Root Schema : MachineType_receive
Type: object
Show Source
Nested Schema : attributes
Type: array
A list of attributes supported by this machine type. Each definition contains data type for the attribute value, whether it's optional/mandatory, default value, etc.
Show Source
Nested Schema : icon
Type: object
Binary object representing machine type icon.
Show Source
Nested Schema : properties
Type: object
Additional Properties Allowed
Show Source
  • A map of the following type: Map<String, String>
The machine type's external entity properties as key, value pairs.
Show Source
Nested Schema : MachineAttributeDefinition_receive
Type: object
Show Source
  • allowedValues
    The list of allowed values for the given field.
  • Applicable only when "type" is sensor. If type is sensor, then dataType must be specified.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].
  • The applicable only when the attribute type is 'device', must be specified then.
  • Identifier of the machine attribute e.g. &qot;id&qot;, &qot;0-AB&qot; etc. Identifier should be unique across machine attributes of a given type. This value is present only for attributes of type equal to SENSOR
  • The instructions on how to fill the machine attribute.
  • The name of the machine attribute e.g. 'brand', 'color', 'size', 'status' etc. Name should be unique across machine attributes of a given type.
  • If set to true, partitioning attributes will be considered by the system for detecting state-aware anomalies.
  • properties
    Additional Properties Allowed: additionalProperties
    Optional field for additional properties.
  • The boolean flag indicating if the machine should have this attribute.
  • sensorAttributes
    Property description was not set
  • The type of the machine attribute. Following types are supported: ['string', 'number', 'boolean', 'date', 'binary', 'device', 'sensor'].One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI].
  • This specifies whether the machine attribute value must be unique.
Nested Schema : allowedValues
Type: array
The list of allowed values for the given field.
Show Source
Nested Schema : properties
Type: object
Additional Properties Allowed
Show Source
  • A map of the following type: Map<String, String>
Optional field for additional properties.
Show Source
Nested Schema : sensorAttributes
Type: array
Property description was not set
Show Source
Nested Schema : items
Type: object
Nested Schema : SensorAttributeType_receive
Type: object
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.

404 Response

Not Found. The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.

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.
Back to Top

Examples

curl -X PUT 
   -u <username>:<password>
   -H 'Accept: application/json'
   https://iotserver/productionMonitoring/clientapi/v2/machineTypes/{type-id}

Example of Request Body

The following example shows the content of the request body in JSON format:


{
"attributes":[
{
"dataType":"Applicable only when 'type' is sensor. If type is sensor, then dataType must be specified.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].",
"deviceModel":"The applicable only when the attribute type is 'device', must be specified then.",
"instructions":"The instructions on how to fill the machine attribute.",
"legacySensorAttribute":false,
"name":"The name of the machine attribute e.g. 'brand', 'color', 'size', 'status' etc. Name should be unique across machine attributes of a given type.",
"partitioningByAllowedValues":false,
"properties":{
"properties_key1":"properties_value1",
"properties_key2":"properties_value2",
"properties_key3":"properties_value3"
},
"required":false,
"sensorAttributes":[
{
"field":"The name of the field.",
"fieldType":"The type of the field.",
"format":"The format asssociated with this attribute.",
"id":"202f3c1c62a7-1a45",
"keepHistory":false,
"name":"The name of this attribute."
}
],
"type":"The type of the machine attribute. Following types are supported: ['string', 'number', 'boolean', 'date', 'binary', 'device', 'sensor'].One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI].",
"unique":false
}
],
"description":"The description for the given machine type.",
"name":"The user-defined unique name for the machine type e.g. miller, welder, cooler etc."
}

Example of Response Body

The following example shows the content of the response body in JSON format:


{
"attributes":[
{
"dataType":"Applicable only when 'type' is sensor. If type is sensor, then dataType must be specified.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].",
"deviceModel":"The applicable only when the attribute type is 'device', must be specified then.",
"id":"323648cd135b-2beb",
"instructions":"The instructions on how to fill the machine attribute.",
"name":"The name of the machine attribute e.g. 'brand', 'color', 'size', 'status' etc. Name should be unique across machine attributes of a given type.",
"partitioningByAllowedValues":false,
"properties":{
"properties_key1":"properties_value1",
"properties_key2":"properties_value2",
"properties_key3":"properties_value3"
},
"required":false,
"sensorAttributes":[
{
"field":"The name of the field.",
"format":"The format asssociated with this attribute.",
"id":"304d51953feb-1d4e",
"name":"The name of this attribute."
}
],
"type":"The type of the machine attribute. Following types are supported: ['string', 'number', 'boolean', 'date', 'binary', 'device', 'sensor'].One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI].",
"unique":false
}
],
"description":"The description for the given machine type.",
"extId":"4a6739dd582d-770d",
"icon":{
"links":[
{
"href":"https://iotserver/productionMonitoring/clientapi/version/resource/path",
"rel":"self"
},
{
"href":"https://iotserver/productionMonitoring/clientapi/version/resource/path",
"rel":"canonical"
}
]
},
"id":"350d671e4944-531d",
"integrationId":"7adc622123a0-207b",
"lastModifiedBy":"The name of the user who last modified the definition of the machine type.",
"lastModifiedTime":1469184297746,
"lastModifiedTimeAsString":1469184297746,
"name":"The user-defined unique name for the machine type e.g. miller, welder, cooler etc.",
"properties":{
"properties_key1":"properties_value1",
"properties_key2":"properties_value2",
"properties_key3":"properties_value3"
},
"registeredBy":"The name of the user who registered this machine type.",
"registrationTime":1469184297746,
"registrationTimeAsString":1469184297746
}



Complete cURL Example

The following example shows a complete cURL command that you can use to perform the described operation:

curl -X PUT 
   -u <username>:<password>
   -H 'Accept: application/json'
   -d '{"attributes":[{"dataType":"Applicable only when 'type' is sensor. If type is sensor, then dataType must be specified.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].","deviceModel":"The applicable only when the attribute type is 'device', must be specified then.","instructions":"The instructions on how to fill the machine attribute.","legacySensorAttribute":false,"name":"The name of the machine attribute e.g. 'brand', 'color', 'size', 'status' etc. Name should be unique across machine attributes of a given type.","partitioningByAllowedValues":false,"properties":{"properties_key1":"properties_value1","properties_key2":"properties_value2","properties_key3":"properties_value3"},"required":false,"sensorAttributes":[{"field":"The name of the field.","fieldType":"The type of the field.","format":"The format asssociated with this attribute.","id":"202f3c1c62a7-1a45","keepHistory":false,"name":"The name of this attribute."}],"type":"The type of the machine attribute. Following types are supported: ['string', 'number', 'boolean', 'date', 'binary', 'device', 'sensor'].One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI].","unique":false}],"description":"The description for the given machine type.","name":"The user-defined unique name for the machine type e.g. miller, welder, cooler etc."}'
   https://iotserver/productionMonitoring/clientapi/v2/machineTypes/70d43d72925-569e



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.
Back to Top