19b46bc0bSMyung Bae{
29b46bc0bSMyung Bae    "$id": "http://redfish.dmtf.org/schemas/v1/Redundancy.v1_5_0.json",
39b46bc0bSMyung Bae    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
49b46bc0bSMyung Bae    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
59b46bc0bSMyung Bae    "definitions": {
69b46bc0bSMyung Bae        "Actions": {
79b46bc0bSMyung Bae            "additionalProperties": false,
89b46bc0bSMyung Bae            "description": "The available actions for this resource.",
99b46bc0bSMyung Bae            "longDescription": "This type shall contain the available actions for this resource.",
109b46bc0bSMyung Bae            "patternProperties": {
119b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
129b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
139b46bc0bSMyung Bae                    "type": [
149b46bc0bSMyung Bae                        "array",
159b46bc0bSMyung Bae                        "boolean",
169b46bc0bSMyung Bae                        "integer",
179b46bc0bSMyung Bae                        "number",
189b46bc0bSMyung Bae                        "null",
199b46bc0bSMyung Bae                        "object",
209b46bc0bSMyung Bae                        "string"
219b46bc0bSMyung Bae                    ]
229b46bc0bSMyung Bae                }
239b46bc0bSMyung Bae            },
249b46bc0bSMyung Bae            "properties": {
259b46bc0bSMyung Bae                "Oem": {
269b46bc0bSMyung Bae                    "$ref": "#/definitions/OemActions",
279b46bc0bSMyung Bae                    "description": "The available OEM-specific actions for this resource.",
289b46bc0bSMyung Bae                    "longDescription": "This property shall contain the available OEM-specific actions for this resource.",
299b46bc0bSMyung Bae                    "versionAdded": "v1_2_0"
309b46bc0bSMyung Bae                }
319b46bc0bSMyung Bae            },
329b46bc0bSMyung Bae            "type": "object"
339b46bc0bSMyung Bae        },
349b46bc0bSMyung Bae        "OemActions": {
359b46bc0bSMyung Bae            "additionalProperties": true,
369b46bc0bSMyung Bae            "description": "The available OEM-specific actions for this resource.",
379b46bc0bSMyung Bae            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
389b46bc0bSMyung Bae            "patternProperties": {
399b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
409b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
419b46bc0bSMyung Bae                    "type": [
429b46bc0bSMyung Bae                        "array",
439b46bc0bSMyung Bae                        "boolean",
449b46bc0bSMyung Bae                        "integer",
459b46bc0bSMyung Bae                        "number",
469b46bc0bSMyung Bae                        "null",
479b46bc0bSMyung Bae                        "object",
489b46bc0bSMyung Bae                        "string"
499b46bc0bSMyung Bae                    ]
509b46bc0bSMyung Bae                }
519b46bc0bSMyung Bae            },
529b46bc0bSMyung Bae            "properties": {},
539b46bc0bSMyung Bae            "type": "object"
549b46bc0bSMyung Bae        },
559b46bc0bSMyung Bae        "Redundancy": {
569b46bc0bSMyung Bae            "additionalProperties": false,
579b46bc0bSMyung Bae            "description": "The common redundancy definition and structure used in other Redfish schemas.",
589b46bc0bSMyung Bae            "longDescription": "This object represents the redundancy element property.",
599b46bc0bSMyung Bae            "patternProperties": {
609b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
619b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
629b46bc0bSMyung Bae                    "type": [
639b46bc0bSMyung Bae                        "array",
649b46bc0bSMyung Bae                        "boolean",
659b46bc0bSMyung Bae                        "integer",
669b46bc0bSMyung Bae                        "number",
679b46bc0bSMyung Bae                        "null",
689b46bc0bSMyung Bae                        "object",
699b46bc0bSMyung Bae                        "string"
709b46bc0bSMyung Bae                    ]
719b46bc0bSMyung Bae                }
729b46bc0bSMyung Bae            },
739b46bc0bSMyung Bae            "properties": {
749b46bc0bSMyung Bae                "@odata.id": {
759b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
769b46bc0bSMyung Bae                },
779b46bc0bSMyung Bae                "Actions": {
789b46bc0bSMyung Bae                    "$ref": "#/definitions/Actions",
799b46bc0bSMyung Bae                    "description": "The available actions for this resource.",
809b46bc0bSMyung Bae                    "longDescription": "This property shall contain the available actions for this resource.",
819b46bc0bSMyung Bae                    "versionAdded": "v1_2_0"
829b46bc0bSMyung Bae                },
839b46bc0bSMyung Bae                "MaxNumSupported": {
849b46bc0bSMyung Bae                    "description": "The maximum number of members allowable for this particular redundancy group.",
859b46bc0bSMyung Bae                    "longDescription": "This property shall contain the maximum number of members allowed in the redundancy group.",
869b46bc0bSMyung Bae                    "readonly": true,
879b46bc0bSMyung Bae                    "type": [
889b46bc0bSMyung Bae                        "integer",
899b46bc0bSMyung Bae                        "null"
909b46bc0bSMyung Bae                    ]
919b46bc0bSMyung Bae                },
929b46bc0bSMyung Bae                "MemberId": {
939b46bc0bSMyung Bae                    "description": "The unique identifier for the member within an array.",
949b46bc0bSMyung Bae                    "longDescription": "This property shall contain the unique identifier for this member within an array.  For services supporting Redfish v1.6 or higher, this value shall contain the zero-based array index.",
959b46bc0bSMyung Bae                    "readonly": true,
969b46bc0bSMyung Bae                    "type": "string"
979b46bc0bSMyung Bae                },
989b46bc0bSMyung Bae                "MinNumNeeded": {
999b46bc0bSMyung Bae                    "description": "The minimum number of members needed for this group to be redundant.",
1009b46bc0bSMyung Bae                    "longDescription": "This property shall contain the minimum number of members allowed in the redundancy group for the current redundancy mode to still be fault tolerant.",
1019b46bc0bSMyung Bae                    "readonly": true,
1029b46bc0bSMyung Bae                    "type": [
1039b46bc0bSMyung Bae                        "integer",
1049b46bc0bSMyung Bae                        "null"
1059b46bc0bSMyung Bae                    ]
1069b46bc0bSMyung Bae                },
1079b46bc0bSMyung Bae                "Mode": {
1089b46bc0bSMyung Bae                    "anyOf": [
1099b46bc0bSMyung Bae                        {
1109b46bc0bSMyung Bae                            "$ref": "#/definitions/RedundancyMode"
1119b46bc0bSMyung Bae                        },
1129b46bc0bSMyung Bae                        {
1139b46bc0bSMyung Bae                            "type": "null"
1149b46bc0bSMyung Bae                        }
1159b46bc0bSMyung Bae                    ],
1169b46bc0bSMyung Bae                    "description": "The redundancy mode of the group.",
1179b46bc0bSMyung Bae                    "longDescription": "This property shall contain the information about the redundancy mode of this subsystem.",
1189b46bc0bSMyung Bae                    "readonly": false
1199b46bc0bSMyung Bae                },
1209b46bc0bSMyung Bae                "Name": {
1219b46bc0bSMyung Bae                    "description": "The name of the resource or array member.",
1229b46bc0bSMyung Bae                    "longDescription": "This object represents the name of this resource or array member.  The resource values shall comply with the Redfish Specification-described requirements.  This string value shall be of the 'Name' reserved word format.",
1239b46bc0bSMyung Bae                    "readonly": true,
1249b46bc0bSMyung Bae                    "type": "string"
1259b46bc0bSMyung Bae                },
1269b46bc0bSMyung Bae                "Oem": {
1279b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
1289b46bc0bSMyung Bae                    "description": "The OEM extension property.",
1299b46bc0bSMyung Bae                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
1309b46bc0bSMyung Bae                },
1319b46bc0bSMyung Bae                "RedundancyEnabled": {
1329b46bc0bSMyung Bae                    "description": "An indication of whether redundancy is enabled.",
1339b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether the redundancy is enabled.",
1349b46bc0bSMyung Bae                    "readonly": false,
1359b46bc0bSMyung Bae                    "type": [
1369b46bc0bSMyung Bae                        "boolean",
1379b46bc0bSMyung Bae                        "null"
1389b46bc0bSMyung Bae                    ],
1399b46bc0bSMyung Bae                    "versionAdded": "v1_1_0"
1409b46bc0bSMyung Bae                },
1419b46bc0bSMyung Bae                "RedundancySet": {
1429b46bc0bSMyung Bae                    "description": "The links to components of this redundancy set.",
1439b46bc0bSMyung Bae                    "items": {
1449b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
1459b46bc0bSMyung Bae                    },
1469b46bc0bSMyung Bae                    "longDescription": "This property shall contain the links to components that are part of this redundancy set.",
1479b46bc0bSMyung Bae                    "readonly": true,
1489b46bc0bSMyung Bae                    "type": "array"
1499b46bc0bSMyung Bae                },
1509b46bc0bSMyung Bae                "RedundancySet@odata.count": {
1519b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
1529b46bc0bSMyung Bae                },
1539b46bc0bSMyung Bae                "Status": {
1549b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
1559b46bc0bSMyung Bae                    "description": "The status and health of the resource and its subordinate or dependent resources.",
1569b46bc0bSMyung Bae                    "longDescription": "This property shall contain any status or health properties of the resource."
1579b46bc0bSMyung Bae                }
1589b46bc0bSMyung Bae            },
1599b46bc0bSMyung Bae            "required": [
1609b46bc0bSMyung Bae                "Name",
1619b46bc0bSMyung Bae                "Mode",
1629b46bc0bSMyung Bae                "MinNumNeeded",
1639b46bc0bSMyung Bae                "Status",
1649b46bc0bSMyung Bae                "RedundancySet",
1659b46bc0bSMyung Bae                "@odata.id",
1669b46bc0bSMyung Bae                "MemberId"
1679b46bc0bSMyung Bae            ],
1689b46bc0bSMyung Bae            "type": "object"
1699b46bc0bSMyung Bae        },
1709b46bc0bSMyung Bae        "RedundancyMode": {
1719b46bc0bSMyung Bae            "enum": [
1729b46bc0bSMyung Bae                "Failover",
1739b46bc0bSMyung Bae                "N+m",
1749b46bc0bSMyung Bae                "Sharing",
1759b46bc0bSMyung Bae                "Sparing",
1769b46bc0bSMyung Bae                "NotRedundant"
1779b46bc0bSMyung Bae            ],
1789b46bc0bSMyung Bae            "enumDescriptions": {
1799b46bc0bSMyung Bae                "Failover": "Failure of one unit automatically causes a standby or offline unit in the redundancy set to take over its functions.",
1809b46bc0bSMyung Bae                "N+m": "Multiple units are available and active such that normal operation will continue if one or more units fail.",
1819b46bc0bSMyung Bae                "NotRedundant": "The subsystem is not configured in a redundancy mode, either due to configuration or the functionality has been disabled by the user.",
1829b46bc0bSMyung Bae                "Sharing": "Multiple units contribute or share such that operation will continue, but at a reduced capacity, if one or more units fail.",
1839b46bc0bSMyung Bae                "Sparing": "One or more spare units are available to take over the function of a failed unit, but takeover is not automatic."
1849b46bc0bSMyung Bae            },
1859b46bc0bSMyung Bae            "enumVersionAdded": {
1869b46bc0bSMyung Bae                "NotRedundant": "v1_3_0"
1879b46bc0bSMyung Bae            },
1889b46bc0bSMyung Bae            "type": "string"
1899b46bc0bSMyung Bae        },
1909b46bc0bSMyung Bae        "RedundancyType": {
1919b46bc0bSMyung Bae            "enum": [
1929b46bc0bSMyung Bae                "Failover",
1939b46bc0bSMyung Bae                "NPlusM",
1949b46bc0bSMyung Bae                "Sharing",
1959b46bc0bSMyung Bae                "Sparing",
1969b46bc0bSMyung Bae                "NotRedundant"
1979b46bc0bSMyung Bae            ],
1989b46bc0bSMyung Bae            "enumDescriptions": {
1999b46bc0bSMyung Bae                "Failover": "Failure of one unit automatically causes a standby or offline unit in the redundancy set to take over its functions.",
2009b46bc0bSMyung Bae                "NPlusM": "Multiple units are available and active such that normal operation will continue if one or more units fail.",
2019b46bc0bSMyung Bae                "NotRedundant": "The subsystem is not configured in a redundancy mode, either due to configuration or the functionality has been disabled by the user.",
2029b46bc0bSMyung Bae                "Sharing": "Multiple units contribute or share such that operation will continue, but at a reduced capacity, if one or more units fail.",
2039b46bc0bSMyung Bae                "Sparing": "One or more spare units are available to take over the function of a failed unit, but takeover is not automatic."
2049b46bc0bSMyung Bae            },
2059b46bc0bSMyung Bae            "enumLongDescriptions": {
2069b46bc0bSMyung Bae                "Failover": "This value shall indicate that a failure of one unit automatically causes a standby or offline unit in the redundancy set to take over its functions.",
2079b46bc0bSMyung Bae                "NPlusM": "This value shall indicate that the capacity or services provided by the set of N+M devices can withstand failure of up to M units, with all units in the group normally providing capacity or service."
2089b46bc0bSMyung Bae            },
2099b46bc0bSMyung Bae            "type": "string"
2109b46bc0bSMyung Bae        },
2119b46bc0bSMyung Bae        "RedundantGroup": {
2129b46bc0bSMyung Bae            "additionalProperties": false,
2139b46bc0bSMyung Bae            "description": "The redundancy information for the devices in a redundancy group.",
2149b46bc0bSMyung Bae            "longDescription": "This type shall contain redundancy information for the set of devices in this redundancy group.",
2159b46bc0bSMyung Bae            "patternProperties": {
2169b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
2179b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
2189b46bc0bSMyung Bae                    "type": [
2199b46bc0bSMyung Bae                        "array",
2209b46bc0bSMyung Bae                        "boolean",
2219b46bc0bSMyung Bae                        "integer",
2229b46bc0bSMyung Bae                        "number",
2239b46bc0bSMyung Bae                        "null",
2249b46bc0bSMyung Bae                        "object",
2259b46bc0bSMyung Bae                        "string"
2269b46bc0bSMyung Bae                    ]
2279b46bc0bSMyung Bae                }
2289b46bc0bSMyung Bae            },
2299b46bc0bSMyung Bae            "properties": {
2309b46bc0bSMyung Bae                "GroupName": {
2319b46bc0bSMyung Bae                    "description": "The name of the redundant group.",
2329b46bc0bSMyung Bae                    "longDescription": "This property shall contain the name of the redundant group used to identify the particular group of redundant resources.  The value shall conform with the 'Name' clause of the Redfish Specification.",
2339b46bc0bSMyung Bae                    "readonly": true,
2349b46bc0bSMyung Bae                    "type": "string",
2359b46bc0bSMyung Bae                    "versionAdded": "v1_5_0"
2369b46bc0bSMyung Bae                },
2379b46bc0bSMyung Bae                "MaxSupportedInGroup": {
2389b46bc0bSMyung Bae                    "description": "The maximum number of devices supported in this redundancy group.",
2399b46bc0bSMyung Bae                    "longDescription": "This property shall contain the maximum number of devices allowed in the redundancy group.",
2409b46bc0bSMyung Bae                    "readonly": true,
2419b46bc0bSMyung Bae                    "type": [
2429b46bc0bSMyung Bae                        "integer",
2439b46bc0bSMyung Bae                        "null"
2449b46bc0bSMyung Bae                    ],
2459b46bc0bSMyung Bae                    "versionAdded": "v1_4_0"
2469b46bc0bSMyung Bae                },
2479b46bc0bSMyung Bae                "MinNeededInGroup": {
2489b46bc0bSMyung Bae                    "description": "The minimum number of devices needed for this group to be redundant.",
2499b46bc0bSMyung Bae                    "longDescription": "This property shall contain the minimum number of functional devices needed in the redundancy group for the current redundancy mode to be fault tolerant.",
2509b46bc0bSMyung Bae                    "readonly": true,
2519b46bc0bSMyung Bae                    "type": [
2529b46bc0bSMyung Bae                        "integer",
2539b46bc0bSMyung Bae                        "null"
2549b46bc0bSMyung Bae                    ],
2559b46bc0bSMyung Bae                    "versionAdded": "v1_4_0"
2569b46bc0bSMyung Bae                },
2579b46bc0bSMyung Bae                "RedundancyGroup": {
2589b46bc0bSMyung Bae                    "description": "The links to the devices included in this redundancy group.",
2599b46bc0bSMyung Bae                    "items": {
2609b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Resource"
2619b46bc0bSMyung Bae                    },
2629b46bc0bSMyung Bae                    "longDescription": "This property shall contain the links to the resources that represent the devices that are part of this redundancy group.",
2639b46bc0bSMyung Bae                    "readonly": true,
2649b46bc0bSMyung Bae                    "type": "array",
2659b46bc0bSMyung Bae                    "versionAdded": "v1_4_0"
2669b46bc0bSMyung Bae                },
2679b46bc0bSMyung Bae                "RedundancyGroup@odata.count": {
2689b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
2699b46bc0bSMyung Bae                },
2709b46bc0bSMyung Bae                "RedundancyType": {
2719b46bc0bSMyung Bae                    "anyOf": [
2729b46bc0bSMyung Bae                        {
2739b46bc0bSMyung Bae                            "$ref": "#/definitions/RedundancyType"
2749b46bc0bSMyung Bae                        },
2759b46bc0bSMyung Bae                        {
2769b46bc0bSMyung Bae                            "type": "null"
2779b46bc0bSMyung Bae                        }
2789b46bc0bSMyung Bae                    ],
2799b46bc0bSMyung Bae                    "description": "The redundancy mode of the group.",
2809b46bc0bSMyung Bae                    "longDescription": "This property shall contain the information about the redundancy mode of this redundancy group.",
2819b46bc0bSMyung Bae                    "readonly": false,
2829b46bc0bSMyung Bae                    "versionAdded": "v1_4_0"
2839b46bc0bSMyung Bae                },
2849b46bc0bSMyung Bae                "Status": {
2859b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
2869b46bc0bSMyung Bae                    "description": "The status and health of the resource and its subordinate or dependent resources.",
2879b46bc0bSMyung Bae                    "longDescription": "This property shall contain any status or health properties of the resource.",
2889b46bc0bSMyung Bae                    "versionAdded": "v1_4_0"
2899b46bc0bSMyung Bae                }
2909b46bc0bSMyung Bae            },
2919b46bc0bSMyung Bae            "required": [
2929b46bc0bSMyung Bae                "RedundancyType",
2939b46bc0bSMyung Bae                "MinNeededInGroup",
2949b46bc0bSMyung Bae                "Status",
2959b46bc0bSMyung Bae                "RedundancyGroup"
2969b46bc0bSMyung Bae            ],
2979b46bc0bSMyung Bae            "type": "object"
2989b46bc0bSMyung Bae        }
2999b46bc0bSMyung Bae    },
3009b46bc0bSMyung Bae    "language": "en",
3019b46bc0bSMyung Bae    "owningEntity": "DMTF",
3029b46bc0bSMyung Bae    "release": "2024.4",
3039b46bc0bSMyung Bae    "title": "#Redundancy.v1_5_0"
3049b46bc0bSMyung Bae}