1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/Manifest.v1_1_2.json",
3    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
4    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
5    "definitions": {
6        "Expand": {
7            "enum": [
8                "None",
9                "All",
10                "Relevant"
11            ],
12            "enumDescriptions": {
13                "All": "Expand all subordinate references.",
14                "None": "Do not expand any references.",
15                "Relevant": "Expand relevant subordinate references.  Relevant references are those that are tied to a constrained composition request, such as a request for a quantity of processors."
16            },
17            "enumLongDescriptions": {
18                "All": "This value shall indicate that all subordinate references in the manifest response will be expanded.",
19                "None": "This value shall indicate that references in the manifest response will not be expanded.",
20                "Relevant": "This value shall indicate that relevant subordinate references in the manifest response will be expanded."
21            },
22            "type": "string"
23        },
24        "Manifest": {
25            "additionalProperties": false,
26            "description": "This type describes a manifest containing a set of requests to be fulfilled.  The manifest contains a set of stanzas, where each stanza describes a single request.",
27            "longDescription": "This type shall describe a manifest containing a set of requests to be fulfilled.",
28            "patternProperties": {
29                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
30                    "description": "This property shall specify a valid odata or Redfish property.",
31                    "type": [
32                        "array",
33                        "boolean",
34                        "integer",
35                        "number",
36                        "null",
37                        "object",
38                        "string"
39                    ]
40                }
41            },
42            "properties": {
43                "Description": {
44                    "description": "The description of this manifest.",
45                    "longDescription": "This property shall contain the description of this manifest.",
46                    "readonly": false,
47                    "type": [
48                        "string",
49                        "null"
50                    ]
51                },
52                "Expand": {
53                    "anyOf": [
54                        {
55                            "$ref": "#/definitions/Expand"
56                        },
57                        {
58                            "type": "null"
59                        }
60                    ],
61                    "description": "The expansion control for references in manifest responses, similar to the `$expand=.` query parameter.",
62                    "longDescription": "This property shall contain the expansion control for references in manifest responses.",
63                    "readonly": false
64                },
65                "Stanzas": {
66                    "description": "An array of stanzas that describe the requests specified by this manifest.",
67                    "items": {
68                        "anyOf": [
69                            {
70                                "$ref": "#/definitions/Stanza"
71                            },
72                            {
73                                "type": "null"
74                            }
75                        ]
76                    },
77                    "longDescription": "This property shall contain an array of stanzas that describe the requests specified by this manifest.",
78                    "type": "array"
79                },
80                "Timestamp": {
81                    "description": "The date and time when the manifest was created.",
82                    "format": "date-time",
83                    "longDescription": "This property shall contain the date and time when the manifest was created.",
84                    "readonly": false,
85                    "type": [
86                        "string",
87                        "null"
88                    ]
89                }
90            },
91            "type": "object"
92        },
93        "Request": {
94            "additionalProperties": true,
95            "description": "The content of the request for the stanza.",
96            "longDescription": "This type shall describe the request details of a stanza within a manifest.  Its contents vary depending on the value of the `StanzaType` property of the stanza.",
97            "patternProperties": {
98                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
99                    "description": "This property shall specify a valid odata or Redfish property.",
100                    "type": [
101                        "array",
102                        "boolean",
103                        "integer",
104                        "number",
105                        "null",
106                        "object",
107                        "string"
108                    ]
109                }
110            },
111            "properties": {},
112            "type": "object"
113        },
114        "Response": {
115            "additionalProperties": true,
116            "description": "The content of the response for the stanza.",
117            "longDescription": "This type shall describe the response details of a stanza within a manifest.  Its contents vary depending on the value of the `StanzaType` property of the stanza.",
118            "patternProperties": {
119                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
120                    "description": "This property shall specify a valid odata or Redfish property.",
121                    "type": [
122                        "array",
123                        "boolean",
124                        "integer",
125                        "number",
126                        "null",
127                        "object",
128                        "string"
129                    ]
130                }
131            },
132            "properties": {},
133            "type": "object"
134        },
135        "Stanza": {
136            "additionalProperties": false,
137            "description": "A stanza contains properties that describe a request to be fulfilled within a manifest.",
138            "longDescription": "This type shall contain properties that describe a request to be fulfilled within a manifest.",
139            "patternProperties": {
140                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
141                    "description": "This property shall specify a valid odata or Redfish property.",
142                    "type": [
143                        "array",
144                        "boolean",
145                        "integer",
146                        "number",
147                        "null",
148                        "object",
149                        "string"
150                    ]
151                }
152            },
153            "properties": {
154                "OEMStanzaType": {
155                    "description": "The OEM-defined type of stanza.",
156                    "longDescription": "This property shall contain the OEM-defined type of stanza.  This property shall be present if `StanzaType` is `OEM`.",
157                    "readonly": false,
158                    "type": [
159                        "string",
160                        "null"
161                    ]
162                },
163                "Request": {
164                    "anyOf": [
165                        {
166                            "$ref": "#/definitions/Request"
167                        },
168                        {
169                            "type": "null"
170                        }
171                    ],
172                    "description": "The request details for the stanza.",
173                    "longDescription": "This property shall contain the request details for the stanza, and the contents vary depending on the value of the `StanzaType` property."
174                },
175                "Response": {
176                    "anyOf": [
177                        {
178                            "$ref": "#/definitions/Response"
179                        },
180                        {
181                            "type": "null"
182                        }
183                    ],
184                    "description": "The response details for the stanza.",
185                    "longDescription": "This property shall contain the response details for the stanza, and the contents vary depending on the value of the `StanzaType` property."
186                },
187                "StanzaId": {
188                    "description": "The identifier of the stanza.  This is a unique identifier specified by the client and is not used by the service.",
189                    "longDescription": "This property shall contain the identifier of the stanza.",
190                    "readonly": false,
191                    "type": [
192                        "string",
193                        "null"
194                    ]
195                },
196                "StanzaType": {
197                    "anyOf": [
198                        {
199                            "$ref": "#/definitions/StanzaType"
200                        },
201                        {
202                            "type": "null"
203                        }
204                    ],
205                    "description": "The type of stanza.",
206                    "longDescription": "This property shall contain the type of stanza.",
207                    "readonly": false
208                }
209            },
210            "type": "object"
211        },
212        "StanzaType": {
213            "enum": [
214                "ComposeSystem",
215                "DecomposeSystem",
216                "ComposeResource",
217                "DecomposeResource",
218                "OEM",
219                "RegisterResourceBlock"
220            ],
221            "enumDescriptions": {
222                "ComposeResource": "A stanza that describes the desired end state for a composed resource block.  The resources consumed by the composed resource block are moved to the active pool.",
223                "ComposeSystem": "A stanza that describes the desired end state for computer system composition operation.  The resources consumed by the composed computer system are moved to the active pool.",
224                "DecomposeResource": "A stanza that references a composed resource block to decompose and return resources to the free pool.",
225                "DecomposeSystem": "A stanza that references a computer system to decompose and return resources to the free pool.",
226                "OEM": "A stanza that describes an OEM-specific request.",
227                "RegisterResourceBlock": "A stanza that references a resource, such as a computer system, in order to create a resource block that references the resource and add it to the free pool."
228            },
229            "enumLongDescriptions": {
230                "ComposeResource": "This value shall indicate a stanza that describes a composed resource block.  The resource blocks assigned to the composed resource block shall be moved to the active pool.  The `Request` property of the stanza shall contain a resource of type `ResourceBlock` that represents the composition request.  The `Response` property of the stanza shall contain a resource of type `ResourceBlock` that represents the composed resource block or a Redfish Specification-defined error response.",
231                "ComposeSystem": "This value shall indicate a stanza that describes the specific, constrained, or mixed resources required to compose a computer system.  The resource blocks assigned to the computer system shall be moved to the active pool.  The `Request` property of the stanza shall contain a resource of type `ComputerSystem` that represents the composition request.  The `Response` property of the stanza shall contain a resource of type `ComputerSystem` that represents the composed system or a Redfish Specification-defined error response.",
232                "DecomposeResource": "This value shall indicate a stanza that references a composed resource block to decompose and return the resource blocks to the free pool that are no longer contributing to composed resources.  The `Request` property of the stanza shall be a reference object as defined by the 'Reference properties' clause of the Redfish Specification containing a reference to the resource of type `ResourceBlock` to decompose.  The `Response` property of the stanza shall contain a resource of type `ResourceBlock` that represents the decomposed resource block or a Redfish Specification-defined error response.",
233                "DecomposeSystem": "This value shall indicate a stanza that references a computer system to decompose and return the resource blocks to the free pool that are no longer contributing to composed resources.  The `Request` property of the stanza shall be a Redfish Specification-defined reference object containing a reference to the resource of type `ComputerSystem` to decompose.  The `Response` property of the stanza shall contain a resource of type `ComputerSystem` that represents the decomposed system or a Redfish Specification-defined error response.",
234                "OEM": "This value shall indicate a stanza that describes an OEM-specific request.  The `OEMStanzaType` property shall contain the specific OEM stanza type.",
235                "RegisterResourceBlock": "This value shall indicate a stanza that references a resource to create a resource block that references the resource and add it to the free pool.  The `Request` property of the stanza shall contain a resource of type `ResourceBlock` that represents the registration request.  The `Response` property of the stanza shall contain a resource of type `ResourceBlock` that represents the composed system or a Redfish Specification-defined error response."
236            },
237            "enumVersionAdded": {
238                "RegisterResourceBlock": "v1_1_0"
239            },
240            "type": "string"
241        }
242    },
243    "language": "en",
244    "owningEntity": "DMTF",
245    "release": "2022.1",
246    "title": "#Manifest.v1_1_2"
247}