xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/RegisteredClient.v1_1_2.json (revision f2a8e57ede74a8252100b2281e3f4d170aa69391)
1*f2a8e57eSGunnar Mills{
2*f2a8e57eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/RegisteredClient.v1_1_2.json",
3*f2a8e57eSGunnar Mills    "$ref": "#/definitions/RegisteredClient",
4*f2a8e57eSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*f2a8e57eSGunnar Mills    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*f2a8e57eSGunnar Mills    "definitions": {
7*f2a8e57eSGunnar Mills        "Actions": {
8*f2a8e57eSGunnar Mills            "additionalProperties": false,
9*f2a8e57eSGunnar Mills            "description": "The available actions for this resource.",
10*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11*f2a8e57eSGunnar Mills            "patternProperties": {
12*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14*f2a8e57eSGunnar Mills                    "type": [
15*f2a8e57eSGunnar Mills                        "array",
16*f2a8e57eSGunnar Mills                        "boolean",
17*f2a8e57eSGunnar Mills                        "integer",
18*f2a8e57eSGunnar Mills                        "number",
19*f2a8e57eSGunnar Mills                        "null",
20*f2a8e57eSGunnar Mills                        "object",
21*f2a8e57eSGunnar Mills                        "string"
22*f2a8e57eSGunnar Mills                    ]
23*f2a8e57eSGunnar Mills                }
24*f2a8e57eSGunnar Mills            },
25*f2a8e57eSGunnar Mills            "properties": {
26*f2a8e57eSGunnar Mills                "Oem": {
27*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/OemActions",
28*f2a8e57eSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
29*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
30*f2a8e57eSGunnar Mills                }
31*f2a8e57eSGunnar Mills            },
32*f2a8e57eSGunnar Mills            "type": "object"
33*f2a8e57eSGunnar Mills        },
34*f2a8e57eSGunnar Mills        "ClientType": {
35*f2a8e57eSGunnar Mills            "enum": [
36*f2a8e57eSGunnar Mills                "Monitor",
37*f2a8e57eSGunnar Mills                "Configure"
38*f2a8e57eSGunnar Mills            ],
39*f2a8e57eSGunnar Mills            "enumDescriptions": {
40*f2a8e57eSGunnar Mills                "Configure": "The registered client performs update, create, and delete operations on the resources listed in the `ManagedResources` property as well as read operations on the service.",
41*f2a8e57eSGunnar Mills                "Monitor": "The registered client only performs read operations on this service."
42*f2a8e57eSGunnar Mills            },
43*f2a8e57eSGunnar Mills            "type": "string"
44*f2a8e57eSGunnar Mills        },
45*f2a8e57eSGunnar Mills        "ManagedResource": {
46*f2a8e57eSGunnar Mills            "additionalProperties": false,
47*f2a8e57eSGunnar Mills            "description": "A resource managed by a client.",
48*f2a8e57eSGunnar Mills            "longDescription": "This object shall contain information about a resource managed by a client.  The managed resource may specify subordinate resources.",
49*f2a8e57eSGunnar Mills            "patternProperties": {
50*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
51*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
52*f2a8e57eSGunnar Mills                    "type": [
53*f2a8e57eSGunnar Mills                        "array",
54*f2a8e57eSGunnar Mills                        "boolean",
55*f2a8e57eSGunnar Mills                        "integer",
56*f2a8e57eSGunnar Mills                        "number",
57*f2a8e57eSGunnar Mills                        "null",
58*f2a8e57eSGunnar Mills                        "object",
59*f2a8e57eSGunnar Mills                        "string"
60*f2a8e57eSGunnar Mills                    ]
61*f2a8e57eSGunnar Mills                }
62*f2a8e57eSGunnar Mills            },
63*f2a8e57eSGunnar Mills            "properties": {
64*f2a8e57eSGunnar Mills                "IncludesSubordinates": {
65*f2a8e57eSGunnar Mills                    "description": "Indicates whether the subordinate resources of the managed resource are also managed by the registered client.",
66*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether the subordinate resources of the managed resource referenced by the `ManagedResourceURI` property are also managed by the registered client.  If not specified, the value is assumed to be `false` unless `ManagedResourceURI` references a resource collection.",
67*f2a8e57eSGunnar Mills                    "readonly": false,
68*f2a8e57eSGunnar Mills                    "type": [
69*f2a8e57eSGunnar Mills                        "boolean",
70*f2a8e57eSGunnar Mills                        "null"
71*f2a8e57eSGunnar Mills                    ]
72*f2a8e57eSGunnar Mills                },
73*f2a8e57eSGunnar Mills                "ManagedResourceURI": {
74*f2a8e57eSGunnar Mills                    "description": "The URI of the resource or resource collection managed by the registered client.",
75*f2a8e57eSGunnar Mills                    "format": "uri-reference",
76*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the URI of the Redfish resource or Redfish resource collection managed by the registered client.  When the URI references a resource collection, all members of the resource collection may be monitored or configured by the client, and the `IncludesSubordinates` property shall contain `true`.",
77*f2a8e57eSGunnar Mills                    "readonly": false,
78*f2a8e57eSGunnar Mills                    "type": [
79*f2a8e57eSGunnar Mills                        "string",
80*f2a8e57eSGunnar Mills                        "null"
81*f2a8e57eSGunnar Mills                    ]
82*f2a8e57eSGunnar Mills                },
83*f2a8e57eSGunnar Mills                "PreferExclusive": {
84*f2a8e57eSGunnar Mills                    "description": "Indicates whether the registered client expects to have exclusive access to the managed resource.",
85*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether the registered client expects to have exclusive access to the managed resource referenced by the `ManagedResourceURI` property, and also its subordinate resources if `IncludesSubordinates` contains `true`.  If not specified, the value is assumed to be `false`.",
86*f2a8e57eSGunnar Mills                    "readonly": false,
87*f2a8e57eSGunnar Mills                    "type": [
88*f2a8e57eSGunnar Mills                        "boolean",
89*f2a8e57eSGunnar Mills                        "null"
90*f2a8e57eSGunnar Mills                    ]
91*f2a8e57eSGunnar Mills                }
92*f2a8e57eSGunnar Mills            },
93*f2a8e57eSGunnar Mills            "type": "object"
94*f2a8e57eSGunnar Mills        },
95*f2a8e57eSGunnar Mills        "OemActions": {
96*f2a8e57eSGunnar Mills            "additionalProperties": true,
97*f2a8e57eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
98*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
99*f2a8e57eSGunnar Mills            "patternProperties": {
100*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
101*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
102*f2a8e57eSGunnar Mills                    "type": [
103*f2a8e57eSGunnar Mills                        "array",
104*f2a8e57eSGunnar Mills                        "boolean",
105*f2a8e57eSGunnar Mills                        "integer",
106*f2a8e57eSGunnar Mills                        "number",
107*f2a8e57eSGunnar Mills                        "null",
108*f2a8e57eSGunnar Mills                        "object",
109*f2a8e57eSGunnar Mills                        "string"
110*f2a8e57eSGunnar Mills                    ]
111*f2a8e57eSGunnar Mills                }
112*f2a8e57eSGunnar Mills            },
113*f2a8e57eSGunnar Mills            "properties": {},
114*f2a8e57eSGunnar Mills            "type": "object"
115*f2a8e57eSGunnar Mills        },
116*f2a8e57eSGunnar Mills        "RegisteredClient": {
117*f2a8e57eSGunnar Mills            "additionalProperties": false,
118*f2a8e57eSGunnar Mills            "description": "The `RegisteredClient` schema defines the record format for a registered client.  It is designed to allow well-behaved clients to register with a Redfish service such that other clients are aware the service might be configured or monitored by the client.",
119*f2a8e57eSGunnar Mills            "longDescription": "This resource shall represent a registered client for a Redfish implementation.  It is not expected that transient tools, such as a short-lived CLI tool, register.  Clients and management tools that live for long periods of time can create `RegisteredClient` resources so that other clients are aware the service might be configured or monitored by the client.",
120*f2a8e57eSGunnar Mills            "patternProperties": {
121*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
122*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
123*f2a8e57eSGunnar Mills                    "type": [
124*f2a8e57eSGunnar Mills                        "array",
125*f2a8e57eSGunnar Mills                        "boolean",
126*f2a8e57eSGunnar Mills                        "integer",
127*f2a8e57eSGunnar Mills                        "number",
128*f2a8e57eSGunnar Mills                        "null",
129*f2a8e57eSGunnar Mills                        "object",
130*f2a8e57eSGunnar Mills                        "string"
131*f2a8e57eSGunnar Mills                    ]
132*f2a8e57eSGunnar Mills                }
133*f2a8e57eSGunnar Mills            },
134*f2a8e57eSGunnar Mills            "properties": {
135*f2a8e57eSGunnar Mills                "@odata.context": {
136*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
137*f2a8e57eSGunnar Mills                },
138*f2a8e57eSGunnar Mills                "@odata.etag": {
139*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
140*f2a8e57eSGunnar Mills                },
141*f2a8e57eSGunnar Mills                "@odata.id": {
142*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
143*f2a8e57eSGunnar Mills                },
144*f2a8e57eSGunnar Mills                "@odata.type": {
145*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
146*f2a8e57eSGunnar Mills                },
147*f2a8e57eSGunnar Mills                "Actions": {
148*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Actions",
149*f2a8e57eSGunnar Mills                    "description": "The available actions for this resource.",
150*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
151*f2a8e57eSGunnar Mills                },
152*f2a8e57eSGunnar Mills                "ClientType": {
153*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/ClientType",
154*f2a8e57eSGunnar Mills                    "description": "The type of registered client.",
155*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the type of registered client.",
156*f2a8e57eSGunnar Mills                    "readonly": false
157*f2a8e57eSGunnar Mills                },
158*f2a8e57eSGunnar Mills                "ClientURI": {
159*f2a8e57eSGunnar Mills                    "description": "The URI of the registered client.",
160*f2a8e57eSGunnar Mills                    "format": "uri-reference",
161*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the URI of the registered client.",
162*f2a8e57eSGunnar Mills                    "readonly": false,
163*f2a8e57eSGunnar Mills                    "type": "string"
164*f2a8e57eSGunnar Mills                },
165*f2a8e57eSGunnar Mills                "Context": {
166*f2a8e57eSGunnar Mills                    "description": "A client-supplied data for providing context for its own use.",
167*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain data provided by the owning client used to identify the service, provide context about its state, or other information.  The value of this property shall not contain unencrypted sensitive data such as user credentials.  Services shall support values of at least 256 bytes in length.",
168*f2a8e57eSGunnar Mills                    "readonly": false,
169*f2a8e57eSGunnar Mills                    "type": "string",
170*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
171*f2a8e57eSGunnar Mills                },
172*f2a8e57eSGunnar Mills                "CreatedDate": {
173*f2a8e57eSGunnar Mills                    "description": "The date and time when the client entry was created.",
174*f2a8e57eSGunnar Mills                    "format": "date-time",
175*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the date and time when the client entry was created.",
176*f2a8e57eSGunnar Mills                    "readonly": true,
177*f2a8e57eSGunnar Mills                    "type": "string"
178*f2a8e57eSGunnar Mills                },
179*f2a8e57eSGunnar Mills                "Description": {
180*f2a8e57eSGunnar Mills                    "anyOf": [
181*f2a8e57eSGunnar Mills                        {
182*f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
183*f2a8e57eSGunnar Mills                        },
184*f2a8e57eSGunnar Mills                        {
185*f2a8e57eSGunnar Mills                            "type": "null"
186*f2a8e57eSGunnar Mills                        }
187*f2a8e57eSGunnar Mills                    ],
188*f2a8e57eSGunnar Mills                    "readonly": true
189*f2a8e57eSGunnar Mills                },
190*f2a8e57eSGunnar Mills                "ExpirationDate": {
191*f2a8e57eSGunnar Mills                    "description": "The date and time when the client entry will expire.",
192*f2a8e57eSGunnar Mills                    "format": "date-time",
193*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the date and time when the client entry expires.  Registered clients that are actively managing or monitoring should periodically update this value.  The value should not be more than 7 days after the date when it was last set.  If the current date is beyond this date, the service may delete this client entry.",
194*f2a8e57eSGunnar Mills                    "readonly": false,
195*f2a8e57eSGunnar Mills                    "type": "string"
196*f2a8e57eSGunnar Mills                },
197*f2a8e57eSGunnar Mills                "Id": {
198*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
199*f2a8e57eSGunnar Mills                    "readonly": true
200*f2a8e57eSGunnar Mills                },
201*f2a8e57eSGunnar Mills                "ManagedResources": {
202*f2a8e57eSGunnar Mills                    "description": "An array of resources that the registered client monitors or configures.",
203*f2a8e57eSGunnar Mills                    "items": {
204*f2a8e57eSGunnar Mills                        "anyOf": [
205*f2a8e57eSGunnar Mills                            {
206*f2a8e57eSGunnar Mills                                "$ref": "#/definitions/ManagedResource"
207*f2a8e57eSGunnar Mills                            },
208*f2a8e57eSGunnar Mills                            {
209*f2a8e57eSGunnar Mills                                "type": "null"
210*f2a8e57eSGunnar Mills                            }
211*f2a8e57eSGunnar Mills                        ]
212*f2a8e57eSGunnar Mills                    },
213*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of resources that the registered client monitors or configures.  Other clients can use this property to understand which resources are monitored or configured by the registered client.",
214*f2a8e57eSGunnar Mills                    "type": "array"
215*f2a8e57eSGunnar Mills                },
216*f2a8e57eSGunnar Mills                "Name": {
217*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
218*f2a8e57eSGunnar Mills                    "readonly": true
219*f2a8e57eSGunnar Mills                },
220*f2a8e57eSGunnar Mills                "Oem": {
221*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
222*f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
223*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
224*f2a8e57eSGunnar Mills                },
225*f2a8e57eSGunnar Mills                "SubContext": {
226*f2a8e57eSGunnar Mills                    "description": "Additional client-supplied data for providing contextual information for its own use.",
227*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain additional data provided by the owning client used to identify the service, provide context about its state, or other information.  The value of this property shall not contain unencrypted sensitive data such as user credentials.  Services shall support values of at least 256 bytes in length.",
228*f2a8e57eSGunnar Mills                    "readonly": false,
229*f2a8e57eSGunnar Mills                    "type": "string",
230*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
231*f2a8e57eSGunnar Mills                }
232*f2a8e57eSGunnar Mills            },
233*f2a8e57eSGunnar Mills            "required": [
234*f2a8e57eSGunnar Mills                "ClientType",
235*f2a8e57eSGunnar Mills                "@odata.id",
236*f2a8e57eSGunnar Mills                "@odata.type",
237*f2a8e57eSGunnar Mills                "Id",
238*f2a8e57eSGunnar Mills                "Name"
239*f2a8e57eSGunnar Mills            ],
240*f2a8e57eSGunnar Mills            "requiredOnCreate": [
241*f2a8e57eSGunnar Mills                "ClientType"
242*f2a8e57eSGunnar Mills            ],
243*f2a8e57eSGunnar Mills            "type": "object"
244*f2a8e57eSGunnar Mills        }
245*f2a8e57eSGunnar Mills    },
246*f2a8e57eSGunnar Mills    "language": "en",
247*f2a8e57eSGunnar Mills    "owningEntity": "DMTF",
248*f2a8e57eSGunnar Mills    "release": "2023.1",
249*f2a8e57eSGunnar Mills    "title": "#RegisteredClient.v1_1_2.RegisteredClient"
250*f2a8e57eSGunnar Mills}