xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/ResourceBlock.v1_4_3.json (revision f2a8e57ede74a8252100b2281e3f4d170aa69391)
1*f2a8e57eSGunnar Mills{
2*f2a8e57eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/ResourceBlock.v1_4_3.json",
3*f2a8e57eSGunnar Mills    "$ref": "#/definitions/ResourceBlock",
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        "CompositionState": {
35*f2a8e57eSGunnar Mills            "enum": [
36*f2a8e57eSGunnar Mills                "Composing",
37*f2a8e57eSGunnar Mills                "ComposedAndAvailable",
38*f2a8e57eSGunnar Mills                "Composed",
39*f2a8e57eSGunnar Mills                "Unused",
40*f2a8e57eSGunnar Mills                "Failed",
41*f2a8e57eSGunnar Mills                "Unavailable"
42*f2a8e57eSGunnar Mills            ],
43*f2a8e57eSGunnar Mills            "enumDescriptions": {
44*f2a8e57eSGunnar Mills                "Composed": "Final successful state of a resource block that has participated in composition.",
45*f2a8e57eSGunnar Mills                "ComposedAndAvailable": "The resource block is currently participating in one or more compositions, and is available to use in more compositions.",
46*f2a8e57eSGunnar Mills                "Composing": "Intermediate state indicating composition is in progress.",
47*f2a8e57eSGunnar Mills                "Failed": "The final composition resulted in failure and manual intervention might be required to fix it.",
48*f2a8e57eSGunnar Mills                "Unavailable": "The resource block has been made unavailable by the service, such as due to maintenance being performed on the resource block.",
49*f2a8e57eSGunnar Mills                "Unused": "The resource block is free and can participate in composition."
50*f2a8e57eSGunnar Mills            },
51*f2a8e57eSGunnar Mills            "enumVersionAdded": {
52*f2a8e57eSGunnar Mills                "ComposedAndAvailable": "v1_1_0",
53*f2a8e57eSGunnar Mills                "Unavailable": "v1_2_0"
54*f2a8e57eSGunnar Mills            },
55*f2a8e57eSGunnar Mills            "type": "string"
56*f2a8e57eSGunnar Mills        },
57*f2a8e57eSGunnar Mills        "CompositionStatus": {
58*f2a8e57eSGunnar Mills            "additionalProperties": false,
59*f2a8e57eSGunnar Mills            "description": "Composition status of the resource block.",
60*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain properties that describe the high level composition status of the resource block.",
61*f2a8e57eSGunnar Mills            "patternProperties": {
62*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
63*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
64*f2a8e57eSGunnar Mills                    "type": [
65*f2a8e57eSGunnar Mills                        "array",
66*f2a8e57eSGunnar Mills                        "boolean",
67*f2a8e57eSGunnar Mills                        "integer",
68*f2a8e57eSGunnar Mills                        "number",
69*f2a8e57eSGunnar Mills                        "null",
70*f2a8e57eSGunnar Mills                        "object",
71*f2a8e57eSGunnar Mills                        "string"
72*f2a8e57eSGunnar Mills                    ]
73*f2a8e57eSGunnar Mills                }
74*f2a8e57eSGunnar Mills            },
75*f2a8e57eSGunnar Mills            "properties": {
76*f2a8e57eSGunnar Mills                "CompositionState": {
77*f2a8e57eSGunnar Mills                    "anyOf": [
78*f2a8e57eSGunnar Mills                        {
79*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/CompositionState"
80*f2a8e57eSGunnar Mills                        },
81*f2a8e57eSGunnar Mills                        {
82*f2a8e57eSGunnar Mills                            "type": "null"
83*f2a8e57eSGunnar Mills                        }
84*f2a8e57eSGunnar Mills                    ],
85*f2a8e57eSGunnar Mills                    "description": "The current state of the resource block from a composition perspective.",
86*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an enumerated value that describes the composition state of the resource block.",
87*f2a8e57eSGunnar Mills                    "readonly": true
88*f2a8e57eSGunnar Mills                },
89*f2a8e57eSGunnar Mills                "MaxCompositions": {
90*f2a8e57eSGunnar Mills                    "description": "The maximum number of compositions in which this resource block can participate simultaneously.",
91*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a number indicating the maximum number of compositions in which this resource block can participate simultaneously.  Services can have additional constraints that prevent this value from being achieved, such as due to system topology and current composed resource utilization.  If `SharingCapable` is `false`, this value shall be set to `1`.  The service shall support this property if SharingCapable supported.",
92*f2a8e57eSGunnar Mills                    "minimum": 1,
93*f2a8e57eSGunnar Mills                    "readonly": true,
94*f2a8e57eSGunnar Mills                    "type": [
95*f2a8e57eSGunnar Mills                        "integer",
96*f2a8e57eSGunnar Mills                        "null"
97*f2a8e57eSGunnar Mills                    ],
98*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
99*f2a8e57eSGunnar Mills                },
100*f2a8e57eSGunnar Mills                "NumberOfCompositions": {
101*f2a8e57eSGunnar Mills                    "description": "The number of compositions in which this resource block is currently participating.",
102*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the number of compositions in which this resource block is currently participating.",
103*f2a8e57eSGunnar Mills                    "minimum": 0,
104*f2a8e57eSGunnar Mills                    "readonly": true,
105*f2a8e57eSGunnar Mills                    "type": [
106*f2a8e57eSGunnar Mills                        "integer",
107*f2a8e57eSGunnar Mills                        "null"
108*f2a8e57eSGunnar Mills                    ],
109*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
110*f2a8e57eSGunnar Mills                },
111*f2a8e57eSGunnar Mills                "Reserved": {
112*f2a8e57eSGunnar Mills                    "description": "An indication of whether any client has reserved the resource block.",
113*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether any client has reserved the resource block.  A client sets this property after the resource block is identified as composed.  It shall provide a way for multiple clients to negotiate the ownership of the resource block.",
114*f2a8e57eSGunnar Mills                    "readonly": false,
115*f2a8e57eSGunnar Mills                    "type": [
116*f2a8e57eSGunnar Mills                        "boolean",
117*f2a8e57eSGunnar Mills                        "null"
118*f2a8e57eSGunnar Mills                    ]
119*f2a8e57eSGunnar Mills                },
120*f2a8e57eSGunnar Mills                "SharingCapable": {
121*f2a8e57eSGunnar Mills                    "description": "An indication of whether this resource block can participate in multiple compositions simultaneously.",
122*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether this resource block can participate in multiple compositions simultaneously.  If this property is not provided, it shall be assumed that this resource block is not capable of being shared.",
123*f2a8e57eSGunnar Mills                    "readonly": true,
124*f2a8e57eSGunnar Mills                    "type": [
125*f2a8e57eSGunnar Mills                        "boolean",
126*f2a8e57eSGunnar Mills                        "null"
127*f2a8e57eSGunnar Mills                    ],
128*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
129*f2a8e57eSGunnar Mills                },
130*f2a8e57eSGunnar Mills                "SharingEnabled": {
131*f2a8e57eSGunnar Mills                    "description": "An indication of whether this resource block is allowed to participate in multiple compositions simultaneously.",
132*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether this resource block can participate in multiple compositions simultaneously.  The service shall reject modifications of this property with the HTTP `400 Bad Request` status code if this resource block is already being used as part of a composed resource.  If `false`, the service shall not use the `ComposedAndAvailable` state for this resource block.",
133*f2a8e57eSGunnar Mills                    "readonly": false,
134*f2a8e57eSGunnar Mills                    "type": [
135*f2a8e57eSGunnar Mills                        "boolean",
136*f2a8e57eSGunnar Mills                        "null"
137*f2a8e57eSGunnar Mills                    ],
138*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
139*f2a8e57eSGunnar Mills                }
140*f2a8e57eSGunnar Mills            },
141*f2a8e57eSGunnar Mills            "required": [
142*f2a8e57eSGunnar Mills                "CompositionState"
143*f2a8e57eSGunnar Mills            ],
144*f2a8e57eSGunnar Mills            "type": "object"
145*f2a8e57eSGunnar Mills        },
146*f2a8e57eSGunnar Mills        "Links": {
147*f2a8e57eSGunnar Mills            "additionalProperties": false,
148*f2a8e57eSGunnar Mills            "description": "The links to other resources that are related to this resource.",
149*f2a8e57eSGunnar 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.",
150*f2a8e57eSGunnar Mills            "patternProperties": {
151*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
152*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
153*f2a8e57eSGunnar Mills                    "type": [
154*f2a8e57eSGunnar Mills                        "array",
155*f2a8e57eSGunnar Mills                        "boolean",
156*f2a8e57eSGunnar Mills                        "integer",
157*f2a8e57eSGunnar Mills                        "number",
158*f2a8e57eSGunnar Mills                        "null",
159*f2a8e57eSGunnar Mills                        "object",
160*f2a8e57eSGunnar Mills                        "string"
161*f2a8e57eSGunnar Mills                    ]
162*f2a8e57eSGunnar Mills                }
163*f2a8e57eSGunnar Mills            },
164*f2a8e57eSGunnar Mills            "properties": {
165*f2a8e57eSGunnar Mills                "Chassis": {
166*f2a8e57eSGunnar Mills                    "description": "An array of links to the chassis in which this resource block is contained.",
167*f2a8e57eSGunnar Mills                    "items": {
168*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
169*f2a8e57eSGunnar Mills                    },
170*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Chassis` that represent the physical containers associated with this resource block.",
171*f2a8e57eSGunnar Mills                    "readonly": true,
172*f2a8e57eSGunnar Mills                    "type": "array"
173*f2a8e57eSGunnar Mills                },
174*f2a8e57eSGunnar Mills                "Chassis@odata.count": {
175*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
176*f2a8e57eSGunnar Mills                },
177*f2a8e57eSGunnar Mills                "ComputerSystems": {
178*f2a8e57eSGunnar Mills                    "description": "An array of links to the computer systems that are composed from this resource block.",
179*f2a8e57eSGunnar Mills                    "items": {
180*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/ComputerSystem.json#/definitions/ComputerSystem"
181*f2a8e57eSGunnar Mills                    },
182*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `ComputerSystem` that represent the computer systems composed from this resource block.",
183*f2a8e57eSGunnar Mills                    "readonly": true,
184*f2a8e57eSGunnar Mills                    "type": "array"
185*f2a8e57eSGunnar Mills                },
186*f2a8e57eSGunnar Mills                "ComputerSystems@odata.count": {
187*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
188*f2a8e57eSGunnar Mills                },
189*f2a8e57eSGunnar Mills                "ConsumingResourceBlocks": {
190*f2a8e57eSGunnar Mills                    "description": "An array of links to resource blocks that depend on this resource block.",
191*f2a8e57eSGunnar Mills                    "items": {
192*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/ResourceBlock.json#/definitions/ResourceBlock"
193*f2a8e57eSGunnar Mills                    },
194*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `ResourceBlock` that represent the resource blocks that depend on this resource block as a component.",
195*f2a8e57eSGunnar Mills                    "readonly": true,
196*f2a8e57eSGunnar Mills                    "type": "array",
197*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
198*f2a8e57eSGunnar Mills                },
199*f2a8e57eSGunnar Mills                "ConsumingResourceBlocks@odata.count": {
200*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
201*f2a8e57eSGunnar Mills                },
202*f2a8e57eSGunnar Mills                "Oem": {
203*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
204*f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
205*f2a8e57eSGunnar 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."
206*f2a8e57eSGunnar Mills                },
207*f2a8e57eSGunnar Mills                "SupplyingResourceBlocks": {
208*f2a8e57eSGunnar Mills                    "description": "An array of links to resource blocks that this resource block depends on.",
209*f2a8e57eSGunnar Mills                    "items": {
210*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/ResourceBlock.json#/definitions/ResourceBlock"
211*f2a8e57eSGunnar Mills                    },
212*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `ResourceBlock` that represent the resource blocks that this resource block depends on as components.",
213*f2a8e57eSGunnar Mills                    "readonly": true,
214*f2a8e57eSGunnar Mills                    "type": "array",
215*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
216*f2a8e57eSGunnar Mills                },
217*f2a8e57eSGunnar Mills                "SupplyingResourceBlocks@odata.count": {
218*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
219*f2a8e57eSGunnar Mills                },
220*f2a8e57eSGunnar Mills                "Zones": {
221*f2a8e57eSGunnar Mills                    "description": "An array of links to the zones in which this resource block is bound.",
222*f2a8e57eSGunnar Mills                    "items": {
223*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Zone.json#/definitions/Zone"
224*f2a8e57eSGunnar Mills                    },
225*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Zone` that represent the binding constraints associated with this resource block.",
226*f2a8e57eSGunnar Mills                    "readonly": true,
227*f2a8e57eSGunnar Mills                    "type": "array"
228*f2a8e57eSGunnar Mills                },
229*f2a8e57eSGunnar Mills                "Zones@odata.count": {
230*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
231*f2a8e57eSGunnar Mills                }
232*f2a8e57eSGunnar Mills            },
233*f2a8e57eSGunnar Mills            "type": "object"
234*f2a8e57eSGunnar Mills        },
235*f2a8e57eSGunnar Mills        "OemActions": {
236*f2a8e57eSGunnar Mills            "additionalProperties": true,
237*f2a8e57eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
238*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
239*f2a8e57eSGunnar Mills            "patternProperties": {
240*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
241*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
242*f2a8e57eSGunnar Mills                    "type": [
243*f2a8e57eSGunnar Mills                        "array",
244*f2a8e57eSGunnar Mills                        "boolean",
245*f2a8e57eSGunnar Mills                        "integer",
246*f2a8e57eSGunnar Mills                        "number",
247*f2a8e57eSGunnar Mills                        "null",
248*f2a8e57eSGunnar Mills                        "object",
249*f2a8e57eSGunnar Mills                        "string"
250*f2a8e57eSGunnar Mills                    ]
251*f2a8e57eSGunnar Mills                }
252*f2a8e57eSGunnar Mills            },
253*f2a8e57eSGunnar Mills            "properties": {},
254*f2a8e57eSGunnar Mills            "type": "object"
255*f2a8e57eSGunnar Mills        },
256*f2a8e57eSGunnar Mills        "PoolType": {
257*f2a8e57eSGunnar Mills            "enum": [
258*f2a8e57eSGunnar Mills                "Free",
259*f2a8e57eSGunnar Mills                "Active",
260*f2a8e57eSGunnar Mills                "Unassigned"
261*f2a8e57eSGunnar Mills            ],
262*f2a8e57eSGunnar Mills            "enumDescriptions": {
263*f2a8e57eSGunnar Mills                "Active": "This resource block is in the active pool and is contributing to at least one composed resource as a result of a composition request.",
264*f2a8e57eSGunnar Mills                "Free": "This resource block is in the free pool and is not contributing to any composed resources.",
265*f2a8e57eSGunnar Mills                "Unassigned": "This resource block is not assigned to any pools."
266*f2a8e57eSGunnar Mills            },
267*f2a8e57eSGunnar Mills            "type": "string"
268*f2a8e57eSGunnar Mills        },
269*f2a8e57eSGunnar Mills        "ResourceBlock": {
270*f2a8e57eSGunnar Mills            "additionalProperties": false,
271*f2a8e57eSGunnar Mills            "description": "The `ResourceBlock` schema contains definitions of a resource block, its components, and affinity to composed devices.",
272*f2a8e57eSGunnar Mills            "longDescription": "This resource shall represent a resource block for a Redfish implementation.",
273*f2a8e57eSGunnar Mills            "patternProperties": {
274*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
275*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
276*f2a8e57eSGunnar Mills                    "type": [
277*f2a8e57eSGunnar Mills                        "array",
278*f2a8e57eSGunnar Mills                        "boolean",
279*f2a8e57eSGunnar Mills                        "integer",
280*f2a8e57eSGunnar Mills                        "number",
281*f2a8e57eSGunnar Mills                        "null",
282*f2a8e57eSGunnar Mills                        "object",
283*f2a8e57eSGunnar Mills                        "string"
284*f2a8e57eSGunnar Mills                    ]
285*f2a8e57eSGunnar Mills                }
286*f2a8e57eSGunnar Mills            },
287*f2a8e57eSGunnar Mills            "properties": {
288*f2a8e57eSGunnar Mills                "@odata.context": {
289*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
290*f2a8e57eSGunnar Mills                },
291*f2a8e57eSGunnar Mills                "@odata.etag": {
292*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
293*f2a8e57eSGunnar Mills                },
294*f2a8e57eSGunnar Mills                "@odata.id": {
295*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
296*f2a8e57eSGunnar Mills                },
297*f2a8e57eSGunnar Mills                "@odata.type": {
298*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
299*f2a8e57eSGunnar Mills                },
300*f2a8e57eSGunnar Mills                "Actions": {
301*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Actions",
302*f2a8e57eSGunnar Mills                    "description": "The available actions for this resource.",
303*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
304*f2a8e57eSGunnar Mills                },
305*f2a8e57eSGunnar Mills                "Client": {
306*f2a8e57eSGunnar Mills                    "description": "The client to which this resource block is assigned.",
307*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the client to which this resource block is assigned.",
308*f2a8e57eSGunnar Mills                    "readonly": false,
309*f2a8e57eSGunnar Mills                    "type": [
310*f2a8e57eSGunnar Mills                        "string",
311*f2a8e57eSGunnar Mills                        "null"
312*f2a8e57eSGunnar Mills                    ],
313*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
314*f2a8e57eSGunnar Mills                },
315*f2a8e57eSGunnar Mills                "CompositionStatus": {
316*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/CompositionStatus",
317*f2a8e57eSGunnar Mills                    "description": "The composition status details for this resource block.",
318*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain composition status information about this resource block."
319*f2a8e57eSGunnar Mills                },
320*f2a8e57eSGunnar Mills                "ComputerSystems": {
321*f2a8e57eSGunnar Mills                    "description": "An array of links to the computer systems available in this resource block.",
322*f2a8e57eSGunnar Mills                    "items": {
323*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/ComputerSystem.json#/definitions/ComputerSystem"
324*f2a8e57eSGunnar Mills                    },
325*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `ComputerSystem` that this resource block contains.",
326*f2a8e57eSGunnar Mills                    "readonly": true,
327*f2a8e57eSGunnar Mills                    "type": "array",
328*f2a8e57eSGunnar Mills                    "uriSegment": "Systems"
329*f2a8e57eSGunnar Mills                },
330*f2a8e57eSGunnar Mills                "ComputerSystems@odata.count": {
331*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
332*f2a8e57eSGunnar Mills                },
333*f2a8e57eSGunnar Mills                "Description": {
334*f2a8e57eSGunnar Mills                    "anyOf": [
335*f2a8e57eSGunnar Mills                        {
336*f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
337*f2a8e57eSGunnar Mills                        },
338*f2a8e57eSGunnar Mills                        {
339*f2a8e57eSGunnar Mills                            "type": "null"
340*f2a8e57eSGunnar Mills                        }
341*f2a8e57eSGunnar Mills                    ],
342*f2a8e57eSGunnar Mills                    "readonly": true
343*f2a8e57eSGunnar Mills                },
344*f2a8e57eSGunnar Mills                "Drives": {
345*f2a8e57eSGunnar Mills                    "description": "An array of links to the drives available in this resource block.",
346*f2a8e57eSGunnar Mills                    "items": {
347*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.json#/definitions/Drive"
348*f2a8e57eSGunnar Mills                    },
349*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Drive` that this resource block contains.",
350*f2a8e57eSGunnar Mills                    "readonly": true,
351*f2a8e57eSGunnar Mills                    "type": "array",
352*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
353*f2a8e57eSGunnar Mills                },
354*f2a8e57eSGunnar Mills                "Drives@odata.count": {
355*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
356*f2a8e57eSGunnar Mills                },
357*f2a8e57eSGunnar Mills                "EthernetInterfaces": {
358*f2a8e57eSGunnar Mills                    "description": "An array of links to the Ethernet interfaces available in this resource block.",
359*f2a8e57eSGunnar Mills                    "items": {
360*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface"
361*f2a8e57eSGunnar Mills                    },
362*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `EthernetInterface` that this resource block contains.",
363*f2a8e57eSGunnar Mills                    "readonly": true,
364*f2a8e57eSGunnar Mills                    "type": "array"
365*f2a8e57eSGunnar Mills                },
366*f2a8e57eSGunnar Mills                "EthernetInterfaces@odata.count": {
367*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
368*f2a8e57eSGunnar Mills                },
369*f2a8e57eSGunnar Mills                "Id": {
370*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
371*f2a8e57eSGunnar Mills                    "readonly": true
372*f2a8e57eSGunnar Mills                },
373*f2a8e57eSGunnar Mills                "Links": {
374*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Links",
375*f2a8e57eSGunnar Mills                    "description": "The links to other resources that are related to this resource.",
376*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
377*f2a8e57eSGunnar Mills                },
378*f2a8e57eSGunnar Mills                "Memory": {
379*f2a8e57eSGunnar Mills                    "description": "An array of links to the memory available in this resource block.",
380*f2a8e57eSGunnar Mills                    "items": {
381*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Memory.json#/definitions/Memory"
382*f2a8e57eSGunnar Mills                    },
383*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Memory` that this resource block contains.",
384*f2a8e57eSGunnar Mills                    "readonly": true,
385*f2a8e57eSGunnar Mills                    "type": "array"
386*f2a8e57eSGunnar Mills                },
387*f2a8e57eSGunnar Mills                "Memory@odata.count": {
388*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
389*f2a8e57eSGunnar Mills                },
390*f2a8e57eSGunnar Mills                "Name": {
391*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
392*f2a8e57eSGunnar Mills                    "readonly": true
393*f2a8e57eSGunnar Mills                },
394*f2a8e57eSGunnar Mills                "NetworkInterfaces": {
395*f2a8e57eSGunnar Mills                    "description": "An array of links to the Network Interfaces available in this resource block.",
396*f2a8e57eSGunnar Mills                    "items": {
397*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkInterface.json#/definitions/NetworkInterface"
398*f2a8e57eSGunnar Mills                    },
399*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `NetworkInterface` that this resource block contains.",
400*f2a8e57eSGunnar Mills                    "readonly": true,
401*f2a8e57eSGunnar Mills                    "type": "array"
402*f2a8e57eSGunnar Mills                },
403*f2a8e57eSGunnar Mills                "NetworkInterfaces@odata.count": {
404*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
405*f2a8e57eSGunnar Mills                },
406*f2a8e57eSGunnar Mills                "Oem": {
407*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
408*f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
409*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."
410*f2a8e57eSGunnar Mills                },
411*f2a8e57eSGunnar Mills                "Pool": {
412*f2a8e57eSGunnar Mills                    "anyOf": [
413*f2a8e57eSGunnar Mills                        {
414*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/PoolType"
415*f2a8e57eSGunnar Mills                        },
416*f2a8e57eSGunnar Mills                        {
417*f2a8e57eSGunnar Mills                            "type": "null"
418*f2a8e57eSGunnar Mills                        }
419*f2a8e57eSGunnar Mills                    ],
420*f2a8e57eSGunnar Mills                    "description": "The pool to which this resource block belongs.",
421*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the pool to which this resource block belongs.  If this resource block is not assigned to a client, this property shall contain the value `Unassigned`.  If this resource block is assigned to a client, this property shall not contain the value `Unassigned`.",
422*f2a8e57eSGunnar Mills                    "readonly": false,
423*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
424*f2a8e57eSGunnar Mills                },
425*f2a8e57eSGunnar Mills                "Processors": {
426*f2a8e57eSGunnar Mills                    "description": "An array of links to the processors available in this resource block.",
427*f2a8e57eSGunnar Mills                    "items": {
428*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Processor.json#/definitions/Processor"
429*f2a8e57eSGunnar Mills                    },
430*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Processor` that this resource block contains.",
431*f2a8e57eSGunnar Mills                    "readonly": true,
432*f2a8e57eSGunnar Mills                    "type": "array"
433*f2a8e57eSGunnar Mills                },
434*f2a8e57eSGunnar Mills                "Processors@odata.count": {
435*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
436*f2a8e57eSGunnar Mills                },
437*f2a8e57eSGunnar Mills                "ResourceBlockType": {
438*f2a8e57eSGunnar Mills                    "description": "The types of resources available on this resource block.",
439*f2a8e57eSGunnar Mills                    "items": {
440*f2a8e57eSGunnar Mills                        "$ref": "#/definitions/ResourceBlockType"
441*f2a8e57eSGunnar Mills                    },
442*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of enumerated values that describe the type of resources available.",
443*f2a8e57eSGunnar Mills                    "readonly": true,
444*f2a8e57eSGunnar Mills                    "type": "array"
445*f2a8e57eSGunnar Mills                },
446*f2a8e57eSGunnar Mills                "SimpleStorage": {
447*f2a8e57eSGunnar Mills                    "description": "An array of links to the simple storage available in this resource block.",
448*f2a8e57eSGunnar Mills                    "items": {
449*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/SimpleStorage.json#/definitions/SimpleStorage"
450*f2a8e57eSGunnar Mills                    },
451*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `SimpleStorage` that this resource block contains.",
452*f2a8e57eSGunnar Mills                    "readonly": true,
453*f2a8e57eSGunnar Mills                    "type": "array"
454*f2a8e57eSGunnar Mills                },
455*f2a8e57eSGunnar Mills                "SimpleStorage@odata.count": {
456*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
457*f2a8e57eSGunnar Mills                },
458*f2a8e57eSGunnar Mills                "Status": {
459*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
460*f2a8e57eSGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
461*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource."
462*f2a8e57eSGunnar Mills                },
463*f2a8e57eSGunnar Mills                "Storage": {
464*f2a8e57eSGunnar Mills                    "description": "An array of links to the storage available in this resource block.",
465*f2a8e57eSGunnar Mills                    "items": {
466*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.json#/definitions/Storage"
467*f2a8e57eSGunnar Mills                    },
468*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Storage` that this resource block contains.",
469*f2a8e57eSGunnar Mills                    "readonly": true,
470*f2a8e57eSGunnar Mills                    "type": "array"
471*f2a8e57eSGunnar Mills                },
472*f2a8e57eSGunnar Mills                "Storage@odata.count": {
473*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
474*f2a8e57eSGunnar Mills                }
475*f2a8e57eSGunnar Mills            },
476*f2a8e57eSGunnar Mills            "required": [
477*f2a8e57eSGunnar Mills                "CompositionStatus",
478*f2a8e57eSGunnar Mills                "ResourceBlockType",
479*f2a8e57eSGunnar Mills                "@odata.id",
480*f2a8e57eSGunnar Mills                "@odata.type",
481*f2a8e57eSGunnar Mills                "Id",
482*f2a8e57eSGunnar Mills                "Name"
483*f2a8e57eSGunnar Mills            ],
484*f2a8e57eSGunnar Mills            "type": "object"
485*f2a8e57eSGunnar Mills        },
486*f2a8e57eSGunnar Mills        "ResourceBlockLimits": {
487*f2a8e57eSGunnar Mills            "additionalProperties": false,
488*f2a8e57eSGunnar Mills            "description": "This type specifies the allowable quantities of types of resource blocks for a composition request.",
489*f2a8e57eSGunnar Mills            "longDescription": "This object shall specify the allowable quantities of types of resource blocks for a given composition request.",
490*f2a8e57eSGunnar Mills            "patternProperties": {
491*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
492*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
493*f2a8e57eSGunnar Mills                    "type": [
494*f2a8e57eSGunnar Mills                        "array",
495*f2a8e57eSGunnar Mills                        "boolean",
496*f2a8e57eSGunnar Mills                        "integer",
497*f2a8e57eSGunnar Mills                        "number",
498*f2a8e57eSGunnar Mills                        "null",
499*f2a8e57eSGunnar Mills                        "object",
500*f2a8e57eSGunnar Mills                        "string"
501*f2a8e57eSGunnar Mills                    ]
502*f2a8e57eSGunnar Mills                }
503*f2a8e57eSGunnar Mills            },
504*f2a8e57eSGunnar Mills            "properties": {
505*f2a8e57eSGunnar Mills                "MaxCompute": {
506*f2a8e57eSGunnar Mills                    "description": "The maximum number of resource blocks of type `Compute` allowed for the composition request.",
507*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the maximum number of resource blocks of type `Compute` allowed for the composition request.",
508*f2a8e57eSGunnar Mills                    "minimum": 1,
509*f2a8e57eSGunnar Mills                    "readonly": true,
510*f2a8e57eSGunnar Mills                    "type": [
511*f2a8e57eSGunnar Mills                        "integer",
512*f2a8e57eSGunnar Mills                        "null"
513*f2a8e57eSGunnar Mills                    ],
514*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
515*f2a8e57eSGunnar Mills                },
516*f2a8e57eSGunnar Mills                "MaxComputerSystem": {
517*f2a8e57eSGunnar Mills                    "description": "The maximum number of resource blocks of type `ComputerSystem` allowed for the composition request.",
518*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the maximum number of resource blocks of type `ComputerSystem` allowed for the composition request.",
519*f2a8e57eSGunnar Mills                    "minimum": 1,
520*f2a8e57eSGunnar Mills                    "readonly": true,
521*f2a8e57eSGunnar Mills                    "type": [
522*f2a8e57eSGunnar Mills                        "integer",
523*f2a8e57eSGunnar Mills                        "null"
524*f2a8e57eSGunnar Mills                    ],
525*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
526*f2a8e57eSGunnar Mills                },
527*f2a8e57eSGunnar Mills                "MaxExpansion": {
528*f2a8e57eSGunnar Mills                    "description": "The maximum number of resource blocks of type `Expansion` allowed for the composition request.",
529*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the maximum number of resource blocks of type `Expansion` allowed for the composition request.",
530*f2a8e57eSGunnar Mills                    "minimum": 1,
531*f2a8e57eSGunnar Mills                    "readonly": true,
532*f2a8e57eSGunnar Mills                    "type": [
533*f2a8e57eSGunnar Mills                        "integer",
534*f2a8e57eSGunnar Mills                        "null"
535*f2a8e57eSGunnar Mills                    ],
536*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
537*f2a8e57eSGunnar Mills                },
538*f2a8e57eSGunnar Mills                "MaxMemory": {
539*f2a8e57eSGunnar Mills                    "description": "The maximum number of resource blocks of type `Memory` allowed for the composition request.",
540*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the maximum number of resource blocks of type `Memory` allowed for the composition request.",
541*f2a8e57eSGunnar Mills                    "minimum": 1,
542*f2a8e57eSGunnar Mills                    "readonly": true,
543*f2a8e57eSGunnar Mills                    "type": [
544*f2a8e57eSGunnar Mills                        "integer",
545*f2a8e57eSGunnar Mills                        "null"
546*f2a8e57eSGunnar Mills                    ],
547*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
548*f2a8e57eSGunnar Mills                },
549*f2a8e57eSGunnar Mills                "MaxNetwork": {
550*f2a8e57eSGunnar Mills                    "description": "The maximum number of resource blocks of type `Network` allowed for the composition request.",
551*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the maximum number of resource blocks of type `Network` allowed for the composition request.",
552*f2a8e57eSGunnar Mills                    "minimum": 1,
553*f2a8e57eSGunnar Mills                    "readonly": true,
554*f2a8e57eSGunnar Mills                    "type": [
555*f2a8e57eSGunnar Mills                        "integer",
556*f2a8e57eSGunnar Mills                        "null"
557*f2a8e57eSGunnar Mills                    ],
558*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
559*f2a8e57eSGunnar Mills                },
560*f2a8e57eSGunnar Mills                "MaxProcessor": {
561*f2a8e57eSGunnar Mills                    "description": "The maximum number of resource blocks of type `Processor` allowed for the composition request.",
562*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the maximum number of resource blocks of type `Processor` allowed for the composition request.",
563*f2a8e57eSGunnar Mills                    "minimum": 1,
564*f2a8e57eSGunnar Mills                    "readonly": true,
565*f2a8e57eSGunnar Mills                    "type": [
566*f2a8e57eSGunnar Mills                        "integer",
567*f2a8e57eSGunnar Mills                        "null"
568*f2a8e57eSGunnar Mills                    ],
569*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
570*f2a8e57eSGunnar Mills                },
571*f2a8e57eSGunnar Mills                "MaxStorage": {
572*f2a8e57eSGunnar Mills                    "description": "The maximum number of resource blocks of type `Storage` allowed for the composition request.",
573*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the maximum number of resource blocks of type `Storage` allowed for the composition request.",
574*f2a8e57eSGunnar Mills                    "minimum": 1,
575*f2a8e57eSGunnar Mills                    "readonly": true,
576*f2a8e57eSGunnar Mills                    "type": [
577*f2a8e57eSGunnar Mills                        "integer",
578*f2a8e57eSGunnar Mills                        "null"
579*f2a8e57eSGunnar Mills                    ],
580*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
581*f2a8e57eSGunnar Mills                },
582*f2a8e57eSGunnar Mills                "MinCompute": {
583*f2a8e57eSGunnar Mills                    "description": "The minimum number of resource blocks of type `Compute` required for the composition request.",
584*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the minimum number of resource blocks of type `Compute` required for the composition request.",
585*f2a8e57eSGunnar Mills                    "minimum": 0,
586*f2a8e57eSGunnar Mills                    "readonly": true,
587*f2a8e57eSGunnar Mills                    "type": [
588*f2a8e57eSGunnar Mills                        "integer",
589*f2a8e57eSGunnar Mills                        "null"
590*f2a8e57eSGunnar Mills                    ],
591*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
592*f2a8e57eSGunnar Mills                },
593*f2a8e57eSGunnar Mills                "MinComputerSystem": {
594*f2a8e57eSGunnar Mills                    "description": "The minimum number of resource blocks of type `ComputerSystem` required for the composition request.",
595*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the minimum number of resource blocks of type `ComputerSystem` required for the composition request.",
596*f2a8e57eSGunnar Mills                    "minimum": 0,
597*f2a8e57eSGunnar Mills                    "readonly": true,
598*f2a8e57eSGunnar Mills                    "type": [
599*f2a8e57eSGunnar Mills                        "integer",
600*f2a8e57eSGunnar Mills                        "null"
601*f2a8e57eSGunnar Mills                    ],
602*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
603*f2a8e57eSGunnar Mills                },
604*f2a8e57eSGunnar Mills                "MinExpansion": {
605*f2a8e57eSGunnar Mills                    "description": "The minimum number of resource blocks of type `Expansion` required for the composition request.",
606*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the minimum number of resource blocks of type `Expansion` required for the composition request.",
607*f2a8e57eSGunnar Mills                    "minimum": 0,
608*f2a8e57eSGunnar Mills                    "readonly": true,
609*f2a8e57eSGunnar Mills                    "type": [
610*f2a8e57eSGunnar Mills                        "integer",
611*f2a8e57eSGunnar Mills                        "null"
612*f2a8e57eSGunnar Mills                    ],
613*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
614*f2a8e57eSGunnar Mills                },
615*f2a8e57eSGunnar Mills                "MinMemory": {
616*f2a8e57eSGunnar Mills                    "description": "The minimum number of resource blocks of type `Memory` required for the composition request.",
617*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the minimum number of resource blocks of type `Memory` required for the composition request.",
618*f2a8e57eSGunnar Mills                    "minimum": 0,
619*f2a8e57eSGunnar Mills                    "readonly": true,
620*f2a8e57eSGunnar Mills                    "type": [
621*f2a8e57eSGunnar Mills                        "integer",
622*f2a8e57eSGunnar Mills                        "null"
623*f2a8e57eSGunnar Mills                    ],
624*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
625*f2a8e57eSGunnar Mills                },
626*f2a8e57eSGunnar Mills                "MinNetwork": {
627*f2a8e57eSGunnar Mills                    "description": "The minimum number of resource blocks of type `Network` required for the composition request.",
628*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the minimum number of resource blocks of type `Network` required for the composition request.",
629*f2a8e57eSGunnar Mills                    "minimum": 0,
630*f2a8e57eSGunnar Mills                    "readonly": true,
631*f2a8e57eSGunnar Mills                    "type": [
632*f2a8e57eSGunnar Mills                        "integer",
633*f2a8e57eSGunnar Mills                        "null"
634*f2a8e57eSGunnar Mills                    ],
635*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
636*f2a8e57eSGunnar Mills                },
637*f2a8e57eSGunnar Mills                "MinProcessor": {
638*f2a8e57eSGunnar Mills                    "description": "The minimum number of resource blocks of type `Processor` required for the composition request.",
639*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the minimum number of resource blocks of type `Processor` required for the composition request.",
640*f2a8e57eSGunnar Mills                    "minimum": 0,
641*f2a8e57eSGunnar Mills                    "readonly": true,
642*f2a8e57eSGunnar Mills                    "type": [
643*f2a8e57eSGunnar Mills                        "integer",
644*f2a8e57eSGunnar Mills                        "null"
645*f2a8e57eSGunnar Mills                    ],
646*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
647*f2a8e57eSGunnar Mills                },
648*f2a8e57eSGunnar Mills                "MinStorage": {
649*f2a8e57eSGunnar Mills                    "description": "The minimum number of resource blocks of type `Storage` required for the composition request.",
650*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an integer that specifies the minimum number of resource blocks of type `Storage` required for the composition request.",
651*f2a8e57eSGunnar Mills                    "minimum": 0,
652*f2a8e57eSGunnar Mills                    "readonly": true,
653*f2a8e57eSGunnar Mills                    "type": [
654*f2a8e57eSGunnar Mills                        "integer",
655*f2a8e57eSGunnar Mills                        "null"
656*f2a8e57eSGunnar Mills                    ],
657*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
658*f2a8e57eSGunnar Mills                }
659*f2a8e57eSGunnar Mills            },
660*f2a8e57eSGunnar Mills            "type": "object"
661*f2a8e57eSGunnar Mills        },
662*f2a8e57eSGunnar Mills        "ResourceBlockType": {
663*f2a8e57eSGunnar Mills            "enum": [
664*f2a8e57eSGunnar Mills                "Compute",
665*f2a8e57eSGunnar Mills                "Processor",
666*f2a8e57eSGunnar Mills                "Memory",
667*f2a8e57eSGunnar Mills                "Network",
668*f2a8e57eSGunnar Mills                "Storage",
669*f2a8e57eSGunnar Mills                "ComputerSystem",
670*f2a8e57eSGunnar Mills                "Expansion",
671*f2a8e57eSGunnar Mills                "IndependentResource"
672*f2a8e57eSGunnar Mills            ],
673*f2a8e57eSGunnar Mills            "enumDescriptions": {
674*f2a8e57eSGunnar Mills                "Compute": "This resource block contains resources of type `Processor` and `Memory` in a manner that creates a compute complex.",
675*f2a8e57eSGunnar Mills                "ComputerSystem": "This resource block contains resources of type `ComputerSystem`.",
676*f2a8e57eSGunnar Mills                "Expansion": "This resource block is capable of changing over time based on its configuration.  Different types of devices within this resource block can be added and removed over time.",
677*f2a8e57eSGunnar Mills                "IndependentResource": "This resource block is capable of being consumed as a standalone component.  This resource block can represent things such as a software platform on one or more computer systems or an appliance that provides composable resources and other services and can be managed independently of the Redfish service.",
678*f2a8e57eSGunnar Mills                "Memory": "This resource block contains resources of type `Memory`.",
679*f2a8e57eSGunnar Mills                "Network": "This resource block contains network resources, such as resources of type `EthernetInterface` and `NetworkInterface`.",
680*f2a8e57eSGunnar Mills                "Processor": "This resource block contains resources of type `Processor`.",
681*f2a8e57eSGunnar Mills                "Storage": "This resource block contains storage resources, such as resources of type `Storage` and `SimpleStorage`."
682*f2a8e57eSGunnar Mills            },
683*f2a8e57eSGunnar Mills            "enumVersionAdded": {
684*f2a8e57eSGunnar Mills                "Expansion": "v1_2_0",
685*f2a8e57eSGunnar Mills                "IndependentResource": "v1_4_0"
686*f2a8e57eSGunnar Mills            },
687*f2a8e57eSGunnar Mills            "type": "string"
688*f2a8e57eSGunnar Mills        }
689*f2a8e57eSGunnar Mills    },
690*f2a8e57eSGunnar Mills    "language": "en",
691*f2a8e57eSGunnar Mills    "owningEntity": "DMTF",
692*f2a8e57eSGunnar Mills    "release": "2020.4",
693*f2a8e57eSGunnar Mills    "title": "#ResourceBlock.v1_4_3.ResourceBlock"
694*f2a8e57eSGunnar Mills}