1*f2a8e57eSGunnar Mills{
2*f2a8e57eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/Key.v1_4_1.json",
3*f2a8e57eSGunnar Mills    "$ref": "#/definitions/Key",
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        "Key": {
35*f2a8e57eSGunnar Mills            "additionalProperties": false,
36*f2a8e57eSGunnar Mills            "description": "The `Key` schema describes sensitive data for accessing devices or services.",
37*f2a8e57eSGunnar Mills            "longDescription": "This resource shall represent a key for a Redfish implementation.",
38*f2a8e57eSGunnar Mills            "patternProperties": {
39*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
40*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
41*f2a8e57eSGunnar Mills                    "type": [
42*f2a8e57eSGunnar Mills                        "array",
43*f2a8e57eSGunnar Mills                        "boolean",
44*f2a8e57eSGunnar Mills                        "integer",
45*f2a8e57eSGunnar Mills                        "number",
46*f2a8e57eSGunnar Mills                        "null",
47*f2a8e57eSGunnar Mills                        "object",
48*f2a8e57eSGunnar Mills                        "string"
49*f2a8e57eSGunnar Mills                    ]
50*f2a8e57eSGunnar Mills                }
51*f2a8e57eSGunnar Mills            },
52*f2a8e57eSGunnar Mills            "properties": {
53*f2a8e57eSGunnar Mills                "@odata.context": {
54*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
55*f2a8e57eSGunnar Mills                },
56*f2a8e57eSGunnar Mills                "@odata.etag": {
57*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
58*f2a8e57eSGunnar Mills                },
59*f2a8e57eSGunnar Mills                "@odata.id": {
60*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
61*f2a8e57eSGunnar Mills                },
62*f2a8e57eSGunnar Mills                "@odata.type": {
63*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
64*f2a8e57eSGunnar Mills                },
65*f2a8e57eSGunnar Mills                "Actions": {
66*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Actions",
67*f2a8e57eSGunnar Mills                    "description": "The available actions for this resource.",
68*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
69*f2a8e57eSGunnar Mills                },
70*f2a8e57eSGunnar Mills                "Description": {
71*f2a8e57eSGunnar Mills                    "anyOf": [
72*f2a8e57eSGunnar Mills                        {
73*f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
74*f2a8e57eSGunnar Mills                        },
75*f2a8e57eSGunnar Mills                        {
76*f2a8e57eSGunnar Mills                            "type": "null"
77*f2a8e57eSGunnar Mills                        }
78*f2a8e57eSGunnar Mills                    ],
79*f2a8e57eSGunnar Mills                    "readonly": true
80*f2a8e57eSGunnar Mills                },
81*f2a8e57eSGunnar Mills                "Id": {
82*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
83*f2a8e57eSGunnar Mills                    "readonly": true
84*f2a8e57eSGunnar Mills                },
85*f2a8e57eSGunnar Mills                "KeyString": {
86*f2a8e57eSGunnar Mills                    "description": "The string for the key.",
87*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the key, and the format shall follow the requirements specified by the `KeyType` property value.",
88*f2a8e57eSGunnar Mills                    "readonly": true,
89*f2a8e57eSGunnar Mills                    "type": [
90*f2a8e57eSGunnar Mills                        "string",
91*f2a8e57eSGunnar Mills                        "null"
92*f2a8e57eSGunnar Mills                    ]
93*f2a8e57eSGunnar Mills                },
94*f2a8e57eSGunnar Mills                "KeyType": {
95*f2a8e57eSGunnar Mills                    "anyOf": [
96*f2a8e57eSGunnar Mills                        {
97*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/KeyType"
98*f2a8e57eSGunnar Mills                        },
99*f2a8e57eSGunnar Mills                        {
100*f2a8e57eSGunnar Mills                            "type": "null"
101*f2a8e57eSGunnar Mills                        }
102*f2a8e57eSGunnar Mills                    ],
103*f2a8e57eSGunnar Mills                    "description": "The format of the key.",
104*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the format type for the key.",
105*f2a8e57eSGunnar Mills                    "readonly": true
106*f2a8e57eSGunnar Mills                },
107*f2a8e57eSGunnar Mills                "NVMeoF": {
108*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/NVMeoF",
109*f2a8e57eSGunnar Mills                    "description": "NVMe-oF specific properties.",
110*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain NVMe-oF specific properties for this key.  This property shall be present if `KeyType` contains the value `NVMeoF`."
111*f2a8e57eSGunnar Mills                },
112*f2a8e57eSGunnar Mills                "Name": {
113*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
114*f2a8e57eSGunnar Mills                    "readonly": true
115*f2a8e57eSGunnar Mills                },
116*f2a8e57eSGunnar Mills                "Oem": {
117*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
118*f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
119*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."
120*f2a8e57eSGunnar Mills                },
121*f2a8e57eSGunnar Mills                "SSH": {
122*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/SSHType",
123*f2a8e57eSGunnar Mills                    "description": "SSH specific properties.",
124*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain SSH specific properties for this key.  This property shall be present if `KeyType` contains the value `SSH`.",
125*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
126*f2a8e57eSGunnar Mills                },
127*f2a8e57eSGunnar Mills                "UserDescription": {
128*f2a8e57eSGunnar Mills                    "description": "A user-defined string to describe this key.",
129*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a user-provided string that describes the key.",
130*f2a8e57eSGunnar Mills                    "readonly": false,
131*f2a8e57eSGunnar Mills                    "type": [
132*f2a8e57eSGunnar Mills                        "string",
133*f2a8e57eSGunnar Mills                        "null"
134*f2a8e57eSGunnar Mills                    ],
135*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
136*f2a8e57eSGunnar Mills                }
137*f2a8e57eSGunnar Mills            },
138*f2a8e57eSGunnar Mills            "required": [
139*f2a8e57eSGunnar Mills                "@odata.id",
140*f2a8e57eSGunnar Mills                "@odata.type",
141*f2a8e57eSGunnar Mills                "Id",
142*f2a8e57eSGunnar Mills                "Name"
143*f2a8e57eSGunnar Mills            ],
144*f2a8e57eSGunnar Mills            "requiredOnCreate": [
145*f2a8e57eSGunnar Mills                "KeyString",
146*f2a8e57eSGunnar Mills                "KeyType"
147*f2a8e57eSGunnar Mills            ],
148*f2a8e57eSGunnar Mills            "type": "object"
149*f2a8e57eSGunnar Mills        },
150*f2a8e57eSGunnar Mills        "KeyType": {
151*f2a8e57eSGunnar Mills            "enum": [
152*f2a8e57eSGunnar Mills                "NVMeoF",
153*f2a8e57eSGunnar Mills                "SSH"
154*f2a8e57eSGunnar Mills            ],
155*f2a8e57eSGunnar Mills            "enumDescriptions": {
156*f2a8e57eSGunnar Mills                "NVMeoF": "An NVMe-oF key.",
157*f2a8e57eSGunnar Mills                "SSH": "An SSH public key."
158*f2a8e57eSGunnar Mills            },
159*f2a8e57eSGunnar Mills            "enumLongDescriptions": {
160*f2a8e57eSGunnar Mills                "NVMeoF": "This value shall indicate the format of the key is defined by one of the NVMe specifications.",
161*f2a8e57eSGunnar Mills                "SSH": "This value shall indicate the format of the key is defined by one of the SSH public key formats as defined in, but not limited to, RFC4253, RFC4716, or RFC8709."
162*f2a8e57eSGunnar Mills            },
163*f2a8e57eSGunnar Mills            "enumVersionAdded": {
164*f2a8e57eSGunnar Mills                "SSH": "v1_1_0"
165*f2a8e57eSGunnar Mills            },
166*f2a8e57eSGunnar Mills            "type": "string"
167*f2a8e57eSGunnar Mills        },
168*f2a8e57eSGunnar Mills        "NVMeoF": {
169*f2a8e57eSGunnar Mills            "additionalProperties": false,
170*f2a8e57eSGunnar Mills            "description": "NVMe-oF specific properties.",
171*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain NVMe-oF specific properties for a key.",
172*f2a8e57eSGunnar Mills            "patternProperties": {
173*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
174*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
175*f2a8e57eSGunnar Mills                    "type": [
176*f2a8e57eSGunnar Mills                        "array",
177*f2a8e57eSGunnar Mills                        "boolean",
178*f2a8e57eSGunnar Mills                        "integer",
179*f2a8e57eSGunnar Mills                        "number",
180*f2a8e57eSGunnar Mills                        "null",
181*f2a8e57eSGunnar Mills                        "object",
182*f2a8e57eSGunnar Mills                        "string"
183*f2a8e57eSGunnar Mills                    ]
184*f2a8e57eSGunnar Mills                }
185*f2a8e57eSGunnar Mills            },
186*f2a8e57eSGunnar Mills            "properties": {
187*f2a8e57eSGunnar Mills                "HostKeyId": {
188*f2a8e57eSGunnar Mills                    "description": "The identifier of the host key paired with this target key.",
189*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the value of the `Id` property of the `Key` resource representing the host key paired with this target key.  An empty string shall indicate the key is not paired.  This property shall be absent for host keys.",
190*f2a8e57eSGunnar Mills                    "readonly": false,
191*f2a8e57eSGunnar Mills                    "type": [
192*f2a8e57eSGunnar Mills                        "string",
193*f2a8e57eSGunnar Mills                        "null"
194*f2a8e57eSGunnar Mills                    ]
195*f2a8e57eSGunnar Mills                },
196*f2a8e57eSGunnar Mills                "NQN": {
197*f2a8e57eSGunnar Mills                    "description": "The NVMe Qualified Name (NQN) of the host or target subsystem associated with this key.",
198*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the NVMe Qualified Name (NQN) of the host or target subsystem associated with this key.  The value of this property shall follow the NQN format defined by the NVMe Base Specification.",
199*f2a8e57eSGunnar Mills                    "readonly": true,
200*f2a8e57eSGunnar Mills                    "type": [
201*f2a8e57eSGunnar Mills                        "string",
202*f2a8e57eSGunnar Mills                        "null"
203*f2a8e57eSGunnar Mills                    ]
204*f2a8e57eSGunnar Mills                },
205*f2a8e57eSGunnar Mills                "OEMSecurityProtocolType": {
206*f2a8e57eSGunnar Mills                    "description": "The OEM security protocol that this key uses.",
207*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the OEM-defined security protocol that this key uses.  The value shall be derived from the contents of the `KeyString` property.  This property shall be present if `SecurityProtocolType` contains the value `OEM`.",
208*f2a8e57eSGunnar Mills                    "readonly": true,
209*f2a8e57eSGunnar Mills                    "type": [
210*f2a8e57eSGunnar Mills                        "string",
211*f2a8e57eSGunnar Mills                        "null"
212*f2a8e57eSGunnar Mills                    ]
213*f2a8e57eSGunnar Mills                },
214*f2a8e57eSGunnar Mills                "SecureHashAllowList": {
215*f2a8e57eSGunnar Mills                    "description": "The secure hash algorithms allowed with the usage of this key.",
216*f2a8e57eSGunnar Mills                    "items": {
217*f2a8e57eSGunnar Mills                        "anyOf": [
218*f2a8e57eSGunnar Mills                            {
219*f2a8e57eSGunnar Mills                                "$ref": "#/definitions/NVMeoFSecureHashType"
220*f2a8e57eSGunnar Mills                            },
221*f2a8e57eSGunnar Mills                            {
222*f2a8e57eSGunnar Mills                                "type": "null"
223*f2a8e57eSGunnar Mills                            }
224*f2a8e57eSGunnar Mills                        ]
225*f2a8e57eSGunnar Mills                    },
226*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the secure hash algorithms allowed with the usage of this key.  An empty list or the absence of this property shall indicate any secure hash algorithms are allowed with this key.",
227*f2a8e57eSGunnar Mills                    "readonly": true,
228*f2a8e57eSGunnar Mills                    "type": "array"
229*f2a8e57eSGunnar Mills                },
230*f2a8e57eSGunnar Mills                "SecurityProtocolType": {
231*f2a8e57eSGunnar Mills                    "anyOf": [
232*f2a8e57eSGunnar Mills                        {
233*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/NVMeoFSecurityProtocolType"
234*f2a8e57eSGunnar Mills                        },
235*f2a8e57eSGunnar Mills                        {
236*f2a8e57eSGunnar Mills                            "type": "null"
237*f2a8e57eSGunnar Mills                        }
238*f2a8e57eSGunnar Mills                    ],
239*f2a8e57eSGunnar Mills                    "description": "The security protocol that this key uses.",
240*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the security protocol that this key uses.  The value shall be derived from the contents of the `KeyString` property.",
241*f2a8e57eSGunnar Mills                    "readonly": true
242*f2a8e57eSGunnar Mills                }
243*f2a8e57eSGunnar Mills            },
244*f2a8e57eSGunnar Mills            "requiredOnCreate": [
245*f2a8e57eSGunnar Mills                "NQN"
246*f2a8e57eSGunnar Mills            ],
247*f2a8e57eSGunnar Mills            "type": "object"
248*f2a8e57eSGunnar Mills        },
249*f2a8e57eSGunnar Mills        "NVMeoFSecureHashType": {
250*f2a8e57eSGunnar Mills            "description": "The NVMe secure hash algorithms that a key is allowed to use.",
251*f2a8e57eSGunnar Mills            "enum": [
252*f2a8e57eSGunnar Mills                "SHA256",
253*f2a8e57eSGunnar Mills                "SHA384",
254*f2a8e57eSGunnar Mills                "SHA512"
255*f2a8e57eSGunnar Mills            ],
256*f2a8e57eSGunnar Mills            "enumDescriptions": {
257*f2a8e57eSGunnar Mills                "SHA256": "SHA-256.",
258*f2a8e57eSGunnar Mills                "SHA384": "SHA-384.",
259*f2a8e57eSGunnar Mills                "SHA512": "SHA-512."
260*f2a8e57eSGunnar Mills            },
261*f2a8e57eSGunnar Mills            "enumLongDescriptions": {
262*f2a8e57eSGunnar Mills                "SHA256": "This value shall indicate the SHA-256 hash function as defined by the 'DH-HMAC-CHAP hash function identifiers' figure in the NVMe Base Specification.",
263*f2a8e57eSGunnar Mills                "SHA384": "This value shall indicate the SHA-384 hash function as defined by the 'DH-HMAC-CHAP hash function identifiers' figure in the NVMe Base Specification.",
264*f2a8e57eSGunnar Mills                "SHA512": "This value shall indicate the SHA-512 hash function as defined by the 'DH-HMAC-CHAP hash function identifiers' figure in the NVMe Base Specification."
265*f2a8e57eSGunnar Mills            },
266*f2a8e57eSGunnar Mills            "longDescription": "This enumeration shall list the NVMe secure hash algorithms that a key is allowed to use.",
267*f2a8e57eSGunnar Mills            "type": "string"
268*f2a8e57eSGunnar Mills        },
269*f2a8e57eSGunnar Mills        "NVMeoFSecurityProtocolType": {
270*f2a8e57eSGunnar Mills            "description": "The NVMe security protocols that a key protects.",
271*f2a8e57eSGunnar Mills            "enum": [
272*f2a8e57eSGunnar Mills                "DHHC",
273*f2a8e57eSGunnar Mills                "TLS_PSK",
274*f2a8e57eSGunnar Mills                "OEM"
275*f2a8e57eSGunnar Mills            ],
276*f2a8e57eSGunnar Mills            "enumDescriptions": {
277*f2a8e57eSGunnar Mills                "DHHC": "Diffie-Hellman Hashed Message Authentication Code Challenge Handshake Authentication Protocol (DH-HMAC-CHAP).",
278*f2a8e57eSGunnar Mills                "OEM": "OEM.",
279*f2a8e57eSGunnar Mills                "TLS_PSK": "Transport Layer Security Pre-Shared Key (TLS PSK)."
280*f2a8e57eSGunnar Mills            },
281*f2a8e57eSGunnar Mills            "enumLongDescriptions": {
282*f2a8e57eSGunnar Mills                "DHHC": "This value shall indicate the Diffie-Hellman Hashed Message Authentication Code Challenge Handshake Authentication Protocol (DH-HMAC-CHAP) as defined by the NVMe Base Specification.",
283*f2a8e57eSGunnar Mills                "OEM": "This value shall indicate an OEM-defined security protocol.  The `OEMSecurityProtocolType` property shall contain the specific OEM protocol.",
284*f2a8e57eSGunnar Mills                "TLS_PSK": "This value shall indicate Transport Layer Security Pre-Shared Key (TLS PSK) as defined by the NVMe TCP Transport Specification."
285*f2a8e57eSGunnar Mills            },
286*f2a8e57eSGunnar Mills            "longDescription": "This enumeration shall list the NVMe security protocols that a key protects.",
287*f2a8e57eSGunnar Mills            "type": "string"
288*f2a8e57eSGunnar Mills        },
289*f2a8e57eSGunnar Mills        "OemActions": {
290*f2a8e57eSGunnar Mills            "additionalProperties": true,
291*f2a8e57eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
292*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
293*f2a8e57eSGunnar Mills            "patternProperties": {
294*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
295*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
296*f2a8e57eSGunnar Mills                    "type": [
297*f2a8e57eSGunnar Mills                        "array",
298*f2a8e57eSGunnar Mills                        "boolean",
299*f2a8e57eSGunnar Mills                        "integer",
300*f2a8e57eSGunnar Mills                        "number",
301*f2a8e57eSGunnar Mills                        "null",
302*f2a8e57eSGunnar Mills                        "object",
303*f2a8e57eSGunnar Mills                        "string"
304*f2a8e57eSGunnar Mills                    ]
305*f2a8e57eSGunnar Mills                }
306*f2a8e57eSGunnar Mills            },
307*f2a8e57eSGunnar Mills            "properties": {},
308*f2a8e57eSGunnar Mills            "type": "object"
309*f2a8e57eSGunnar Mills        },
310*f2a8e57eSGunnar Mills        "SSHType": {
311*f2a8e57eSGunnar Mills            "additionalProperties": false,
312*f2a8e57eSGunnar Mills            "description": "SSH specific properties.",
313*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain SSH specific properties for a key.",
314*f2a8e57eSGunnar Mills            "patternProperties": {
315*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
316*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
317*f2a8e57eSGunnar Mills                    "type": [
318*f2a8e57eSGunnar Mills                        "array",
319*f2a8e57eSGunnar Mills                        "boolean",
320*f2a8e57eSGunnar Mills                        "integer",
321*f2a8e57eSGunnar Mills                        "number",
322*f2a8e57eSGunnar Mills                        "null",
323*f2a8e57eSGunnar Mills                        "object",
324*f2a8e57eSGunnar Mills                        "string"
325*f2a8e57eSGunnar Mills                    ]
326*f2a8e57eSGunnar Mills                }
327*f2a8e57eSGunnar Mills            },
328*f2a8e57eSGunnar Mills            "properties": {
329*f2a8e57eSGunnar Mills                "Comment": {
330*f2a8e57eSGunnar Mills                    "description": "The user-specified comment associated with this key, which typically contains the client's username and host name.",
331*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the user-specified comment associated with this key, which typically contains the client's username and host name.",
332*f2a8e57eSGunnar Mills                    "readonly": true,
333*f2a8e57eSGunnar Mills                    "type": [
334*f2a8e57eSGunnar Mills                        "string",
335*f2a8e57eSGunnar Mills                        "null"
336*f2a8e57eSGunnar Mills                    ],
337*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
338*f2a8e57eSGunnar Mills                },
339*f2a8e57eSGunnar Mills                "Fingerprint": {
340*f2a8e57eSGunnar Mills                    "description": "A fingerprint of the key.",
341*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the fingerprint of the key.",
342*f2a8e57eSGunnar Mills                    "pattern": "(^MD5(:[0-9a-f]{2})+$)|(^SHA256:[A-Za-z0-9+/=]+$)",
343*f2a8e57eSGunnar Mills                    "readonly": true,
344*f2a8e57eSGunnar Mills                    "type": [
345*f2a8e57eSGunnar Mills                        "string",
346*f2a8e57eSGunnar Mills                        "null"
347*f2a8e57eSGunnar Mills                    ],
348*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
349*f2a8e57eSGunnar Mills                },
350*f2a8e57eSGunnar Mills                "RemoteServerHostName": {
351*f2a8e57eSGunnar Mills                    "description": "The host name of the remote server associated with this key.",
352*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the host name of the remote server associated with this key.",
353*f2a8e57eSGunnar Mills                    "readonly": true,
354*f2a8e57eSGunnar Mills                    "type": [
355*f2a8e57eSGunnar Mills                        "string",
356*f2a8e57eSGunnar Mills                        "null"
357*f2a8e57eSGunnar Mills                    ],
358*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
359*f2a8e57eSGunnar Mills                }
360*f2a8e57eSGunnar Mills            },
361*f2a8e57eSGunnar Mills            "type": "object"
362*f2a8e57eSGunnar Mills        }
363*f2a8e57eSGunnar Mills    },
364*f2a8e57eSGunnar Mills    "language": "en",
365*f2a8e57eSGunnar Mills    "owningEntity": "DMTF",
366*f2a8e57eSGunnar Mills    "release": "2023.3",
367*f2a8e57eSGunnar Mills    "title": "#Key.v1_4_1.Key"
368*f2a8e57eSGunnar Mills}