-
Notifications
You must be signed in to change notification settings - Fork 37
Description
Request an enhancement:
Add standard Redfish query parameters to applicable GET operations in generated OpenAPI, so client generators can expose them as typed query options without downstream patching.
Why this is needed
Today, many generated GET operations in openapi.yaml do not include Redfish query parameters, which makes it hard for OpenAPI-based SDK generators to expose them natively. Currently we have to post-process the generated OpenAPI file to inject these parameters ourselves, which is brittle.
Requested enhancement
For eligible GET operations (for example all GETs under /redfish/v1/...), emit optional query parameters consistent with Redfish spec support, such as:
- $expand
- $select
- $filter
- $top
- $skip
- only
- excerpt
- includeoriginofcondition
Example operation
This operation is a representative example where query params should be present.
Suggested modeling
- Define reusable parameter components under components.parameters.
- Reference them from operation parameters for applicable GET endpoints.
- Keep them optional.
- Avoid injecting for endpoints where they are not meaningful (if applicable).
Benefit
This would make the converter output immediately usable by OpenAPI toolchains (SDK + query clients), reduce custom downstream transforms, and improve consistency for Redfish consumers.
Example yaml
/redfish/v1/Chassis:
get:
responses:
'200':
content:
application/json:
schema:
$ref: http://redfish.dmtf.org/schemas/v1/ChassisCollection.yaml#/components/schemas/ChassisCollection_ChassisCollection
description: The response contains a representation of the ChassisCollection resource
default:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Error condition
+ parameters:
+ - $ref: '#/components/parameters/RedfishQueryParam__expand'
+ - $ref: '#/components/parameters/RedfishQueryParam__select'
+ - $ref: '#/components/parameters/RedfishQueryParam__filter'
+ - $ref: '#/components/parameters/RedfishQueryParam__top'
+ - $ref: '#/components/parameters/RedfishQueryParam__skip'
+ - $ref: '#/components/parameters/RedfishQueryParam_only'
+ - $ref: '#/components/parameters/RedfishQueryParam_excerpt'
+ - $ref: '#/components/parameters/RedfishQueryParam_includeoriginofcondition'
post:
requestBody:
content:
application/json:
schema:
$ref: http://redfish.dmtf.org/schemas/v1/Chassis.v1_28_0.yaml#/components/schemas/Chassis_v1_28_0_Chassis
required: true
responses:
'201':
content:
application/json:
schema:
$ref: http://redfish.dmtf.org/schemas/v1/Chassis.v1_28_0.yaml#/components/schemas/Chassis_v1_28_0_Chassis
description: A resource of type Chassis has been created
'202':
content:
application/json:
schema:
$ref: http://redfish.dmtf.org/schemas/v1/Task.v1_7_4.yaml#/components/schemas/Task_v1_7_4_Task
description: Accepted; a task has been generated
'204':
description: Success, but no response data
default:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Error condition