{
    "$id": "http://redfish.dmtf.org/schemas/swordfish/v1/DataProtectionLoSCapabilities.v1_2_0.json",
    "$ref": "#/definitions/DataProtectionLoSCapabilities",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2015-2026 Storage Networking Industry Association (SNIA), USA. All rights reserved.",
    "definitions": {
        "Actions": {
            "additionalProperties": false,
            "description": "The available actions for this resource.",
            "longDescription": "This type shall contain the available actions for this resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "Oem": {
                    "$ref": "#/definitions/OemActions",
                    "description": "This property contains the available OEM specific actions for this resource.",
                    "longDescription": "This property shall contain any additional OEM actions for this resource.",
                    "versionAdded": "v1_1_0"
                }
            },
            "type": "object"
        },
        "DataProtectionLoSCapabilities": {
            "additionalProperties": false,
            "description": "The capabilities to protect data from loss by the use of a replica.",
            "longDescription": "The capabilities to protect data from loss by the use of a replica. The requirements shall be met collectively by the communication path and the replica. There should be one instance associated to a class of service for each replica. Each replica independently should have a class of service that describes its characteristics.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "@odata.context": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this resource.",
                    "longDescription": "The Actions property shall contain the available actions for this resource.",
                    "versionAdded": "v1_1_0"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "Identifier": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Identifier",
                    "description": "The value identifies this resource.",
                    "longDescription": "The value shall be unique within the managed ecosystem."
                },
                "Links": {
                    "$ref": "#/definitions/Links",
                    "description": "Contains links to other resources that are related to this resource.",
                    "longDescription": "The value of this property shall contains links to other resources that are not contained in this resource."
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                },
                "SupportedLinesOfService": {
                    "autoExpand": true,
                    "description": "Collection of known and supported DataProtectionLinesOfService.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/DataProtectionLineOfService.json#/definitions/DataProtectionLineOfService"
                    },
                    "longDescription": "The collection shall contain known and supported DataProtectionLinesOfService.",
                    "readonly": false,
                    "type": "array"
                },
                "SupportedLinesOfService@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "SupportedMinLifetimes": {
                    "description": "Supported minimum lifetime that replica must be maintained.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "The value of each entry shall be an ISO 8601 duration that specifies the minimum lifetime required for the replica.",
                    "readonly": false,
                    "type": "array"
                },
                "SupportedRecoveryGeographicObjectives": {
                    "description": "Supported types of failure domains.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/DataProtectionLoSCapabilities.json#/definitions/FailureDomainScope"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "The value of each entry shall specify a supported failure domain.",
                    "readonly": false,
                    "type": "array"
                },
                "SupportedRecoveryPointObjectiveTimes": {
                    "description": "Supported time intervals defining how much source information can be lost on failure.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "The value of each entry shall specify a supported ISO 8601 time interval defining the maximum source information that may be lost on failure. In the case that IsIsolated = false, failure of the domain is not a consideration.",
                    "readonly": false,
                    "type": "array"
                },
                "SupportedRecoveryTimeObjectives": {
                    "description": "Supported expectations for time to access an alternate replica.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/DataProtectionLoSCapabilities.json#/definitions/RecoveryAccessScope"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "The value of each entry shall specify an enumerated value that indicates a supported expectation for the time required to access an alternate replica. In the case that IsIsolated = false, failure of the domain is not a consideration.",
                    "readonly": false,
                    "type": "array"
                },
                "SupportedReplicaTypes": {
                    "description": "Supported replica types.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/StorageReplicaInfo.json#/definitions/ReplicaType"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "The value of each entry shall specify a supported replica type.",
                    "readonly": false,
                    "type": "array"
                },
                "SupportsIsolated": {
                    "description": "Allocating a replica in a separate fault domain is supported.",
                    "longDescription": "A value of true shall indicate that allocating a replica in a separate fault domain is supported. The default value for this property is false.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "Links": {
            "additionalProperties": false,
            "description": "The links object contains the links to other resources that are related to this resource.",
            "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
                },
                "SupportedReplicaOptions": {
                    "description": "Collection of known and supported replica Classes of Service.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/ClassOfService.json#/definitions/ClassOfService"
                    },
                    "longDescription": "The collection shall contain known and supported replica Classes of Service.",
                    "readonly": false,
                    "type": "array"
                },
                "SupportedReplicaOptions@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                }
            },
            "type": "object"
        },
        "OemActions": {
            "additionalProperties": true,
            "description": "The available OEM specific actions for this resource.",
            "longDescription": "This type shall contain any additional OEM actions for this resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {},
            "type": "object"
        }
    },
    "language": "en",
    "owningEntity": "SNIA",
    "release": "1.2.1c",
    "title": "#DataProtectionLoSCapabilities.v1_2_0.DataProtectionLoSCapabilities"
}