1 Foreword
The following files are part of the Redfish development effort:
- DSP0218 - Platform Level Data Model (PLDM) for Redfish Device Enablement Specification - Binary-encoded JSON (BEJ) and dictionary-based mapping of Redfish schemas and properties into PLDM messages.
- DSP0266 - Redfish Specification - Main Redfish Specification.
- DSP0268 - Redfish Data Model Specification - Normative descriptions and additional text for every schema defined in DSP8010 and example payloads for every resource.
- DSP0270 - Redfish Host Interface Specification - "In-band" or "OS-based" Redfish host interface.
- DSP0272 - Redfish Interoperability Profiles Specification - Structure and JSON document that is used to define and publish an interoperability profile that checks an implementation's conformance to a defined minimum set of functionality.
- DSP2043 - Redfish Mockups Bundle - Set of mockups that can be used as sample output from
GET
responses from a Redfish service. Informative in nature, it was used to develop the schema. A person can set up an NGINX or similar server and configure it to output JSON format and then use this directory for demonstration purposes. - DSP2044 - Redfish White Paper - Non-normative document helping those new to Redfish understand how to interact with the Redfish service and understand common functions and tasks.
- DSP2046 - Redfish Resource and Schema Guide - Informative documentation regarding common Redfish resource properties and a listing of properties that can be found in each of the Redfish resources.
- DSP2053 - Redfish Property Guide - Informative documentation providing an index to individual property definitions across all Redfish schema.
- DSP2065 - Redfish Message Registry Guide - Informative documentation providing details regarding the messages defined in Redfish standard message registries.
- DSP8010 - Redfish Schema - Redfish schema definitions. These files are normative in nature and are normatively referenced by the Redfish Specification. The three schema formats are CSDL (OData Common Schema Definition Language format, which is in XML), JSON Schema, and OpenAPI schema. These schema definitions should be functionally equivalent, thus specifying the schema in three different languages.
- DSP8011 - Redfish Standard Registries - Redfish registry definitions. This bundle of Redfish registries includes message registries used for Redfish-defined messages including events and privilege maps.
- DSP8013 - Redfish Interoperability Profiles Bundle - Bundle of published Redfish interoperability profile documents and supporting schema and sample documents used for creating profiles.
2 Redfish Interoperability Profiles Bundle contents
2.1 Profile construction documents
The root folder of this bundle contains tools useful for constructing a new Redfish interoperability profile.
RedfishInteroperabilityProfile.v1_n_n.json
- A JSON schema definition for a Redfish interoperability profile JSON document. This schema file can be used with a JSON Schema validator to ensure that a created profile conforms to the Redfish Interoperability Profile Specification.SampleProfile.json
- A sample profile JSON document that shows the features available in the profile definition.
2.2 Profile folders
As profiles are defined, approved and published, they will be added to folders in this bundle. Each published profile is expected to include at least two files: the JSON document, which conforms to the profile schema, and a profile guide to document the contents of the profile.
As of this publication, there are no normative profiles published by DMTF. Work-in-progress profiles are available separately.
2.3 Utilities
DMTF has published several open source utilities to aid in the development of Redfish interoperability profiles. In addition, questions can also be posted in the Redfish User Forum (https://redfishforum.com/).
2.3.1 Redfish Interop Validator
https://github.com/DMTF/Redfish-Interop-Validator
The Redfish Interop Validator is a python3 tool that will validate a service based on an interoperability profile given to the tool. The purpose of the tool is to guarantee that a specific service is compatible with vendor systems or system tools based on a vendor's specification in a profile.
2.3.2 Documentation Generator
https://github.com/DMTF/Redfish-Tools
Creates end user documentation by combining the Redfish schemas with a profile document and any supplemental text provided by the profile author.
3 ANNEX A (informative) Change log
File | Version | Date | Description |
---|---|---|---|
RedfishInteroperabilityProfile | 1.8.0 | 2024-04-03 | Added ChassisType , DriveProtocol , MemoryType , PortProtocol , and ProcessorType as additional UseCaseType values to support resource use cases for selecting resources based on a subset of parent resources in the tree. |
RedfishInteroperabilityProfile | 1.7.1 | 2024-04-03 | Errata release. Fixed the profile schema to contain valid JSON. |
RedfishInteroperabilityProfile | 1.7.0 | 2023-11-30 | Added support for DeepPATCH and DeepPOST to protocol-level information. Added support for ActionInfo in action requirements. Added support for UseCaseType in use cases. |
RedfishInteroperabilityProfile | 1.6.0 | 2022-12-07 | Added support for UseCases in a profile. Added RequiredResourceProfile to allow inclusion of individual schema-level requirements from other profiles. Added ReplacesProperty and ReplacedByProperty to provide better handling of requirements on deprecated or obsolete properties. |
RedfishInteroperabilityProfile | 1.x.x | 2022-12-07 | Errata release. Corrected the nesting usage of PropertyRequirements to match JSON Schema requirements. |
RedfishInteroperabilityProfile | 1.5.1 | 2022-08-04 | Errata release. Added missing "additionalProperties": false terms to several objects. |
RedfishInteroperabilityProfile | 1.5.0 | 2021-12-02 | Added support for JSON Pointer usage in CompareProperty . |
RedfishInteroperabilityProfile | 1.4.1 | 2021-10-06 | Errata release. Corrected descriptions for CreateResource , DeleteResource , and UpdateResource to match terminology and usage in the sample profiles. |
RedfishInteroperabilityProfile | 1.4.0 | 2021-08-04 | Added support for License and ContributedBy . Updated descriptions for style and consistency in many places to match updates made to the specification over time. |
RedfishInteroperabilityProfile | 1.x.x | 2020-06-12 | Errata release. Corrected RequiredProfiles definition. Corrected placement of some new definitions that were incorrectly placed outside of definitions . |
RedfishInteroperabilityProfile | 1.3.0 | 2019-12-06 | Added support for SupportedFeatures to registry-level information. |
RedfishInteroperabilityProfile | 1.2.0 | 2019-07-03 | Added support for Supported and IfPopulated requirement types. Added 'pattern' term to provide regex for version-related properties. |
RedfishInteroperabilityProfile | 1.1.0 | 2019-02-26 | Added support for basing requirements on URIs when applied with Redfish Specification v1.6 OpenAPI support. Corrected the format of the Repository property to use uri-reference and clarified its description to reflect usage for profiles, schemas, and registries. |
RedfishInteroperabilityProfile | 1.0.3 | 2018-11-29 | Errata release. Corrected the type for CompareType to allow for booleans, numbers, and strings. |
RedfishInteroperabilityProfile | 1.0.2 | 2018-11-29 | Errata release. Corrected the depth of additionalProperties found in Parameters for ActionProfile . |
RedfishInteroperabilityProfile | 1.0.1 | 2018-05-01 | Errata release. Corrected inconsistent usage of the Comparison property within conditional requirements. Added missing Values property to Conditional Requirements to enable specification of property values when a condition is met. |
SampleProfile.json | 1.0.3 | 2018-05-01 | Errata release. Updated examples to reflect errata with v1.0.1 of the specification. Added example to show a condition that also places requirements on the value of a property when a condition is met. |
RedfishInteroperabilityProfile | 1.0.0 | 2017-11-17 | Initial release. JSON schema used to define a Redfish interoperability profile. |
SampleProfile.json | 1.0.0 | 2017-11-17 | Initial release. Sample document to show examples of the various profile features. |