xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/AutomationNode.v1_0_0.json (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/AutomationNode.v1_0_0.json",
3    "$ref": "#/definitions/AutomationNode",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6    "definitions": {
7        "Actions": {
8            "additionalProperties": false,
9            "description": "The available actions for this resource.",
10            "longDescription": "This type shall contain the available actions for this resource.",
11            "patternProperties": {
12                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13                    "description": "This property shall specify a valid odata or Redfish property.",
14                    "type": [
15                        "array",
16                        "boolean",
17                        "integer",
18                        "number",
19                        "null",
20                        "object",
21                        "string"
22                    ]
23                }
24            },
25            "properties": {
26                "#AutomationNode.Reset": {
27                    "$ref": "#/definitions/Reset"
28                },
29                "#AutomationNode.SendTrigger": {
30                    "$ref": "#/definitions/SendTrigger"
31                },
32                "#AutomationNode.Start": {
33                    "$ref": "#/definitions/Start"
34                },
35                "#AutomationNode.Stop": {
36                    "$ref": "#/definitions/Stop"
37                },
38                "#AutomationNode.Wait": {
39                    "$ref": "#/definitions/Wait"
40                },
41                "Oem": {
42                    "$ref": "#/definitions/OemActions",
43                    "description": "The available OEM-specific actions for this resource.",
44                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
45                }
46            },
47            "type": "object"
48        },
49        "AutomationNode": {
50            "additionalProperties": false,
51            "description": "The `AutomationNode` schema describes a node that carries out instructions in industrial automation environments.",
52            "longDescription": "This resource shall represent an automation node for a Redfish implementation.",
53            "patternProperties": {
54                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
55                    "description": "This property shall specify a valid odata or Redfish property.",
56                    "type": [
57                        "array",
58                        "boolean",
59                        "integer",
60                        "number",
61                        "null",
62                        "object",
63                        "string"
64                    ]
65                }
66            },
67            "properties": {
68                "@odata.context": {
69                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
70                },
71                "@odata.etag": {
72                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
73                },
74                "@odata.id": {
75                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
76                },
77                "@odata.type": {
78                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
79                },
80                "Actions": {
81                    "$ref": "#/definitions/Actions",
82                    "description": "The available actions for this resource.",
83                    "longDescription": "This property shall contain the available actions for this resource."
84                },
85                "Description": {
86                    "anyOf": [
87                        {
88                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
89                        },
90                        {
91                            "type": "null"
92                        }
93                    ],
94                    "readonly": true
95                },
96                "Id": {
97                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
98                    "readonly": true
99                },
100                "Instrumentation": {
101                    "$ref": "http://redfish.dmtf.org/schemas/v1/AutomationInstrumentation.json#/definitions/AutomationInstrumentation",
102                    "description": "A link to the instrumentation for this node.",
103                    "longDescription": "This property shall contain a link to a resource of type `AutomationInstrumentation` that represents the instrumentation for this automation node.",
104                    "readonly": true
105                },
106                "Links": {
107                    "$ref": "#/definitions/Links",
108                    "description": "The links to other resources that are related to this resource.",
109                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
110                },
111                "MotionAxis": {
112                    "anyOf": [
113                        {
114                            "$ref": "#/definitions/MotionAxisType"
115                        },
116                        {
117                            "type": "null"
118                        }
119                    ],
120                    "description": "The primary axis of motion for this motion-related node.",
121                    "longDescription": "This property shall contain the primary axis of motion for this motion-related node.",
122                    "readonly": false
123                },
124                "MotionProfile": {
125                    "anyOf": [
126                        {
127                            "$ref": "#/definitions/MotionProfileType"
128                        },
129                        {
130                            "type": "null"
131                        }
132                    ],
133                    "description": "The motion profile type used for this node.",
134                    "longDescription": "This property shall contain the type of motion profile used for this motion-based node.",
135                    "readonly": false
136                },
137                "Name": {
138                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
139                    "readonly": true
140                },
141                "NodeState": {
142                    "$ref": "http://redfish.dmtf.org/schemas/v1/AutomationNode.json#/definitions/NodeState",
143                    "description": "The current state of the node.",
144                    "longDescription": "This property shall contain the current state of the automation node.",
145                    "readonly": true
146                },
147                "NodeType": {
148                    "$ref": "#/definitions/NodeType",
149                    "description": "The type of automation node.",
150                    "longDescription": "This property shall contain the type for the automation node.",
151                    "readonly": true
152                },
153                "Oem": {
154                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
155                    "description": "The OEM extension property.",
156                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
157                },
158                "Status": {
159                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
160                    "description": "The status and health of a resource and its children.",
161                    "longDescription": "This type shall contain any status or health properties of a resource."
162                }
163            },
164            "required": [
165                "@odata.id",
166                "@odata.type",
167                "Id",
168                "Name"
169            ],
170            "type": "object"
171        },
172        "Links": {
173            "additionalProperties": false,
174            "description": "The links to other resources that are related to this resource.",
175            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
176            "patternProperties": {
177                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
178                    "description": "This property shall specify a valid odata or Redfish property.",
179                    "type": [
180                        "array",
181                        "boolean",
182                        "integer",
183                        "number",
184                        "null",
185                        "object",
186                        "string"
187                    ]
188                }
189            },
190            "properties": {
191                "AutomationNodeGroup": {
192                    "description": "An array of links to the automation nodes that are included in an automation node group.",
193                    "items": {
194                        "$ref": "http://redfish.dmtf.org/schemas/v1/AutomationNode.json#/definitions/AutomationNode"
195                    },
196                    "longDescription": "This property shall contain an array of links to resources of type `AutomationNode` that represent the nodes that provide the functionality of this group.",
197                    "readonly": true,
198                    "type": "array"
199                },
200                "AutomationNodeGroup@odata.count": {
201                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
202                },
203                "Chassis": {
204                    "description": "An array of links to the chassis that contain this equipment.",
205                    "items": {
206                        "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
207                    },
208                    "longDescription": "This property shall contain an array of links to resources of type `Chassis` that represent the physical containers that contain this equipment.",
209                    "readonly": true,
210                    "type": "array"
211                },
212                "Chassis@odata.count": {
213                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
214                },
215                "Oem": {
216                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
217                    "description": "The OEM extension property.",
218                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
219                },
220                "OutputControl": {
221                    "$ref": "http://redfish.dmtf.org/schemas/v1/Control.json#/definitions/Control",
222                    "description": "A link to the output control.",
223                    "longDescription": "This property shall contain a link to a resource of type `Control` that represent the output control associated with this node.",
224                    "readonly": true
225                },
226                "PidFeedbackSensor": {
227                    "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/Sensor",
228                    "description": "A link to the PID feedback sensor.",
229                    "longDescription": "This property shall contain a link to a resource of type `Sensor` that represents the feedback sensor associated with this node.  The feedback sensor is intended to return controlled value output in a PID system.",
230                    "readonly": true
231                },
232                "PositionSensor": {
233                    "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/Sensor",
234                    "description": "A link to the position sensor.",
235                    "longDescription": "This property shall contain a link to a resource of type `Sensor` that represents the position sensor associated with this node.",
236                    "readonly": true
237                },
238                "VelocitySensor": {
239                    "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/Sensor",
240                    "description": "A link to the velocity sensor.",
241                    "longDescription": "This property shall contain a link to a resource of type `Sensor` that represents the velocity sensor associated with this node.",
242                    "readonly": true
243                }
244            },
245            "type": "object"
246        },
247        "MotionAxisType": {
248            "enum": [
249                "X",
250                "Y",
251                "Z",
252                "TwoAxis",
253                "ThreeAxis"
254            ],
255            "enumDescriptions": {
256                "ThreeAxis": "3-axis.",
257                "TwoAxis": "2-axis.",
258                "X": "X axis.",
259                "Y": "Y axis.",
260                "Z": "Z axis."
261            },
262            "type": "string"
263        },
264        "MotionProfileType": {
265            "enum": [
266                "Trapezoidal",
267                "SCurve",
268                "None"
269            ],
270            "enumDescriptions": {
271                "None": "No profile specified.",
272                "SCurve": "S-curve profile.",
273                "Trapezoidal": "Trapezoidal profile."
274            },
275            "type": "string"
276        },
277        "NodeType": {
278            "enum": [
279                "MotionPosition",
280                "MotionVelocity",
281                "MotionPositionGroup",
282                "PID",
283                "Simple"
284            ],
285            "enumDescriptions": {
286                "MotionPosition": "A position-based profiled motion node where position, velocity, and acceleration are all controlled.",
287                "MotionPositionGroup": "A multi-axis position-based profiled motion node where position, velocity and acceleration are all controlled.",
288                "MotionVelocity": "A velocity-based profiled motion node where position, velocity and acceleration are all controlled.",
289                "PID": "A node that attempts to match a set point using a PID control algorithm.",
290                "Simple": "A simple node that incorporates no automated control function."
291            },
292            "type": "string"
293        },
294        "OemActions": {
295            "additionalProperties": true,
296            "description": "The available OEM-specific actions for this resource.",
297            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
298            "patternProperties": {
299                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
300                    "description": "This property shall specify a valid odata or Redfish property.",
301                    "type": [
302                        "array",
303                        "boolean",
304                        "integer",
305                        "number",
306                        "null",
307                        "object",
308                        "string"
309                    ]
310                }
311            },
312            "properties": {},
313            "type": "object"
314        },
315        "Reset": {
316            "additionalProperties": false,
317            "description": "Resets the node.",
318            "longDescription": "This action shall reset the node to its power-on state.",
319            "parameters": {},
320            "patternProperties": {
321                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
322                    "description": "This property shall specify a valid odata or Redfish property.",
323                    "type": [
324                        "array",
325                        "boolean",
326                        "integer",
327                        "number",
328                        "null",
329                        "object",
330                        "string"
331                    ]
332                }
333            },
334            "properties": {
335                "target": {
336                    "description": "Link to invoke action",
337                    "format": "uri-reference",
338                    "type": "string"
339                },
340                "title": {
341                    "description": "Friendly action name",
342                    "type": "string"
343                }
344            },
345            "type": "object"
346        },
347        "SendTrigger": {
348            "additionalProperties": false,
349            "description": "Sends a trigger to the node.",
350            "longDescription": "This action shall pulse the trigger signal for the node.",
351            "parameters": {},
352            "patternProperties": {
353                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
354                    "description": "This property shall specify a valid odata or Redfish property.",
355                    "type": [
356                        "array",
357                        "boolean",
358                        "integer",
359                        "number",
360                        "null",
361                        "object",
362                        "string"
363                    ]
364                }
365            },
366            "properties": {
367                "target": {
368                    "description": "Link to invoke action",
369                    "format": "uri-reference",
370                    "type": "string"
371                },
372                "title": {
373                    "description": "Friendly action name",
374                    "type": "string"
375                }
376            },
377            "type": "object"
378        },
379        "Start": {
380            "additionalProperties": false,
381            "description": "Starts the node.",
382            "longDescription": "This action shall transition the node to the `Running` state.  This action shall pulse the trigger signal to other connected nodes that are in the `Waiting` state.",
383            "parameters": {},
384            "patternProperties": {
385                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
386                    "description": "This property shall specify a valid odata or Redfish property.",
387                    "type": [
388                        "array",
389                        "boolean",
390                        "integer",
391                        "number",
392                        "null",
393                        "object",
394                        "string"
395                    ]
396                }
397            },
398            "properties": {
399                "target": {
400                    "description": "Link to invoke action",
401                    "format": "uri-reference",
402                    "type": "string"
403                },
404                "title": {
405                    "description": "Friendly action name",
406                    "type": "string"
407                }
408            },
409            "type": "object"
410        },
411        "Stop": {
412            "additionalProperties": false,
413            "description": "Stops the node.",
414            "longDescription": "This action shall transition the node to the `Idle` state.",
415            "parameters": {},
416            "patternProperties": {
417                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
418                    "description": "This property shall specify a valid odata or Redfish property.",
419                    "type": [
420                        "array",
421                        "boolean",
422                        "integer",
423                        "number",
424                        "null",
425                        "object",
426                        "string"
427                    ]
428                }
429            },
430            "properties": {
431                "target": {
432                    "description": "Link to invoke action",
433                    "format": "uri-reference",
434                    "type": "string"
435                },
436                "title": {
437                    "description": "Friendly action name",
438                    "type": "string"
439                }
440            },
441            "type": "object"
442        },
443        "Wait": {
444            "additionalProperties": false,
445            "description": "Signals the node to wait for the next instruction.",
446            "longDescription": "This action shall transition the node to the `Waiting` state.",
447            "parameters": {},
448            "patternProperties": {
449                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
450                    "description": "This property shall specify a valid odata or Redfish property.",
451                    "type": [
452                        "array",
453                        "boolean",
454                        "integer",
455                        "number",
456                        "null",
457                        "object",
458                        "string"
459                    ]
460                }
461            },
462            "properties": {
463                "target": {
464                    "description": "Link to invoke action",
465                    "format": "uri-reference",
466                    "type": "string"
467                },
468                "title": {
469                    "description": "Friendly action name",
470                    "type": "string"
471                }
472            },
473            "type": "object"
474        }
475    },
476    "owningEntity": "DMTF",
477    "release": "2025.2",
478    "title": "#AutomationNode.v1_0_0.AutomationNode"
479}