{
    "$id": "http://redfish.dmtf.org/schemas/v1/Facility.v1_2_0.json",
    "$ref": "#/definitions/Facility",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "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": "The available OEM-specific actions for this resource.",
                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
                }
            },
            "type": "object"
        },
        "Facility": {
            "additionalProperties": false,
            "description": "The Facility schema represents the physical location containing equipment, such as a room, building, or campus.",
            "longDescription": "This resource shall be used to represent a location containing equipment, such as a room, building, or campus, for a Redfish implementation.",
            "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": "This property shall contain the available actions for this resource."
                },
                "AmbientMetrics": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/EnvironmentMetrics.json#/definitions/EnvironmentMetrics",
                    "description": "The link to the ambient environment metrics for this facility.",
                    "longDescription": "This property shall contain a link to a resource of type EnvironmentMetrics that specifies the outdoor environment metrics for this facility.",
                    "readonly": true,
                    "versionAdded": "v1_1_0"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "EnvironmentMetrics": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/EnvironmentMetrics.json#/definitions/EnvironmentMetrics",
                    "description": "The link to the environment metrics for this facility.",
                    "longDescription": "This property shall contain a link to a resource of type EnvironmentMetrics that specifies the environment metrics for this facility.",
                    "readonly": true,
                    "versionAdded": "v1_1_0"
                },
                "FacilityType": {
                    "$ref": "#/definitions/FacilityType",
                    "description": "The type of location this resource represents.",
                    "longDescription": "This property shall contain the type of location this resource represents.",
                    "readonly": true
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "Links": {
                    "$ref": "#/definitions/Links",
                    "description": "The links to other resources that are related to this resource.",
                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
                },
                "Location": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
                    "description": "The location of the facility.",
                    "longDescription": "This property shall contain location information of the associated facility."
                },
                "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."
                },
                "PowerDomains": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDomainCollection.json#/definitions/PowerDomainCollection",
                    "description": "Link to the power domains in this facility.",
                    "longDescription": "This property shall contain a link to a resource collection of type PowerDomainCollection that contains the power domains associated with this facility.",
                    "readonly": true
                },
                "Status": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                    "description": "The status and health of the resource and its subordinate or dependent resources.",
                    "longDescription": "This property shall contain any status or health properties of the resource."
                }
            },
            "required": [
                "FacilityType",
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "FacilityType": {
            "enum": [
                "Room",
                "Floor",
                "Building",
                "Site"
            ],
            "enumDescriptions": {
                "Building": "A structure with a roof and walls.",
                "Floor": "A floor inside of a building.",
                "Room": "A room inside of a building or floor.",
                "Site": "A small area consisting of several buildings."
            },
            "type": "string"
        },
        "Links": {
            "additionalProperties": false,
            "description": "The links to other resources that are related to this resource.",
            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or 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": {
                "ContainedByFacility": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Facility.json#/definitions/Facility",
                    "description": "The link to the facility that contains this facility.",
                    "longDescription": "This property shall contain a link to a resource of type Facility that represents the facility that contains this facility.",
                    "readonly": false
                },
                "ContainsChassis": {
                    "description": "An array of links to outermost chassis contained within this facility.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
                    },
                    "longDescription": "The value of this property shall be an array of links to resources of type Chassis that represent the outermost chassis that this facility contains.  This array shall only contain chassis instances that do not include a ContainedBy property within the Links property.  That is, only chassis instances that are not contained by another chassis.",
                    "readonly": false,
                    "type": "array"
                },
                "ContainsChassis@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "ContainsFacilities": {
                    "description": "An array of links to other facilities contained within this facility.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Facility.json#/definitions/Facility"
                    },
                    "longDescription": "The value of this property shall be an array of links to resources of type Facility that represent the facilities that this facility contains.",
                    "readonly": false,
                    "type": "array"
                },
                "ContainsFacilities@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "FloorPDUs": {
                    "description": "An array of links to the floor power distribution units in this facility.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
                    },
                    "longDescription": "The value of this property shall be an array of links to resources of type PowerDistribution that represent the floor power distribution units in this facility.",
                    "readonly": false,
                    "type": "array"
                },
                "FloorPDUs@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "ManagedBy": {
                    "description": "An array of links to the managers responsible for managing this facility.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Manager.json#/definitions/Manager"
                    },
                    "longDescription": "The value of this property shall be an array of links to resources of type Manager that represent the managers that manager this facility.",
                    "readonly": true,
                    "type": "array"
                },
                "ManagedBy@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "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."
                },
                "PowerShelves": {
                    "description": "An array of links to the power shelves in this facility.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
                    },
                    "longDescription": "The value of this property shall be an array of links to resources of type PowerDistribution that represent the power shelves in this facility.",
                    "readonly": false,
                    "type": "array",
                    "versionAdded": "v1_2_0"
                },
                "PowerShelves@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "RackPDUs": {
                    "description": "An array of links to the rack-level power distribution units in this facility.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
                    },
                    "longDescription": "The value of this property shall be an array of links to resources of type PowerDistribution that represent the rack-level power distribution units in this facility.",
                    "readonly": false,
                    "type": "array"
                },
                "RackPDUs@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "Switchgear": {
                    "description": "An array of links to the switchgear in this facility.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
                    },
                    "longDescription": "The value of this property shall be an array of links to resources of type PowerDistribution that represent the switchgear in this facility.",
                    "readonly": false,
                    "type": "array"
                },
                "Switchgear@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "TransferSwitches": {
                    "description": "An array of links to the transfer switches in this facility.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
                    },
                    "longDescription": "The value of this property shall be an array of links to resources of type PowerDistribution that represent the transfer switches in this facility.",
                    "readonly": false,
                    "type": "array"
                },
                "TransferSwitches@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 the available OEM-specific 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"
        }
    },
    "owningEntity": "DMTF",
    "release": "2021.2",
    "title": "#Facility.v1_2_0.Facility"
}