xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/Settings.v1_4_0.json (revision f2a8e57ede74a8252100b2281e3f4d170aa69391)
1*f2a8e57eSGunnar Mills{
2*f2a8e57eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/Settings.v1_4_0.json",
3*f2a8e57eSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
4*f2a8e57eSGunnar Mills    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
5*f2a8e57eSGunnar Mills    "definitions": {
6*f2a8e57eSGunnar Mills        "ApplyTime": {
7*f2a8e57eSGunnar Mills            "enum": [
8*f2a8e57eSGunnar Mills                "Immediate",
9*f2a8e57eSGunnar Mills                "OnReset",
10*f2a8e57eSGunnar Mills                "AtMaintenanceWindowStart",
11*f2a8e57eSGunnar Mills                "InMaintenanceWindowOnReset"
12*f2a8e57eSGunnar Mills            ],
13*f2a8e57eSGunnar Mills            "enumDescriptions": {
14*f2a8e57eSGunnar Mills                "AtMaintenanceWindowStart": "Apply during a maintenance window as specified by an administrator.",
15*f2a8e57eSGunnar Mills                "Immediate": "Apply immediately.  This value might result in an immediate host reset, manager reset, or other side effects.",
16*f2a8e57eSGunnar Mills                "InMaintenanceWindowOnReset": "Apply after a reset but within maintenance window as specified by an administrator.",
17*f2a8e57eSGunnar Mills                "OnReset": "Apply on a reset."
18*f2a8e57eSGunnar Mills            },
19*f2a8e57eSGunnar Mills            "enumLongDescriptions": {
20*f2a8e57eSGunnar Mills                "AtMaintenanceWindowStart": "This value shall indicate the values within the settings resource are applied during the maintenance window specified by the `MaintenanceWindowStartTime` and `MaintenanceWindowDurationInSeconds` properties.  A service can perform resets during this maintenance window.",
21*f2a8e57eSGunnar Mills                "Immediate": "This value shall indicate the values within the settings resource are applied immediately.  This value may result in an immediate host reset, manager reset, or other side effects.",
22*f2a8e57eSGunnar Mills                "InMaintenanceWindowOnReset": "This value shall indicate the values within the settings resource are applied during the maintenance window specified by the `MaintenanceWindowStartTime` and `MaintenanceWindowDurationInSeconds` properties, and if a reset occurs within the maintenance window.",
23*f2a8e57eSGunnar Mills                "OnReset": "This value shall indicate the values within settings resource are applied when the system or service is reset."
24*f2a8e57eSGunnar Mills            },
25*f2a8e57eSGunnar Mills            "type": "string"
26*f2a8e57eSGunnar Mills        },
27*f2a8e57eSGunnar Mills        "MaintenanceWindow": {
28*f2a8e57eSGunnar Mills            "additionalProperties": false,
29*f2a8e57eSGunnar Mills            "description": "The maintenance window assignment for applying settings or operations to a resource.",
30*f2a8e57eSGunnar Mills            "longDescription": "This type shall indicate that a resource has a maintenance window assignment for applying settings or operations.  Other resources can link to this object to convey a common control surface for the configuration of the maintenance window.",
31*f2a8e57eSGunnar Mills            "patternProperties": {
32*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
33*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
34*f2a8e57eSGunnar Mills                    "type": [
35*f2a8e57eSGunnar Mills                        "array",
36*f2a8e57eSGunnar Mills                        "boolean",
37*f2a8e57eSGunnar Mills                        "integer",
38*f2a8e57eSGunnar Mills                        "number",
39*f2a8e57eSGunnar Mills                        "null",
40*f2a8e57eSGunnar Mills                        "object",
41*f2a8e57eSGunnar Mills                        "string"
42*f2a8e57eSGunnar Mills                    ]
43*f2a8e57eSGunnar Mills                }
44*f2a8e57eSGunnar Mills            },
45*f2a8e57eSGunnar Mills            "properties": {
46*f2a8e57eSGunnar Mills                "MaintenanceWindowDurationInSeconds": {
47*f2a8e57eSGunnar Mills                    "description": "The expiry time of maintenance window in seconds.",
48*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate the end of the maintenance window as the number of seconds after the time specified by the `MaintenanceWindowStartTime` property.",
49*f2a8e57eSGunnar Mills                    "minimum": 0,
50*f2a8e57eSGunnar Mills                    "readonly": false,
51*f2a8e57eSGunnar Mills                    "type": "integer",
52*f2a8e57eSGunnar Mills                    "units": "s",
53*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
54*f2a8e57eSGunnar Mills                },
55*f2a8e57eSGunnar Mills                "MaintenanceWindowStartTime": {
56*f2a8e57eSGunnar Mills                    "description": "The start time of a maintenance window.",
57*f2a8e57eSGunnar Mills                    "format": "date-time",
58*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate the date and time when the service can start to apply the requested settings or operation as part of a maintenance window.  Services shall provide a default value if not configured by a user.",
59*f2a8e57eSGunnar Mills                    "readonly": false,
60*f2a8e57eSGunnar Mills                    "type": "string",
61*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
62*f2a8e57eSGunnar Mills                }
63*f2a8e57eSGunnar Mills            },
64*f2a8e57eSGunnar Mills            "required": [
65*f2a8e57eSGunnar Mills                "MaintenanceWindowStartTime",
66*f2a8e57eSGunnar Mills                "MaintenanceWindowDurationInSeconds"
67*f2a8e57eSGunnar Mills            ],
68*f2a8e57eSGunnar Mills            "type": "object"
69*f2a8e57eSGunnar Mills        },
70*f2a8e57eSGunnar Mills        "OperationApplyTimeSupport": {
71*f2a8e57eSGunnar Mills            "additionalProperties": false,
72*f2a8e57eSGunnar Mills            "description": "The client can request a specific apply time of a create, delete, or action operation of a resource.",
73*f2a8e57eSGunnar Mills            "longDescription": "This type shall indicate that a client can request a specific apply time of a create, delete, or action operation of a resource.",
74*f2a8e57eSGunnar Mills            "patternProperties": {
75*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
76*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
77*f2a8e57eSGunnar Mills                    "type": [
78*f2a8e57eSGunnar Mills                        "array",
79*f2a8e57eSGunnar Mills                        "boolean",
80*f2a8e57eSGunnar Mills                        "integer",
81*f2a8e57eSGunnar Mills                        "number",
82*f2a8e57eSGunnar Mills                        "null",
83*f2a8e57eSGunnar Mills                        "object",
84*f2a8e57eSGunnar Mills                        "string"
85*f2a8e57eSGunnar Mills                    ]
86*f2a8e57eSGunnar Mills                }
87*f2a8e57eSGunnar Mills            },
88*f2a8e57eSGunnar Mills            "properties": {
89*f2a8e57eSGunnar Mills                "MaintenanceWindowDurationInSeconds": {
90*f2a8e57eSGunnar Mills                    "description": "The expiry time of maintenance window in seconds.",
91*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the same as the `MaintenanceWindowDurationInSeconds` property found in the `MaintenanceWindow` structure on the `MaintenanceWindowResource`.  This property shall be required if the `SupportedValues` property contains `AtMaintenanceWindowStart` or `InMaintenanceWindowOnReset`.",
92*f2a8e57eSGunnar Mills                    "minimum": 0,
93*f2a8e57eSGunnar Mills                    "readonly": true,
94*f2a8e57eSGunnar Mills                    "type": "integer",
95*f2a8e57eSGunnar Mills                    "units": "s",
96*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
97*f2a8e57eSGunnar Mills                },
98*f2a8e57eSGunnar Mills                "MaintenanceWindowResource": {
99*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef",
100*f2a8e57eSGunnar Mills                    "description": "The location of the maintenance window settings.",
101*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource that contains the `@Redfish.MaintenanceWindow` property that governs this resource.  This property shall be required if the `SupportedValues` property contains `AtMaintenanceWindowStart` or `InMaintenanceWindowOnReset`.",
102*f2a8e57eSGunnar Mills                    "readonly": true,
103*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
104*f2a8e57eSGunnar Mills                },
105*f2a8e57eSGunnar Mills                "MaintenanceWindowStartTime": {
106*f2a8e57eSGunnar Mills                    "description": "The start time of a maintenance window.",
107*f2a8e57eSGunnar Mills                    "format": "date-time",
108*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the same as the `MaintenanceWindowStartTime` property found in the `MaintenanceWindow` structure on the `MaintenanceWindowResource`.  Services shall provide a default value if not configured by a user.  This property shall be required if the `SupportedValues` property contains `AtMaintenanceWindowStart` or `InMaintenanceWindowOnReset`.",
109*f2a8e57eSGunnar Mills                    "readonly": true,
110*f2a8e57eSGunnar Mills                    "type": "string",
111*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
112*f2a8e57eSGunnar Mills                },
113*f2a8e57eSGunnar Mills                "SupportedValues": {
114*f2a8e57eSGunnar Mills                    "description": "The types of apply times that the client can request when performing a create, delete, or action operation.",
115*f2a8e57eSGunnar Mills                    "items": {
116*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Settings.json#/definitions/OperationApplyTime"
117*f2a8e57eSGunnar Mills                    },
118*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate the types of apply times the client can request when performing a create, delete, or action operation.",
119*f2a8e57eSGunnar Mills                    "readonly": true,
120*f2a8e57eSGunnar Mills                    "type": "array",
121*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
122*f2a8e57eSGunnar Mills                }
123*f2a8e57eSGunnar Mills            },
124*f2a8e57eSGunnar Mills            "required": [
125*f2a8e57eSGunnar Mills                "SupportedValues"
126*f2a8e57eSGunnar Mills            ],
127*f2a8e57eSGunnar Mills            "type": "object"
128*f2a8e57eSGunnar Mills        },
129*f2a8e57eSGunnar Mills        "PreferredApplyTime": {
130*f2a8e57eSGunnar Mills            "additionalProperties": false,
131*f2a8e57eSGunnar Mills            "description": "The preferred time to apply configuration settings.",
132*f2a8e57eSGunnar Mills            "longDescription": "This type shall be specified by client to indicate the preferred time to apply the configuration settings.",
133*f2a8e57eSGunnar Mills            "patternProperties": {
134*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
135*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
136*f2a8e57eSGunnar Mills                    "type": [
137*f2a8e57eSGunnar Mills                        "array",
138*f2a8e57eSGunnar Mills                        "boolean",
139*f2a8e57eSGunnar Mills                        "integer",
140*f2a8e57eSGunnar Mills                        "number",
141*f2a8e57eSGunnar Mills                        "null",
142*f2a8e57eSGunnar Mills                        "object",
143*f2a8e57eSGunnar Mills                        "string"
144*f2a8e57eSGunnar Mills                    ]
145*f2a8e57eSGunnar Mills                }
146*f2a8e57eSGunnar Mills            },
147*f2a8e57eSGunnar Mills            "properties": {
148*f2a8e57eSGunnar Mills                "ApplyTime": {
149*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/ApplyTime",
150*f2a8e57eSGunnar Mills                    "description": "The time when to apply the settings.",
151*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate when to apply the values in this settings resource.",
152*f2a8e57eSGunnar Mills                    "readonly": false,
153*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
154*f2a8e57eSGunnar Mills                },
155*f2a8e57eSGunnar Mills                "MaintenanceWindowDurationInSeconds": {
156*f2a8e57eSGunnar Mills                    "description": "The expiry time of maintenance window in seconds.",
157*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate the end of the maintenance window as the number of seconds after the time specified by the `MaintenanceWindowStartTime` property.  This property shall be required if the `ApplyTime` property is `AtMaintenanceWindowStart` or `InMaintenanceWindowOnReset`.",
158*f2a8e57eSGunnar Mills                    "minimum": 0,
159*f2a8e57eSGunnar Mills                    "readonly": false,
160*f2a8e57eSGunnar Mills                    "type": "integer",
161*f2a8e57eSGunnar Mills                    "units": "s",
162*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
163*f2a8e57eSGunnar Mills                },
164*f2a8e57eSGunnar Mills                "MaintenanceWindowStartTime": {
165*f2a8e57eSGunnar Mills                    "description": "The start time of a maintenance window.",
166*f2a8e57eSGunnar Mills                    "format": "date-time",
167*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate the date and time when the service can start to apply the future configuration as part of a maintenance window.  Services shall provide a default value if not configured by a user.  This property shall be required if the `ApplyTime` property is `AtMaintenanceWindowStart` or `InMaintenanceWindowOnReset`.",
168*f2a8e57eSGunnar Mills                    "readonly": false,
169*f2a8e57eSGunnar Mills                    "type": "string",
170*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
171*f2a8e57eSGunnar Mills                }
172*f2a8e57eSGunnar Mills            },
173*f2a8e57eSGunnar Mills            "type": "object"
174*f2a8e57eSGunnar Mills        },
175*f2a8e57eSGunnar Mills        "Settings": {
176*f2a8e57eSGunnar Mills            "additionalProperties": false,
177*f2a8e57eSGunnar Mills            "description": "The resource settings.",
178*f2a8e57eSGunnar Mills            "longDescription": "This type shall describe any settings of a resource.",
179*f2a8e57eSGunnar Mills            "patternProperties": {
180*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
181*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
182*f2a8e57eSGunnar Mills                    "type": [
183*f2a8e57eSGunnar Mills                        "array",
184*f2a8e57eSGunnar Mills                        "boolean",
185*f2a8e57eSGunnar Mills                        "integer",
186*f2a8e57eSGunnar Mills                        "number",
187*f2a8e57eSGunnar Mills                        "null",
188*f2a8e57eSGunnar Mills                        "object",
189*f2a8e57eSGunnar Mills                        "string"
190*f2a8e57eSGunnar Mills                    ]
191*f2a8e57eSGunnar Mills                }
192*f2a8e57eSGunnar Mills            },
193*f2a8e57eSGunnar Mills            "properties": {
194*f2a8e57eSGunnar Mills                "ETag": {
195*f2a8e57eSGunnar Mills                    "description": "The entity tag (ETag) of the resource to which the settings were applied, after the application.",
196*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the entity tag (ETag) of the resource to which the settings were applied, after the application.  The client can check this value against the ETag of this resource to determine whether the resource had other changes.",
197*f2a8e57eSGunnar Mills                    "readonly": true,
198*f2a8e57eSGunnar Mills                    "type": [
199*f2a8e57eSGunnar Mills                        "string",
200*f2a8e57eSGunnar Mills                        "null"
201*f2a8e57eSGunnar Mills                    ]
202*f2a8e57eSGunnar Mills                },
203*f2a8e57eSGunnar Mills                "MaintenanceWindowResource": {
204*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef",
205*f2a8e57eSGunnar Mills                    "description": "The location of the maintenance window settings.",
206*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource that contains the `@Redfish.MaintenanceWindow` property that governs this resource.  This property should be supported if the `SupportedApplyTimes` property contains `AtMaintenanceWindowStart` or `InMaintenanceWindowOnReset`.",
207*f2a8e57eSGunnar Mills                    "readonly": true,
208*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
209*f2a8e57eSGunnar Mills                },
210*f2a8e57eSGunnar Mills                "Messages": {
211*f2a8e57eSGunnar Mills                    "description": "An array of messages associated with the settings.",
212*f2a8e57eSGunnar Mills                    "items": {
213*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Message.json#/definitions/Message"
214*f2a8e57eSGunnar Mills                    },
215*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of messages associated with the settings.",
216*f2a8e57eSGunnar Mills                    "type": "array"
217*f2a8e57eSGunnar Mills                },
218*f2a8e57eSGunnar Mills                "SettingsObject": {
219*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef",
220*f2a8e57eSGunnar Mills                    "description": "The link to the resource that the client can `PUT` or `PATCH` to modify the resource.",
221*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the URI of the resource that the client can `PUT` or `PATCH` to modify the resource.",
222*f2a8e57eSGunnar Mills                    "readonly": true
223*f2a8e57eSGunnar Mills                },
224*f2a8e57eSGunnar Mills                "SupportedApplyTimes": {
225*f2a8e57eSGunnar Mills                    "description": "The time when the settings can be applied.",
226*f2a8e57eSGunnar Mills                    "items": {
227*f2a8e57eSGunnar Mills                        "$ref": "#/definitions/ApplyTime"
228*f2a8e57eSGunnar Mills                    },
229*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the supported apply time values a client is allowed to request when configuring the settings apply time.  Services that do not support clients configuring the apply time can support this property with a single array member in order to inform the client when the settings will be applied.",
230*f2a8e57eSGunnar Mills                    "readonly": true,
231*f2a8e57eSGunnar Mills                    "type": "array",
232*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
233*f2a8e57eSGunnar Mills                },
234*f2a8e57eSGunnar Mills                "Time": {
235*f2a8e57eSGunnar Mills                    "description": "The time when the settings were applied.",
236*f2a8e57eSGunnar Mills                    "format": "date-time",
237*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate the time when the settings were applied to the resource.",
238*f2a8e57eSGunnar Mills                    "readonly": true,
239*f2a8e57eSGunnar Mills                    "type": [
240*f2a8e57eSGunnar Mills                        "string",
241*f2a8e57eSGunnar Mills                        "null"
242*f2a8e57eSGunnar Mills                    ]
243*f2a8e57eSGunnar Mills                }
244*f2a8e57eSGunnar Mills            },
245*f2a8e57eSGunnar Mills            "type": "object"
246*f2a8e57eSGunnar Mills        }
247*f2a8e57eSGunnar Mills    },
248*f2a8e57eSGunnar Mills    "language": "en",
249*f2a8e57eSGunnar Mills    "owningEntity": "DMTF",
250*f2a8e57eSGunnar Mills    "release": "2024.1",
251*f2a8e57eSGunnar Mills    "title": "#Settings.v1_4_0"
252*f2a8e57eSGunnar Mills}