fishem v0.9.1 brings Redfish and Swordfish mockups to life by supporting the following functionality for all the URI-accessible objects defined by Redfish 2021.4 release schema and Swordfish v1.2.3 release schema:
-
The ability to set the initial state of the emulator at startup by reading in any valid Redfish or Swordfish mockup. Input mockups can include OData metadata (/redfish/v1/$metadata) and/or an OData service document (/redfish/v1/odata) to set the corresponding initial state elements in the emulator.
-
The ability to capture the final state of the emulator at shutdown by creating an output mockup.
-
Basic handling of the allowed GET, PUT, PATCH, POST, and DELETE operations for all the URI-accessible Collection objects and Singleton objects defined by Redfish and Swordfish schema.
-
Handling of URIs with and without trailing slashes for RESTful API operations.
-
Routing of RESTful API operation requests to individual API code modules using URIs supported by Redfish and Swordfish schema.
-
API code modules with simplified access to arguments derived from the URIs that invoke the API code modules. Individual API code modules can be extended to interact with managed equipment to implement requested RESTful operations.
-
Basic handling of all Singleton object Actions defined by Redfish and Swordfish schema, with support for also handling OEM Actions. "Basic handling" of Actions means they are detected, responded to with HTTP responses, and reported to the user console by API code modules. Individual API code modules can be extended to interact with managed equipment to implement requested Actions.
-
Handling of resource capabilities (Insertable, Updatable, and Deletable) defined by Redfish and Swordfish schema