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