1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/RegisteredClient.v1_1_2.json",
3    "$ref": "#/definitions/RegisteredClient",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2024 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                "Oem": {
27                    "$ref": "#/definitions/OemActions",
28                    "description": "The available OEM-specific actions for this resource.",
29                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
30                }
31            },
32            "type": "object"
33        },
34        "ClientType": {
35            "enum": [
36                "Monitor",
37                "Configure"
38            ],
39            "enumDescriptions": {
40                "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                "Monitor": "The registered client only performs read operations on this service."
42            },
43            "type": "string"
44        },
45        "ManagedResource": {
46            "additionalProperties": false,
47            "description": "A resource managed by a client.",
48            "longDescription": "This object shall contain information about a resource managed by a client.  The managed resource may specify subordinate resources.",
49            "patternProperties": {
50                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
51                    "description": "This property shall specify a valid odata or Redfish property.",
52                    "type": [
53                        "array",
54                        "boolean",
55                        "integer",
56                        "number",
57                        "null",
58                        "object",
59                        "string"
60                    ]
61                }
62            },
63            "properties": {
64                "IncludesSubordinates": {
65                    "description": "Indicates whether the subordinate resources of the managed resource are also managed by the registered client.",
66                    "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                    "readonly": false,
68                    "type": [
69                        "boolean",
70                        "null"
71                    ]
72                },
73                "ManagedResourceURI": {
74                    "description": "The URI of the resource or resource collection managed by the registered client.",
75                    "format": "uri-reference",
76                    "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                    "readonly": false,
78                    "type": [
79                        "string",
80                        "null"
81                    ]
82                },
83                "PreferExclusive": {
84                    "description": "Indicates whether the registered client expects to have exclusive access to the managed resource.",
85                    "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                    "readonly": false,
87                    "type": [
88                        "boolean",
89                        "null"
90                    ]
91                }
92            },
93            "type": "object"
94        },
95        "OemActions": {
96            "additionalProperties": true,
97            "description": "The available OEM-specific actions for this resource.",
98            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
99            "patternProperties": {
100                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
101                    "description": "This property shall specify a valid odata or Redfish property.",
102                    "type": [
103                        "array",
104                        "boolean",
105                        "integer",
106                        "number",
107                        "null",
108                        "object",
109                        "string"
110                    ]
111                }
112            },
113            "properties": {},
114            "type": "object"
115        },
116        "RegisteredClient": {
117            "additionalProperties": false,
118            "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            "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            "patternProperties": {
121                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
122                    "description": "This property shall specify a valid odata or Redfish property.",
123                    "type": [
124                        "array",
125                        "boolean",
126                        "integer",
127                        "number",
128                        "null",
129                        "object",
130                        "string"
131                    ]
132                }
133            },
134            "properties": {
135                "@odata.context": {
136                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
137                },
138                "@odata.etag": {
139                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
140                },
141                "@odata.id": {
142                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
143                },
144                "@odata.type": {
145                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
146                },
147                "Actions": {
148                    "$ref": "#/definitions/Actions",
149                    "description": "The available actions for this resource.",
150                    "longDescription": "This property shall contain the available actions for this resource."
151                },
152                "ClientType": {
153                    "$ref": "#/definitions/ClientType",
154                    "description": "The type of registered client.",
155                    "longDescription": "This property shall contain the type of registered client.",
156                    "readonly": false
157                },
158                "ClientURI": {
159                    "description": "The URI of the registered client.",
160                    "format": "uri-reference",
161                    "longDescription": "This property shall contain the URI of the registered client.",
162                    "readonly": false,
163                    "type": "string"
164                },
165                "Context": {
166                    "description": "A client-supplied data for providing context for its own use.",
167                    "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                    "readonly": false,
169                    "type": "string",
170                    "versionAdded": "v1_1_0"
171                },
172                "CreatedDate": {
173                    "description": "The date and time when the client entry was created.",
174                    "format": "date-time",
175                    "longDescription": "This property shall contain the date and time when the client entry was created.",
176                    "readonly": true,
177                    "type": "string"
178                },
179                "Description": {
180                    "anyOf": [
181                        {
182                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
183                        },
184                        {
185                            "type": "null"
186                        }
187                    ],
188                    "readonly": true
189                },
190                "ExpirationDate": {
191                    "description": "The date and time when the client entry will expire.",
192                    "format": "date-time",
193                    "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                    "readonly": false,
195                    "type": "string"
196                },
197                "Id": {
198                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
199                    "readonly": true
200                },
201                "ManagedResources": {
202                    "description": "An array of resources that the registered client monitors or configures.",
203                    "items": {
204                        "anyOf": [
205                            {
206                                "$ref": "#/definitions/ManagedResource"
207                            },
208                            {
209                                "type": "null"
210                            }
211                        ]
212                    },
213                    "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                    "type": "array"
215                },
216                "Name": {
217                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
218                    "readonly": true
219                },
220                "Oem": {
221                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
222                    "description": "The OEM extension property.",
223                    "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                },
225                "SubContext": {
226                    "description": "Additional client-supplied data for providing contextual information for its own use.",
227                    "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                    "readonly": false,
229                    "type": "string",
230                    "versionAdded": "v1_1_0"
231                }
232            },
233            "required": [
234                "ClientType",
235                "@odata.id",
236                "@odata.type",
237                "Id",
238                "Name"
239            ],
240            "requiredOnCreate": [
241                "ClientType"
242            ],
243            "type": "object"
244        }
245    },
246    "language": "en",
247    "owningEntity": "DMTF",
248    "release": "2023.1",
249    "title": "#RegisteredClient.v1_1_2.RegisteredClient"
250}