1c6d7a45dSGunnar Mills{
2c6d7a45dSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/AggregationSource.v1_5_0.json",
3c6d7a45dSGunnar Mills    "$ref": "#/definitions/AggregationSource",
4c6d7a45dSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5c6d7a45dSGunnar Mills    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6c6d7a45dSGunnar Mills    "definitions": {
7c6d7a45dSGunnar Mills        "Actions": {
8c6d7a45dSGunnar Mills            "additionalProperties": false,
9c6d7a45dSGunnar Mills            "description": "The available actions for this resource.",
10c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11c6d7a45dSGunnar Mills            "patternProperties": {
12c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14c6d7a45dSGunnar Mills                    "type": [
15c6d7a45dSGunnar Mills                        "array",
16c6d7a45dSGunnar Mills                        "boolean",
17c6d7a45dSGunnar Mills                        "integer",
18c6d7a45dSGunnar Mills                        "number",
19c6d7a45dSGunnar Mills                        "null",
20c6d7a45dSGunnar Mills                        "object",
21c6d7a45dSGunnar Mills                        "string"
22c6d7a45dSGunnar Mills                    ]
23c6d7a45dSGunnar Mills                }
24c6d7a45dSGunnar Mills            },
25c6d7a45dSGunnar Mills            "properties": {
26c6d7a45dSGunnar Mills                "#AggregationSource.GenerateSSHIdentityKeyPair": {
27c6d7a45dSGunnar Mills                    "$ref": "#/definitions/GenerateSSHIdentityKeyPair"
28c6d7a45dSGunnar Mills                },
29c6d7a45dSGunnar Mills                "#AggregationSource.RemoveSSHIdentityKeyPair": {
30c6d7a45dSGunnar Mills                    "$ref": "#/definitions/RemoveSSHIdentityKeyPair"
31c6d7a45dSGunnar Mills                },
32c6d7a45dSGunnar Mills                "Oem": {
33c6d7a45dSGunnar Mills                    "$ref": "#/definitions/OemActions",
34c6d7a45dSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
35c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
36c6d7a45dSGunnar Mills                }
37c6d7a45dSGunnar Mills            },
38c6d7a45dSGunnar Mills            "type": "object"
39c6d7a45dSGunnar Mills        },
40c6d7a45dSGunnar Mills        "AggregationSource": {
41c6d7a45dSGunnar Mills            "additionalProperties": false,
42c6d7a45dSGunnar Mills            "description": "The `AggregationSource` schema is used to represent the source of information for a subset of the resources provided by a Redfish service.  It can be thought of as a provider of information.  As such, most such interfaces have requirements to support the gathering of information like address and account used to access the information.",
43c6d7a45dSGunnar Mills            "longDescription": "This resource shall represent an aggregation source for a Redfish implementation.",
44c6d7a45dSGunnar Mills            "patternProperties": {
45c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
46c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
47c6d7a45dSGunnar Mills                    "type": [
48c6d7a45dSGunnar Mills                        "array",
49c6d7a45dSGunnar Mills                        "boolean",
50c6d7a45dSGunnar Mills                        "integer",
51c6d7a45dSGunnar Mills                        "number",
52c6d7a45dSGunnar Mills                        "null",
53c6d7a45dSGunnar Mills                        "object",
54c6d7a45dSGunnar Mills                        "string"
55c6d7a45dSGunnar Mills                    ]
56c6d7a45dSGunnar Mills                }
57c6d7a45dSGunnar Mills            },
58c6d7a45dSGunnar Mills            "properties": {
59c6d7a45dSGunnar Mills                "@odata.context": {
60c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
61c6d7a45dSGunnar Mills                },
62c6d7a45dSGunnar Mills                "@odata.etag": {
63c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
64c6d7a45dSGunnar Mills                },
65c6d7a45dSGunnar Mills                "@odata.id": {
66c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
67c6d7a45dSGunnar Mills                },
68c6d7a45dSGunnar Mills                "@odata.type": {
69c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
70c6d7a45dSGunnar Mills                },
71c6d7a45dSGunnar Mills                "Actions": {
72c6d7a45dSGunnar Mills                    "$ref": "#/definitions/Actions",
73c6d7a45dSGunnar Mills                    "description": "The available actions for this resource.",
74c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
75c6d7a45dSGunnar Mills                },
76c6d7a45dSGunnar Mills                "AggregationType": {
77c6d7a45dSGunnar Mills                    "$ref": "#/definitions/AggregationType",
78c6d7a45dSGunnar Mills                    "description": "The type of aggregation used towards the aggregation source.",
79c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the type of aggregation used for the connection method towards the aggregation source.  If this property is not present, the value shall be assumed to be `Full`.",
80c6d7a45dSGunnar Mills                    "readonly": false,
81c6d7a45dSGunnar Mills                    "versionAdded": "v1_2_0"
82c6d7a45dSGunnar Mills                },
83c6d7a45dSGunnar Mills                "Description": {
84c6d7a45dSGunnar Mills                    "anyOf": [
85c6d7a45dSGunnar Mills                        {
86c6d7a45dSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
87c6d7a45dSGunnar Mills                        },
88c6d7a45dSGunnar Mills                        {
89c6d7a45dSGunnar Mills                            "type": "null"
90c6d7a45dSGunnar Mills                        }
91c6d7a45dSGunnar Mills                    ],
92c6d7a45dSGunnar Mills                    "readonly": true
93c6d7a45dSGunnar Mills                },
94c6d7a45dSGunnar Mills                "HostName": {
95c6d7a45dSGunnar Mills                    "description": "The URI of the system to be accessed.",
96c6d7a45dSGunnar Mills                    "format": "uri-reference",
97c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the URI of the system to be aggregated.  This property shall not be required when the aggregation source is configured to only receive notifications from the aggregated system and the `AggregationType` property contains the value `NotificationsOnly`.",
98c6d7a45dSGunnar Mills                    "readonly": false,
99c6d7a45dSGunnar Mills                    "type": [
100c6d7a45dSGunnar Mills                        "string",
101c6d7a45dSGunnar Mills                        "null"
102c6d7a45dSGunnar Mills                    ]
103c6d7a45dSGunnar Mills                },
104c6d7a45dSGunnar Mills                "Id": {
105c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
106c6d7a45dSGunnar Mills                    "readonly": true
107c6d7a45dSGunnar Mills                },
108c6d7a45dSGunnar Mills                "Links": {
109c6d7a45dSGunnar Mills                    "$ref": "#/definitions/Links",
110c6d7a45dSGunnar Mills                    "description": "The links to other resources that are related to this resource.",
111c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
112c6d7a45dSGunnar Mills                },
113c6d7a45dSGunnar Mills                "ModbusTargetServerId": {
114c6d7a45dSGunnar Mills                    "description": "The Modbus identifier of this aggregation source.",
115c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the Modbus identifier of this aggregation source.",
116c6d7a45dSGunnar Mills                    "readonly": false,
117c6d7a45dSGunnar Mills                    "type": [
118c6d7a45dSGunnar Mills                        "integer",
119c6d7a45dSGunnar Mills                        "null"
120c6d7a45dSGunnar Mills                    ],
121c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
122c6d7a45dSGunnar Mills                },
123c6d7a45dSGunnar Mills                "Name": {
124c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
125c6d7a45dSGunnar Mills                    "readonly": true
126c6d7a45dSGunnar Mills                },
127c6d7a45dSGunnar Mills                "Oem": {
128c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
129c6d7a45dSGunnar Mills                    "description": "The OEM extension property.",
130c6d7a45dSGunnar 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."
131c6d7a45dSGunnar Mills                },
132c6d7a45dSGunnar Mills                "Password": {
133c6d7a45dSGunnar Mills                    "description": "The password for accessing the aggregation source.  The value is `null` in responses.",
134c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a password for accessing the aggregation source.  The value shall be `null` in responses.",
135c6d7a45dSGunnar Mills                    "readonly": false,
136c6d7a45dSGunnar Mills                    "type": [
137c6d7a45dSGunnar Mills                        "string",
138c6d7a45dSGunnar Mills                        "null"
139c6d7a45dSGunnar Mills                    ],
140c6d7a45dSGunnar Mills                    "writeOnly": true
141c6d7a45dSGunnar Mills                },
142c6d7a45dSGunnar Mills                "Port": {
143c6d7a45dSGunnar Mills                    "description": "The network port.",
144c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the network port used to connect to this aggregation source.",
145c6d7a45dSGunnar Mills                    "minimum": 0,
146c6d7a45dSGunnar Mills                    "readonly": false,
147c6d7a45dSGunnar Mills                    "type": [
148c6d7a45dSGunnar Mills                        "integer",
149c6d7a45dSGunnar Mills                        "null"
150c6d7a45dSGunnar Mills                    ],
151c6d7a45dSGunnar Mills                    "versionAdded": "v1_5_0"
152c6d7a45dSGunnar Mills                },
153c6d7a45dSGunnar Mills                "SNMP": {
154c6d7a45dSGunnar Mills                    "$ref": "#/definitions/SNMPSettings",
155c6d7a45dSGunnar Mills                    "description": "SNMP settings of the aggregation source.",
156c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the SNMP settings of the aggregation source.",
157c6d7a45dSGunnar Mills                    "versionAdded": "v1_1_0"
158c6d7a45dSGunnar Mills                },
159c6d7a45dSGunnar Mills                "SSHSettings": {
160c6d7a45dSGunnar Mills                    "$ref": "#/definitions/SSHSettingsType",
161c6d7a45dSGunnar Mills                    "description": "Settings for an aggregation source using SSH as part of the associated connection method.",
162c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the settings for an aggregation source using SSH as part of the associated connection method.",
163c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0"
164c6d7a45dSGunnar Mills                },
165c6d7a45dSGunnar Mills                "Status": {
166c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
167c6d7a45dSGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
168c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource.",
169c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0"
170c6d7a45dSGunnar Mills                },
171c6d7a45dSGunnar Mills                "UserName": {
172c6d7a45dSGunnar Mills                    "description": "The username for accessing the aggregation source.",
173c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the username for accessing the aggregation source.",
174c6d7a45dSGunnar Mills                    "readonly": false,
175c6d7a45dSGunnar Mills                    "type": [
176c6d7a45dSGunnar Mills                        "string",
177c6d7a45dSGunnar Mills                        "null"
178c6d7a45dSGunnar Mills                    ]
179c6d7a45dSGunnar Mills                }
180c6d7a45dSGunnar Mills            },
181c6d7a45dSGunnar Mills            "required": [
182c6d7a45dSGunnar Mills                "@odata.id",
183c6d7a45dSGunnar Mills                "@odata.type",
184c6d7a45dSGunnar Mills                "Id",
185c6d7a45dSGunnar Mills                "Name"
186c6d7a45dSGunnar Mills            ],
187c6d7a45dSGunnar Mills            "type": "object"
188c6d7a45dSGunnar Mills        },
189c6d7a45dSGunnar Mills        "AggregationType": {
190c6d7a45dSGunnar Mills            "enum": [
191c6d7a45dSGunnar Mills                "NotificationsOnly",
192c6d7a45dSGunnar Mills                "Full"
193c6d7a45dSGunnar Mills            ],
194c6d7a45dSGunnar Mills            "enumDescriptions": {
195c6d7a45dSGunnar Mills                "Full": "Full aggregation according to connection method.",
196c6d7a45dSGunnar Mills                "NotificationsOnly": "Only notifications are aggregated."
197c6d7a45dSGunnar Mills            },
198c6d7a45dSGunnar Mills            "enumLongDescriptions": {
199c6d7a45dSGunnar Mills                "Full": "This value shall indicate that the aggregator is performing full aggregation according to the connection method without any limitation such as only receiving notifications.",
200c6d7a45dSGunnar Mills                "NotificationsOnly": "This value shall indicate that the aggregator is only aggregating notifications or events from the aggregation source according to the connection method used.  This value shall not be used with connection methods that do not include notifications."
201c6d7a45dSGunnar Mills            },
202c6d7a45dSGunnar Mills            "type": "string"
203c6d7a45dSGunnar Mills        },
204c6d7a45dSGunnar Mills        "GenerateSSHIdentityKeyPair": {
205c6d7a45dSGunnar Mills            "additionalProperties": false,
206c6d7a45dSGunnar Mills            "description": "This action generates a new SSH identity key-pair to be used with this aggregation source.  The generated public key is stored in the `Key` resource referenced by the `PublicIdentityKey` property in `SSHSettings`.  Any existing key-pair is deleted and replaced by the new key-pair.",
207c6d7a45dSGunnar Mills            "longDescription": "This action shall generate a new SSH identity key-pair to be used with this aggregation source.  The service shall store the generated public key in the `Key` resource referenced by the `PublicIdentityKey` property in `SSHSettings`.  If the aggregation source already has an associated SSH identity key-pair, the service shall delete the key-pair and replace it with the new key-pair.",
208c6d7a45dSGunnar Mills            "parameters": {
209c6d7a45dSGunnar Mills                "Curve": {
210c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Key.json#/definitions/ECDSACurveType",
211c6d7a45dSGunnar Mills                    "description": "The curve to use with the SSH key if the KeyType parameter contains `ECDSA`.",
212c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the curve to use with the SSH key.  This parameter shall be required if the `KeyType` parameter contains `ECDSA` and shall be rejected for other values."
213c6d7a45dSGunnar Mills                },
214c6d7a45dSGunnar Mills                "KeyLength": {
215c6d7a45dSGunnar Mills                    "description": "The length of the SSH key, in bits, if the KeyType parameter contains `RSA`.",
216c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the length of the SSH key, in bits.  This parameter shall be required if the `KeyType` parameter contains `RSA` and shall be rejected for other values.",
217c6d7a45dSGunnar Mills                    "type": "integer"
218c6d7a45dSGunnar Mills                },
219c6d7a45dSGunnar Mills                "KeyType": {
220c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Key.json#/definitions/SSHKeyType",
221c6d7a45dSGunnar Mills                    "description": "The type of SSH key.",
222c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the type of SSH key.",
223c6d7a45dSGunnar Mills                    "requiredParameter": true
224c6d7a45dSGunnar Mills                }
225c6d7a45dSGunnar Mills            },
226c6d7a45dSGunnar Mills            "patternProperties": {
227c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
228c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
229c6d7a45dSGunnar Mills                    "type": [
230c6d7a45dSGunnar Mills                        "array",
231c6d7a45dSGunnar Mills                        "boolean",
232c6d7a45dSGunnar Mills                        "integer",
233c6d7a45dSGunnar Mills                        "number",
234c6d7a45dSGunnar Mills                        "null",
235c6d7a45dSGunnar Mills                        "object",
236c6d7a45dSGunnar Mills                        "string"
237c6d7a45dSGunnar Mills                    ]
238c6d7a45dSGunnar Mills                }
239c6d7a45dSGunnar Mills            },
240c6d7a45dSGunnar Mills            "properties": {
241c6d7a45dSGunnar Mills                "target": {
242c6d7a45dSGunnar Mills                    "description": "Link to invoke action",
243c6d7a45dSGunnar Mills                    "format": "uri-reference",
244c6d7a45dSGunnar Mills                    "type": "string"
245c6d7a45dSGunnar Mills                },
246c6d7a45dSGunnar Mills                "title": {
247c6d7a45dSGunnar Mills                    "description": "Friendly action name",
248c6d7a45dSGunnar Mills                    "type": "string"
249c6d7a45dSGunnar Mills                }
250c6d7a45dSGunnar Mills            },
251c6d7a45dSGunnar Mills            "type": "object",
252c6d7a45dSGunnar Mills            "versionAdded": "v1_3_0"
253c6d7a45dSGunnar Mills        },
254c6d7a45dSGunnar Mills        "Links": {
255c6d7a45dSGunnar Mills            "additionalProperties": false,
256c6d7a45dSGunnar Mills            "description": "The links to other resources that are related to this resource.",
257c6d7a45dSGunnar Mills            "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.",
258c6d7a45dSGunnar Mills            "patternProperties": {
259c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
260c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
261c6d7a45dSGunnar Mills                    "type": [
262c6d7a45dSGunnar Mills                        "array",
263c6d7a45dSGunnar Mills                        "boolean",
264c6d7a45dSGunnar Mills                        "integer",
265c6d7a45dSGunnar Mills                        "number",
266c6d7a45dSGunnar Mills                        "null",
267c6d7a45dSGunnar Mills                        "object",
268c6d7a45dSGunnar Mills                        "string"
269c6d7a45dSGunnar Mills                    ]
270c6d7a45dSGunnar Mills                }
271c6d7a45dSGunnar Mills            },
272c6d7a45dSGunnar Mills            "properties": {
273c6d7a45dSGunnar Mills                "ConnectionMethod": {
274c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/ConnectionMethod.json#/definitions/ConnectionMethod",
275c6d7a45dSGunnar Mills                    "description": "A link to the connection method used to contact this aggregation source.",
276c6d7a45dSGunnar Mills                    "longDescription": "This property shall a link to a resource of type `ConnectionMethod` that represents the method used to connect to the aggregation source.",
277c6d7a45dSGunnar Mills                    "readonly": true
278c6d7a45dSGunnar Mills                },
279c6d7a45dSGunnar Mills                "Oem": {
280c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
281c6d7a45dSGunnar Mills                    "description": "The OEM extension property.",
282c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
283c6d7a45dSGunnar Mills                },
284c6d7a45dSGunnar Mills                "ResourcesAccessed": {
285c6d7a45dSGunnar Mills                    "description": "An array links to the resources added to the service through this aggregation source.  It is recommended that this be the minimal number of properties needed to find the resources that would be lost when the aggregation source is deleted.",
286c6d7a45dSGunnar Mills                    "items": {
287c6d7a45dSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Resource"
288c6d7a45dSGunnar Mills                    },
289c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of links to the resources added to the service through the aggregation source.  It is recommended that this be the minimal number of properties needed to find the resources that would be lost when the aggregation source is deleted.  For example, this could be the pointers to the members of the root-level collections or the manager of a BMC.",
290c6d7a45dSGunnar Mills                    "readonly": true,
291c6d7a45dSGunnar Mills                    "type": "array"
292c6d7a45dSGunnar Mills                },
293c6d7a45dSGunnar Mills                "ResourcesAccessed@odata.count": {
294c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
295c6d7a45dSGunnar Mills                }
296c6d7a45dSGunnar Mills            },
297c6d7a45dSGunnar Mills            "type": "object"
298c6d7a45dSGunnar Mills        },
299c6d7a45dSGunnar Mills        "OemActions": {
300c6d7a45dSGunnar Mills            "additionalProperties": true,
301c6d7a45dSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
302c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
303c6d7a45dSGunnar Mills            "patternProperties": {
304c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
305c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
306c6d7a45dSGunnar Mills                    "type": [
307c6d7a45dSGunnar Mills                        "array",
308c6d7a45dSGunnar Mills                        "boolean",
309c6d7a45dSGunnar Mills                        "integer",
310c6d7a45dSGunnar Mills                        "number",
311c6d7a45dSGunnar Mills                        "null",
312c6d7a45dSGunnar Mills                        "object",
313c6d7a45dSGunnar Mills                        "string"
314c6d7a45dSGunnar Mills                    ]
315c6d7a45dSGunnar Mills                }
316c6d7a45dSGunnar Mills            },
317c6d7a45dSGunnar Mills            "properties": {},
318c6d7a45dSGunnar Mills            "type": "object"
319c6d7a45dSGunnar Mills        },
320c6d7a45dSGunnar Mills        "RemoveSSHIdentityKeyPair": {
321c6d7a45dSGunnar Mills            "additionalProperties": false,
322c6d7a45dSGunnar Mills            "description": "This action removes the SSH identity key-pair used with this aggregation source.",
323c6d7a45dSGunnar Mills            "longDescription": "This action shall remove the private SSH identity key-pair used with this aggregation source.",
324c6d7a45dSGunnar Mills            "parameters": {},
325c6d7a45dSGunnar Mills            "patternProperties": {
326c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
327c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
328c6d7a45dSGunnar Mills                    "type": [
329c6d7a45dSGunnar Mills                        "array",
330c6d7a45dSGunnar Mills                        "boolean",
331c6d7a45dSGunnar Mills                        "integer",
332c6d7a45dSGunnar Mills                        "number",
333c6d7a45dSGunnar Mills                        "null",
334c6d7a45dSGunnar Mills                        "object",
335c6d7a45dSGunnar Mills                        "string"
336c6d7a45dSGunnar Mills                    ]
337c6d7a45dSGunnar Mills                }
338c6d7a45dSGunnar Mills            },
339c6d7a45dSGunnar Mills            "properties": {
340c6d7a45dSGunnar Mills                "target": {
341c6d7a45dSGunnar Mills                    "description": "Link to invoke action",
342c6d7a45dSGunnar Mills                    "format": "uri-reference",
343c6d7a45dSGunnar Mills                    "type": "string"
344c6d7a45dSGunnar Mills                },
345c6d7a45dSGunnar Mills                "title": {
346c6d7a45dSGunnar Mills                    "description": "Friendly action name",
347c6d7a45dSGunnar Mills                    "type": "string"
348c6d7a45dSGunnar Mills                }
349c6d7a45dSGunnar Mills            },
350c6d7a45dSGunnar Mills            "type": "object",
351c6d7a45dSGunnar Mills            "versionAdded": "v1_3_0"
352c6d7a45dSGunnar Mills        },
353c6d7a45dSGunnar Mills        "SNMPAuthenticationProtocols": {
354c6d7a45dSGunnar Mills            "enum": [
355c6d7a45dSGunnar Mills                "None",
356c6d7a45dSGunnar Mills                "CommunityString",
357c6d7a45dSGunnar Mills                "HMAC_MD5",
358c6d7a45dSGunnar Mills                "HMAC_SHA96",
359c6d7a45dSGunnar Mills                "HMAC128_SHA224",
360c6d7a45dSGunnar Mills                "HMAC192_SHA256",
361c6d7a45dSGunnar Mills                "HMAC256_SHA384",
362c6d7a45dSGunnar Mills                "HMAC384_SHA512"
363c6d7a45dSGunnar Mills            ],
364c6d7a45dSGunnar Mills            "enumDescriptions": {
365c6d7a45dSGunnar Mills                "CommunityString": "Trap community string authentication.",
366c6d7a45dSGunnar Mills                "HMAC128_SHA224": "HMAC-128-SHA-224 authentication.",
367c6d7a45dSGunnar Mills                "HMAC192_SHA256": "HMAC-192-SHA-256 authentication.",
368c6d7a45dSGunnar Mills                "HMAC256_SHA384": "HMAC-256-SHA-384 authentication.",
369c6d7a45dSGunnar Mills                "HMAC384_SHA512": "HMAC-384-SHA-512 authentication.",
370c6d7a45dSGunnar Mills                "HMAC_MD5": "HMAC-MD5-96 authentication.",
371c6d7a45dSGunnar Mills                "HMAC_SHA96": "HMAC-SHA-96 authentication.",
372c6d7a45dSGunnar Mills                "None": "No authentication."
373c6d7a45dSGunnar Mills            },
374c6d7a45dSGunnar Mills            "enumLongDescriptions": {
375c6d7a45dSGunnar Mills                "CommunityString": "This value shall indicate authentication using SNMP community strings and the value of `TrapCommunity`.",
376c6d7a45dSGunnar Mills                "HMAC128_SHA224": "This value shall indicate authentication for SNMPv3 access conforms to the RFC7860-defined usmHMAC128SHA224AuthProtocol.",
377c6d7a45dSGunnar Mills                "HMAC192_SHA256": "This value shall indicate authentication for SNMPv3 access conforms to the RFC7860-defined usmHMAC192SHA256AuthProtocol.",
378c6d7a45dSGunnar Mills                "HMAC256_SHA384": "This value shall indicate authentication for SNMPv3 access conforms to the RFC7860-defined usmHMAC256SHA384AuthProtocol.",
379c6d7a45dSGunnar Mills                "HMAC384_SHA512": "This value shall indicate authentication for SNMPv3 access conforms to the RFC7860-defined usmHMAC384SHA512AuthProtocol.",
380c6d7a45dSGunnar Mills                "HMAC_MD5": "This value shall indicate authentication conforms to the RFC3414-defined HMAC-MD5-96 authentication protocol.",
381c6d7a45dSGunnar Mills                "HMAC_SHA96": "This value shall indicate authentication conforms to the RFC3414-defined HMAC-SHA-96 authentication protocol.",
382c6d7a45dSGunnar Mills                "None": "This value shall indicate authentication is not required."
383c6d7a45dSGunnar Mills            },
384c6d7a45dSGunnar Mills            "type": "string"
385c6d7a45dSGunnar Mills        },
386c6d7a45dSGunnar Mills        "SNMPEncryptionProtocols": {
387c6d7a45dSGunnar Mills            "enum": [
388c6d7a45dSGunnar Mills                "None",
389c6d7a45dSGunnar Mills                "CBC_DES",
390c6d7a45dSGunnar Mills                "CFB128_AES128",
391c6d7a45dSGunnar Mills                "CFB128_AES192",
392c6d7a45dSGunnar Mills                "CFB128_AES256"
393c6d7a45dSGunnar Mills            ],
394c6d7a45dSGunnar Mills            "enumDescriptions": {
395c6d7a45dSGunnar Mills                "CBC_DES": "CBC-DES encryption.",
396c6d7a45dSGunnar Mills                "CFB128_AES128": "CFB128-AES-128 encryption.",
397c6d7a45dSGunnar Mills                "CFB128_AES192": "CFB128-AES-192 encryption.",
398c6d7a45dSGunnar Mills                "CFB128_AES256": "CFB128-AES-256 encryption.",
399c6d7a45dSGunnar Mills                "None": "No encryption."
400c6d7a45dSGunnar Mills            },
401c6d7a45dSGunnar Mills            "enumLongDescriptions": {
402c6d7a45dSGunnar Mills                "CBC_DES": "This value shall indicate encryption conforms to the RFC3414-defined CBC-DES encryption protocol.",
403c6d7a45dSGunnar Mills                "CFB128_AES128": "This value shall indicate encryption conforms to the RFC3826-defined CFB128-AES-128 encryption protocol.",
404c6d7a45dSGunnar Mills                "CFB128_AES192": "This value shall indicate encryption conforms to the CFB128-AES-192 encryption protocol, extended from RFC3826.",
405c6d7a45dSGunnar Mills                "CFB128_AES256": "This value shall indicate encryption conforms to the CFB128-AES-256 encryption protocol, extended from RFC3826.",
406c6d7a45dSGunnar Mills                "None": "This value shall indicate there is no encryption."
407c6d7a45dSGunnar Mills            },
408c6d7a45dSGunnar Mills            "enumVersionAdded": {
409c6d7a45dSGunnar Mills                "CFB128_AES192": "v1_4_0",
410c6d7a45dSGunnar Mills                "CFB128_AES256": "v1_4_0"
411c6d7a45dSGunnar Mills            },
412c6d7a45dSGunnar Mills            "type": "string"
413c6d7a45dSGunnar Mills        },
414c6d7a45dSGunnar Mills        "SNMPSettings": {
415c6d7a45dSGunnar Mills            "additionalProperties": false,
416c6d7a45dSGunnar Mills            "description": "Settings for an SNMP aggregation source.",
417c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the settings for an SNMP aggregation source.",
418c6d7a45dSGunnar Mills            "patternProperties": {
419c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
420c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
421c6d7a45dSGunnar Mills                    "type": [
422c6d7a45dSGunnar Mills                        "array",
423c6d7a45dSGunnar Mills                        "boolean",
424c6d7a45dSGunnar Mills                        "integer",
425c6d7a45dSGunnar Mills                        "number",
426c6d7a45dSGunnar Mills                        "null",
427c6d7a45dSGunnar Mills                        "object",
428c6d7a45dSGunnar Mills                        "string"
429c6d7a45dSGunnar Mills                    ]
430c6d7a45dSGunnar Mills                }
431c6d7a45dSGunnar Mills            },
432c6d7a45dSGunnar Mills            "properties": {
433c6d7a45dSGunnar Mills                "AuthenticationKey": {
434c6d7a45dSGunnar Mills                    "description": "The secret authentication key for SNMPv3.",
435c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the key for SNMPv3 authentication.  The value shall be `null` in responses.  This property accepts a passphrase or a hex-encoded key.  If the string starts with `Passphrase:`, the remainder of the string shall be the passphrase and shall be converted to the key as described in the 'Password to Key Algorithm' section of RFC3414.  If the string starts with `Hex:`, then the remainder of the string shall be the key encoded in hexadecimal notation.  If the string starts with neither, the full string shall be a passphrase and shall be converted to the key as described in the 'Password to Key Algorithm' section of RFC3414.",
436c6d7a45dSGunnar Mills                    "pattern": "(^[ -~]+$)|(^Passphrase:[ -~]+$)|(^Hex:[0-9A-Fa-f]{24,96}$)|(^\\*+$)",
437c6d7a45dSGunnar Mills                    "readonly": false,
438c6d7a45dSGunnar Mills                    "type": [
439c6d7a45dSGunnar Mills                        "string",
440c6d7a45dSGunnar Mills                        "null"
441c6d7a45dSGunnar Mills                    ],
442c6d7a45dSGunnar Mills                    "versionAdded": "v1_1_0",
443c6d7a45dSGunnar Mills                    "writeOnly": true
444c6d7a45dSGunnar Mills                },
445c6d7a45dSGunnar Mills                "AuthenticationKeySet": {
446c6d7a45dSGunnar Mills                    "description": "Indicates if the `AuthenticationKey` property is set.",
447c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain `true` if a valid value was provided for the `AuthenticationKey` property.  Otherwise, the property shall contain `false`.",
448c6d7a45dSGunnar Mills                    "readonly": true,
449c6d7a45dSGunnar Mills                    "type": "boolean",
450c6d7a45dSGunnar Mills                    "versionAdded": "v1_1_0"
451c6d7a45dSGunnar Mills                },
452c6d7a45dSGunnar Mills                "AuthenticationProtocol": {
453c6d7a45dSGunnar Mills                    "anyOf": [
454c6d7a45dSGunnar Mills                        {
455c6d7a45dSGunnar Mills                            "$ref": "#/definitions/SNMPAuthenticationProtocols"
456c6d7a45dSGunnar Mills                        },
457c6d7a45dSGunnar Mills                        {
458c6d7a45dSGunnar Mills                            "type": "null"
459c6d7a45dSGunnar Mills                        }
460c6d7a45dSGunnar Mills                    ],
461c6d7a45dSGunnar Mills                    "description": "The authentication protocol for SNMPv3.",
462c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the SNMPv3 authentication protocol.",
463c6d7a45dSGunnar Mills                    "readonly": false,
464c6d7a45dSGunnar Mills                    "versionAdded": "v1_1_0"
465c6d7a45dSGunnar Mills                },
466c6d7a45dSGunnar Mills                "EncryptionKey": {
467c6d7a45dSGunnar Mills                    "description": "The secret authentication key for SNMPv3.",
468c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the key for SNMPv3 encryption.  The value shall be `null` in responses.  This property accepts a passphrase or a hex-encoded key.  If the string starts with `Passphrase:`, the remainder of the string shall be the passphrase and shall be converted to the key as described in the 'Password to Key Algorithm' section of RFC3414.  If the string starts with `Hex:`, then the remainder of the string shall be the key encoded in hexadecimal notation.  If the string starts with neither, the full string shall be a passphrase and shall be converted to the key as described in the 'Password to Key Algorithm' section of RFC3414.",
469c6d7a45dSGunnar Mills                    "pattern": "(^[ -~]+$)|(^Passphrase:[ -~]+$)|(^Hex:[0-9A-Fa-f]{16,64}$)|(^\\*+$)",
470c6d7a45dSGunnar Mills                    "readonly": false,
471c6d7a45dSGunnar Mills                    "type": [
472c6d7a45dSGunnar Mills                        "string",
473c6d7a45dSGunnar Mills                        "null"
474c6d7a45dSGunnar Mills                    ],
475c6d7a45dSGunnar Mills                    "versionAdded": "v1_1_0",
476c6d7a45dSGunnar Mills                    "writeOnly": true
477c6d7a45dSGunnar Mills                },
478c6d7a45dSGunnar Mills                "EncryptionKeySet": {
479c6d7a45dSGunnar Mills                    "description": "Indicates if the `EncryptionKey` property is set.",
480c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain `true` if a valid value was provided for the `EncryptionKey` property.  Otherwise, the property shall contain `false`.",
481c6d7a45dSGunnar Mills                    "readonly": true,
482c6d7a45dSGunnar Mills                    "type": "boolean",
483c6d7a45dSGunnar Mills                    "versionAdded": "v1_1_0"
484c6d7a45dSGunnar Mills                },
485c6d7a45dSGunnar Mills                "EncryptionProtocol": {
486c6d7a45dSGunnar Mills                    "anyOf": [
487c6d7a45dSGunnar Mills                        {
488c6d7a45dSGunnar Mills                            "$ref": "#/definitions/SNMPEncryptionProtocols"
489c6d7a45dSGunnar Mills                        },
490c6d7a45dSGunnar Mills                        {
491c6d7a45dSGunnar Mills                            "type": "null"
492c6d7a45dSGunnar Mills                        }
493c6d7a45dSGunnar Mills                    ],
494c6d7a45dSGunnar Mills                    "description": "The encryption protocol for SNMPv3.",
495c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the SNMPv3 encryption protocol.",
496c6d7a45dSGunnar Mills                    "readonly": false,
497c6d7a45dSGunnar Mills                    "versionAdded": "v1_1_0"
498c6d7a45dSGunnar Mills                },
499c6d7a45dSGunnar Mills                "TrapCommunity": {
500c6d7a45dSGunnar Mills                    "description": "The SNMP trap community string.",
501c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the SNMP trap community string.  The value shall be `null` in responses.  Services may provide a common trap community if not specified by the client when creating the aggregation source.",
502c6d7a45dSGunnar Mills                    "readonly": false,
503c6d7a45dSGunnar Mills                    "type": [
504c6d7a45dSGunnar Mills                        "string",
505c6d7a45dSGunnar Mills                        "null"
506c6d7a45dSGunnar Mills                    ],
507c6d7a45dSGunnar Mills                    "versionAdded": "v1_2_0",
508c6d7a45dSGunnar Mills                    "writeOnly": true
509c6d7a45dSGunnar Mills                }
510c6d7a45dSGunnar Mills            },
511c6d7a45dSGunnar Mills            "type": "object"
512c6d7a45dSGunnar Mills        },
513c6d7a45dSGunnar Mills        "SSHSettingsType": {
514c6d7a45dSGunnar Mills            "additionalProperties": false,
515c6d7a45dSGunnar Mills            "description": "Settings for an aggregation source using SSH as part of the associated connection method.",
516c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the settings for an aggregation source using SSH as part of the associated connection method.",
517c6d7a45dSGunnar Mills            "patternProperties": {
518c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
519c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
520c6d7a45dSGunnar Mills                    "type": [
521c6d7a45dSGunnar Mills                        "array",
522c6d7a45dSGunnar Mills                        "boolean",
523c6d7a45dSGunnar Mills                        "integer",
524c6d7a45dSGunnar Mills                        "number",
525c6d7a45dSGunnar Mills                        "null",
526c6d7a45dSGunnar Mills                        "object",
527c6d7a45dSGunnar Mills                        "string"
528c6d7a45dSGunnar Mills                    ]
529c6d7a45dSGunnar Mills                }
530c6d7a45dSGunnar Mills            },
531c6d7a45dSGunnar Mills            "properties": {
532c6d7a45dSGunnar Mills                "PresentedPublicHostKey": {
533c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Key.json#/definitions/Key",
534c6d7a45dSGunnar Mills                    "description": "A link to the last public host key presented by the remote service corresponding to the aggregation source.  A client that trusts this public host key can add the public host key to the TrustedPublicHostKeys collection to allow SSH communication with the aggregation source.",
535c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `Key` that represents the last public host key presented by the remote service corresponding to the aggregation source.  This property shall not be present if a public host key has not yet been presented by the remote service.",
536c6d7a45dSGunnar Mills                    "readonly": true,
537c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0"
538c6d7a45dSGunnar Mills                },
539c6d7a45dSGunnar Mills                "PresentedPublicHostKeyTimestamp": {
540c6d7a45dSGunnar Mills                    "description": "The date and time when the key referenced by the `PresentedPublicHostKey` property was last updated.",
541c6d7a45dSGunnar Mills                    "format": "date-time",
542c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the date and time when the key referenced by the `PresentedPublicHostKey` property was last updated.",
543c6d7a45dSGunnar Mills                    "readonly": true,
544c6d7a45dSGunnar Mills                    "type": [
545c6d7a45dSGunnar Mills                        "string",
546c6d7a45dSGunnar Mills                        "null"
547c6d7a45dSGunnar Mills                    ],
548c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0"
549c6d7a45dSGunnar Mills                },
550c6d7a45dSGunnar Mills                "PublicIdentityKey": {
551c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Key.json#/definitions/Key",
552c6d7a45dSGunnar Mills                    "description": "A link to the public key that is used with the aggregation source when the authentication method is configured to use a public key.  The GenerateSSHIdentityKeyPair and RemoveSSHIdentityKeyPair are used to update the key for this aggregation source.",
553c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `Key` that represents the public key that is used with the aggregation source when `UserAuthenticationMethod` contains `PublicKey`.  This property shall not be present if a key-pair is not available.  The `State` property within `Status` shall contain `Disabled` if a key-pair is not available and `UserAuthenticationMethod` contains `PublicKey`.",
554c6d7a45dSGunnar Mills                    "readonly": true,
555c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0"
556c6d7a45dSGunnar Mills                },
557c6d7a45dSGunnar Mills                "TrustedPublicHostKeys": {
558c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/KeyCollection.json#/definitions/KeyCollection",
559c6d7a45dSGunnar Mills                    "description": "A link to the trusted public host keys of the remote service corresponding to the aggregation source.  These trusted public host keys are used for authentication of the remote service with SSH.  An SSH public host key of the remote service can be added to this collection to allow for public key-based SSH authentication.",
560c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `KeyCollection` that represents the trusted public host keys of the remote service corresponding to the aggregation source.  If the associated connection method specifies SSH tunneling, the service shall compare the public host key presented by the remote service with members of this collection to determine if the remote service can be trusted.  If the remote service cannot be trusted, the `State` property within `Status` shall contain `Disabled` and the service shall not connect to the remote service.",
561c6d7a45dSGunnar Mills                    "readonly": true,
562c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0"
563c6d7a45dSGunnar Mills                },
564c6d7a45dSGunnar Mills                "UserAuthenticationMethod": {
565c6d7a45dSGunnar Mills                    "anyOf": [
566c6d7a45dSGunnar Mills                        {
567c6d7a45dSGunnar Mills                            "$ref": "#/definitions/UserAuthenticationMethod"
568c6d7a45dSGunnar Mills                        },
569c6d7a45dSGunnar Mills                        {
570c6d7a45dSGunnar Mills                            "type": "null"
571c6d7a45dSGunnar Mills                        }
572c6d7a45dSGunnar Mills                    ],
573c6d7a45dSGunnar Mills                    "description": "The client user authentication method.",
574c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the client user authentication method.",
575c6d7a45dSGunnar Mills                    "readonly": false,
576c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0"
577c6d7a45dSGunnar Mills                }
578c6d7a45dSGunnar Mills            },
579c6d7a45dSGunnar Mills            "type": "object"
580c6d7a45dSGunnar Mills        },
581c6d7a45dSGunnar Mills        "UserAuthenticationMethod": {
582c6d7a45dSGunnar Mills            "enum": [
583c6d7a45dSGunnar Mills                "PublicKey",
584c6d7a45dSGunnar Mills                "Password"
585c6d7a45dSGunnar Mills            ],
586c6d7a45dSGunnar Mills            "enumDescriptions": {
587c6d7a45dSGunnar Mills                "Password": "SSH user authentication with a password.",
588c6d7a45dSGunnar Mills                "PublicKey": "SSH user authentication with a public key."
589c6d7a45dSGunnar Mills            },
590c6d7a45dSGunnar Mills            "enumLongDescriptions": {
591c6d7a45dSGunnar Mills                "Password": "This value shall indicate SSH user authentication with a password specified by the `Password` property.",
592c6d7a45dSGunnar Mills                "PublicKey": "This value shall indicate SSH user authentication with a public key specified by the `PublicIdentityKey` property in `SSHSettings`."
593c6d7a45dSGunnar Mills            },
594c6d7a45dSGunnar Mills            "type": "string"
595c6d7a45dSGunnar Mills        }
596c6d7a45dSGunnar Mills    },
597c6d7a45dSGunnar Mills    "language": "en",
598c6d7a45dSGunnar Mills    "owningEntity": "DMTF",
599c6d7a45dSGunnar Mills    "release": "2025.2",
600c6d7a45dSGunnar Mills    "title": "#AggregationSource.v1_5_0.AggregationSource"
601c6d7a45dSGunnar Mills}