blob: 77a3bef5863b352629885da89f4ba076cd911534 [file] [log] [blame]
Ed Tanous118b1c72018-09-13 13:45:51 -07001{
2 "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
3 "title": "#CollectionCapabilities.v1_0_0",
4 "definitions": {
5 "Capability": {
6 "type": "object",
7 "patternProperties": {
8 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
9 "type": [
10 "array",
11 "boolean",
12 "number",
13 "null",
14 "object",
15 "string"
16 ],
17 "description": "This property shall specify a valid odata or Redfish property."
18 }
19 },
20 "additionalProperties": false,
21 "properties": {
22 "UseCase": {
23 "$ref": "#/definitions/UseCase",
24 "readonly": true,
25 "description": "This property represents the use case in which a client may issue a POST request to the collection.",
26 "longDescription": "The value of this property shall be an enumerated value describing the use case for this capability instance."
27 },
28 "Links": {
29 "type": "object",
30 "patternProperties": {
31 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
32 "type": [
33 "array",
34 "boolean",
35 "number",
36 "null",
37 "object",
38 "string"
39 ],
40 "description": "This property shall specify a valid odata or Redfish property."
41 }
42 },
43 "additionalProperties": false,
44 "properties": {
45 "Oem": {
46 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
47 "description": "Oem extension object.",
48 "longDescription": "This object represents the Oem property. All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
49 },
50 "TargetCollection": {
51 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResourceCollection",
52 "readonly": true,
53 "description": "Reference to the collection that this capabilities structure is describing.",
54 "longDescription": "The value of this property shall be a reference to a Resource Collection that this structure is describing. This structure may be used by a client in order to understand how to form the POST request for the given collection."
55 },
56 "RelatedItem@odata.count": {
57 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/count"
58 },
59 "RelatedItem@odata.navigationLink": {
60 "type": "string",
61 "format": "uri"
62 },
63 "RelatedItem": {
64 "type": "array",
65 "items": {
66 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef"
67 },
68 "readonly": true,
69 "description": "The ID(s) of the resources associated with this capability.",
70 "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that is related to this capability."
71 }
72 },
73 "required": [
74 "TargetCollection"
75 ],
76 "description": "Contains references to other resources that are related to this resource.",
77 "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
78 },
79 "CapabilitiesObject": {
80 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef",
81 "readonly": true,
82 "description": "Reference to the resource the client may GET to in order to understand how to form a POST request for a given collection.",
83 "longDescription": "The value of this property shall be a reference to a Resource that matches the type for the given collection and shall contain annotations that describe the properties allowed in the POST request."
84 }
85 },
86 "required": [
87 "UseCase",
88 "Links",
89 "CapabilitiesObject"
90 ],
91 "description": "This type describes a specific capability of a collection for a given use case.",
92 "longDescription": "This type shall describe a specific capability of a collection in terms of how a client is able to create new resources within the collection for the specified use case."
93 },
94 "CollectionCapabilities": {
95 "type": "object",
96 "patternProperties": {
97 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
98 "type": [
99 "array",
100 "boolean",
101 "number",
102 "null",
103 "object",
104 "string"
105 ],
106 "description": "This property shall specify a valid odata or Redfish property."
107 }
108 },
109 "additionalProperties": false,
110 "properties": {
111 "Capabilities": {
112 "type": "array",
113 "items": {
114 "$ref": "#/definitions/Capability"
115 },
116 "description": "This property contains the list of capabilities supported by this resource.",
117 "longDescription": "The value of this property shall be an array of Capability structures."
118 }
119 },
120 "description": "This type describes the capabilities of a collection.",
121 "longDescription": "This type shall describe any capabilities of a collection in terms of how a client is able to create new resources within the collection."
122 },
123 "UseCase": {
124 "type": "string",
125 "enum": [
126 "ComputerSystemComposition",
127 "VolumeCreation"
128 ],
129 "enumDescriptions": {
130 "ComputerSystemComposition": "This capability describes a client creating a new ComputerSystem instance from a set of disaggregated hardware.",
131 "VolumeCreation": "This capability describes a client creating a new Volume instance as part of an existing storage subsystem."
132 }
133 }
134 },
135 "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
136}