diff --git a/api/mocks/RedfishAPI.go b/api/mocks/RedfishAPI.go index c03e1cd..7d89661 100644 --- a/api/mocks/RedfishAPI.go +++ b/api/mocks/RedfishAPI.go @@ -250,6 +250,36 @@ func (_m *RedfishAPI) GetRoot(_a0 context.Context) (client.Root, *http.Response, return r0, r1, r2 } +// GetSoftwareInventory provides a mock function with given fields: _a0, _a1 +func (_m *RedfishAPI) GetSoftwareInventory(_a0 context.Context, _a1 string) (client.SoftwareInventory, *http.Response, error) { + ret := _m.Called(_a0, _a1) + + var r0 client.SoftwareInventory + if rf, ok := ret.Get(0).(func(context.Context, string) client.SoftwareInventory); ok { + r0 = rf(_a0, _a1) + } else { + r0 = ret.Get(0).(client.SoftwareInventory) + } + + var r1 *http.Response + if rf, ok := ret.Get(1).(func(context.Context, string) *http.Response); ok { + r1 = rf(_a0, _a1) + } else { + if ret.Get(1) != nil { + r1 = ret.Get(1).(*http.Response) + } + } + + var r2 error + if rf, ok := ret.Get(2).(func(context.Context, string) error); ok { + r2 = rf(_a0, _a1) + } else { + r2 = ret.Error(2) + } + + return r0, r1, r2 +} + // GetSystem provides a mock function with given fields: _a0, _a1 func (_m *RedfishAPI) GetSystem(_a0 context.Context, _a1 string) (client.ComputerSystem, *http.Response, error) { ret := _m.Called(_a0, _a1) @@ -310,6 +340,36 @@ func (_m *RedfishAPI) GetTask(_a0 context.Context, _a1 string) (client.Task, *ht return r0, r1, r2 } +// GetTaskList provides a mock function with given fields: _a0 +func (_m *RedfishAPI) GetTaskList(_a0 context.Context) (client.Collection, *http.Response, error) { + ret := _m.Called(_a0) + + var r0 client.Collection + if rf, ok := ret.Get(0).(func(context.Context) client.Collection); ok { + r0 = rf(_a0) + } else { + r0 = ret.Get(0).(client.Collection) + } + + var r1 *http.Response + if rf, ok := ret.Get(1).(func(context.Context) *http.Response); ok { + r1 = rf(_a0) + } else { + if ret.Get(1) != nil { + r1 = ret.Get(1).(*http.Response) + } + } + + var r2 error + if rf, ok := ret.Get(2).(func(context.Context) error); ok { + r2 = rf(_a0) + } else { + r2 = ret.Error(2) + } + + return r0, r1, r2 +} + // GetVolumes provides a mock function with given fields: _a0, _a1, _a2 func (_m *RedfishAPI) GetVolumes(_a0 context.Context, _a1 string, _a2 string) (client.Collection, *http.Response, error) { ret := _m.Called(_a0, _a1, _a2) diff --git a/api/service_interface.go b/api/service_interface.go index 6254760..38762b8 100644 --- a/api/service_interface.go +++ b/api/service_interface.go @@ -68,6 +68,13 @@ type RedfishAPI interface { error, ) + GetSoftwareInventory(context.Context, + string, + ) (client.SoftwareInventory, + *http.Response, + error, + ) + GetSystem(context.Context, string, ) (client.ComputerSystem, @@ -82,6 +89,12 @@ type RedfishAPI interface { error, ) + GetTaskList(context.Context, + ) (client.Collection, + *http.Response, + error, + ) + GetVolumes(context.Context, string, string, diff --git a/client/README.md b/client/README.md index 84fec45..dec5ea9 100644 --- a/client/README.md +++ b/client/README.md @@ -40,8 +40,10 @@ Class | Method | HTTP request | Description *DefaultApi* | [**GetManager**](docs/DefaultApi.md#getmanager) | **Get** /redfish/v1/Managers/{managerId} | *DefaultApi* | [**GetManagerVirtualMedia**](docs/DefaultApi.md#getmanagervirtualmedia) | **Get** /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId} | *DefaultApi* | [**GetRoot**](docs/DefaultApi.md#getroot) | **Get** /redfish/v1 | +*DefaultApi* | [**GetSoftwareInventory**](docs/DefaultApi.md#getsoftwareinventory) | **Get** /redfish/v1/UpdateService/FirmwareInventory/{softwareId} | *DefaultApi* | [**GetSystem**](docs/DefaultApi.md#getsystem) | **Get** /redfish/v1/Systems/{systemId} | *DefaultApi* | [**GetTask**](docs/DefaultApi.md#gettask) | **Get** /redfish/v1/TaskService/Tasks/{taskId} | +*DefaultApi* | [**GetTaskList**](docs/DefaultApi.md#gettasklist) | **Get** /redfish/v1/TaskService/Tasks | *DefaultApi* | [**GetVolumes**](docs/DefaultApi.md#getvolumes) | **Get** /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageControllerId}/Volumes | *DefaultApi* | [**InsertVirtualMedia**](docs/DefaultApi.md#insertvirtualmedia) | **Post** /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.InsertMedia | *DefaultApi* | [**ListManagerVirtualMedia**](docs/DefaultApi.md#listmanagervirtualmedia) | **Get** /redfish/v1/Managers/{managerId}/VirtualMedia | @@ -84,6 +86,7 @@ Class | Method | HTTP request | Description - [ResetType](docs/ResetType.md) - [Root](docs/Root.md) - [SimpleUpdateRequestBody](docs/SimpleUpdateRequestBody.md) + - [SoftwareInventory](docs/SoftwareInventory.md) - [State](docs/State.md) - [Status](docs/Status.md) - [SystemLinks](docs/SystemLinks.md) diff --git a/client/api/openapi.yaml b/client/api/openapi.yaml index 4fbc11b..e54a1fb 100644 --- a/client/api/openapi.yaml +++ b/client/api/openapi.yaml @@ -324,6 +324,31 @@ paths: schema: $ref: '#/components/schemas/RedfishError' description: Error condition + /redfish/v1/UpdateService/FirmwareInventory/{softwareId}: + get: + operationId: get_software_inventory + parameters: + - description: ID of resource + explode: false + in: path + name: softwareId + required: true + schema: + type: string + style: simple + responses: + 200: + content: + application/json: + schema: + $ref: '#/components/schemas/SoftwareInventory' + description: Get Software Inventory + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition /redfish/v1/UpdateService/FirmwareInventory: get: operationId: Firmware_Inventory @@ -364,6 +389,16 @@ paths: schema: $ref: '#/components/schemas/RedfishError' description: Error condition + /redfish/v1/TaskService/Tasks: + get: + operationId: get_task_list + responses: + 200: + content: + application/json: + schema: + $ref: '#/components/schemas/Collection' + description: Task List /redfish/v1/TaskService/Tasks/{taskId}: get: operationId: get_task @@ -1586,7 +1621,6 @@ components: type: string EndTime: description: The date-time stamp that the task was last completed. - format: date-time readOnly: true type: string x-longDescription: The value of this property shall indicate the time the @@ -1693,6 +1727,106 @@ components: - Name - VolumeType type: object + SoftwareInventory: + additionalProperties: false + description: This schema defines an inventory of software components. + example: + Status: {} + SoftwareId: SoftwareId + RelatedItem: + - '@odata.id': '@odata.id' + - '@odata.id': '@odata.id' + Description: Description + '@odata.type': '@odata.type' + UefiDevicePaths: + - UefiDevicePaths + - UefiDevicePaths + '@odata.etag': '@odata.etag' + '@odata.context': '@odata.context' + LowestSupportedVersion: LowestSupportedVersion + ReleaseDate: 2000-01-23T04:56:07.000+00:00 + Name: Name + '@odata.id': '@odata.id' + Version: Version + Updateable: true + Manufacturer: Manufacturer + Id: Id + RelatedItem@odata.count: 0 + properties: + '@odata.type': + readOnly: true + type: string + '@odata.id': + format: uri-reference + readOnly: true + type: string + '@odata.context': + format: uri-reference + readOnly: true + type: string + '@odata.etag': + readOnly: true + type: string + Description: + nullable: true + readOnly: true + type: string + Id: + readOnly: true + type: string + LowestSupportedVersion: + nullable: true + readOnly: true + type: string + Manufacturer: + nullable: true + readOnly: true + type: string + Name: + readOnly: true + type: string + RelatedItem: + items: + $ref: '#/components/schemas/idRef' + readOnly: true + type: array + RelatedItem@odata.count: + minimum: 0 + nullable: true + readOnly: true + type: integer + ReleaseDate: + format: date-time + nullable: true + readOnly: true + type: string + SoftwareId: + readOnly: true + type: string + Status: + $ref: '#/components/schemas/Status' + UefiDevicePaths: + items: + nullable: true + type: string + readOnly: true + type: array + Updateable: + nullable: true + readOnly: true + type: boolean + Version: + nullable: true + readOnly: true + type: string + required: + - '@odata.id' + - '@odata.type' + - Id + - Name + - Updateable + - Version + type: object RedfishError_error: example: '@Message.ExtendedInfo': diff --git a/client/api_default.go b/client/api_default.go index 1074006..2604ef3 100644 --- a/client/api_default.go +++ b/client/api_default.go @@ -774,6 +774,100 @@ func (a *DefaultApiService) GetRoot(ctx _context.Context) (Root, *_nethttp.Respo return localVarReturnValue, localVarHTTPResponse, nil } +/* +GetSoftwareInventory Method for GetSoftwareInventory + * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param softwareId ID of resource +@return SoftwareInventory +*/ +func (a *DefaultApiService) GetSoftwareInventory(ctx _context.Context, softwareId string) (SoftwareInventory, *_nethttp.Response, error) { + var ( + localVarHTTPMethod = _nethttp.MethodGet + localVarPostBody interface{} + localVarFormFileName string + localVarFileName string + localVarFileBytes []byte + localVarReturnValue SoftwareInventory + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/redfish/v1/UpdateService/FirmwareInventory/{softwareId}" + localVarPath = strings.Replace(localVarPath, "{"+"softwareId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", softwareId)), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := _neturl.Values{} + localVarFormParams := _neturl.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(r) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 200 { + var v SoftwareInventory + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + var v RedfishError + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + /* GetSystem Method for GetSystem * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @@ -962,6 +1056,90 @@ func (a *DefaultApiService) GetTask(ctx _context.Context, taskId string) (Task, return localVarReturnValue, localVarHTTPResponse, nil } +/* +GetTaskList Method for GetTaskList + * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). +@return Collection +*/ +func (a *DefaultApiService) GetTaskList(ctx _context.Context) (Collection, *_nethttp.Response, error) { + var ( + localVarHTTPMethod = _nethttp.MethodGet + localVarPostBody interface{} + localVarFormFileName string + localVarFileName string + localVarFileBytes []byte + localVarReturnValue Collection + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/redfish/v1/TaskService/Tasks" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := _neturl.Values{} + localVarFormParams := _neturl.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(r) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 200 { + var v Collection + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.model = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + /* GetVolumes Method for GetVolumes * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). diff --git a/client/docs/DefaultApi.md b/client/docs/DefaultApi.md index ee175ed..cf33ba5 100644 --- a/client/docs/DefaultApi.md +++ b/client/docs/DefaultApi.md @@ -12,8 +12,10 @@ Method | HTTP request | Description [**GetManager**](DefaultApi.md#GetManager) | **Get** /redfish/v1/Managers/{managerId} | [**GetManagerVirtualMedia**](DefaultApi.md#GetManagerVirtualMedia) | **Get** /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId} | [**GetRoot**](DefaultApi.md#GetRoot) | **Get** /redfish/v1 | +[**GetSoftwareInventory**](DefaultApi.md#GetSoftwareInventory) | **Get** /redfish/v1/UpdateService/FirmwareInventory/{softwareId} | [**GetSystem**](DefaultApi.md#GetSystem) | **Get** /redfish/v1/Systems/{systemId} | [**GetTask**](DefaultApi.md#GetTask) | **Get** /redfish/v1/TaskService/Tasks/{taskId} | +[**GetTaskList**](DefaultApi.md#GetTaskList) | **Get** /redfish/v1/TaskService/Tasks | [**GetVolumes**](DefaultApi.md#GetVolumes) | **Get** /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageControllerId}/Volumes | [**InsertVirtualMedia**](DefaultApi.md#InsertVirtualMedia) | **Post** /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.InsertMedia | [**ListManagerVirtualMedia**](DefaultApi.md#ListManagerVirtualMedia) | **Get** /redfish/v1/Managers/{managerId}/VirtualMedia | @@ -289,6 +291,38 @@ No authorization required [[Back to README]](../README.md) +## GetSoftwareInventory + +> SoftwareInventory GetSoftwareInventory(ctx, softwareId) + + + +### Required Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**softwareId** | **string**| ID of resource | + +### Return type + +[**SoftwareInventory**](SoftwareInventory.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + ## GetSystem > ComputerSystem GetSystem(ctx, systemId) @@ -353,6 +387,34 @@ No authorization required [[Back to README]](../README.md) +## GetTaskList + +> Collection GetTaskList(ctx, ) + + + +### Required Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Collection**](Collection.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + ## GetVolumes > Collection GetVolumes(ctx, computerSystemId, storageControllerId) diff --git a/client/docs/SoftwareInventory.md b/client/docs/SoftwareInventory.md new file mode 100644 index 0000000..1c9d477 --- /dev/null +++ b/client/docs/SoftwareInventory.md @@ -0,0 +1,27 @@ +# SoftwareInventory + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**OdataType** | **string** | | [readonly] +**OdataId** | **string** | | [readonly] +**OdataContext** | **string** | | [optional] [readonly] +**OdataEtag** | **string** | | [optional] [readonly] +**Description** | Pointer to **string** | | [optional] [readonly] +**Id** | **string** | | [readonly] +**LowestSupportedVersion** | Pointer to **string** | | [optional] [readonly] +**Manufacturer** | Pointer to **string** | | [optional] [readonly] +**Name** | **string** | | [readonly] +**RelatedItem** | [**[]IdRef**](idRef.md) | | [optional] [readonly] +**RelatedItemodataCount** | Pointer to **int32** | | [optional] [readonly] +**ReleaseDate** | Pointer to [**time.Time**](time.Time.md) | | [optional] [readonly] +**SoftwareId** | **string** | | [optional] [readonly] +**Status** | [**Status**](Status.md) | | [optional] +**UefiDevicePaths** | **[]string** | | [optional] [readonly] +**Updateable** | Pointer to **bool** | | [readonly] +**Version** | Pointer to **string** | | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client/docs/Task.md b/client/docs/Task.md index 096d65a..cd1c90a 100644 --- a/client/docs/Task.md +++ b/client/docs/Task.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **OdataId** | **string** | The name of the resource. | [readonly] **OdataType** | **string** | The type of a resource. | [readonly] **Description** | Pointer to **string** | description | [optional] [readonly] -**EndTime** | [**time.Time**](time.Time.md) | The date-time stamp that the task was last completed. | [optional] [readonly] +**EndTime** | **string** | The date-time stamp that the task was last completed. | [optional] [readonly] **HidePayload** | **bool** | Indicates that the contents of the Payload should be hidden from view after the Task has been created. When set to True, the Payload object will not be returned on GET. | [optional] [readonly] **Id** | **string** | The name of the resource. | [readonly] **Messages** | [**[]Message**](Message.md) | This is an array of messages associated with the task. | [optional] diff --git a/client/model_software_inventory.go b/client/model_software_inventory.go new file mode 100644 index 0000000..4e0b643 --- /dev/null +++ b/client/model_software_inventory.go @@ -0,0 +1,33 @@ +/* + * Redfish OAPI specification + * + * Partial Redfish OAPI specification for a limited client + * + * API version: 0.0.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package client +import ( + "time" +) +// SoftwareInventory This schema defines an inventory of software components. +type SoftwareInventory struct { + OdataType string `json:"@odata.type"` + OdataId string `json:"@odata.id"` + OdataContext string `json:"@odata.context,omitempty"` + OdataEtag string `json:"@odata.etag,omitempty"` + Description *string `json:"Description,omitempty"` + Id string `json:"Id"` + LowestSupportedVersion *string `json:"LowestSupportedVersion,omitempty"` + Manufacturer *string `json:"Manufacturer,omitempty"` + Name string `json:"Name"` + RelatedItem []IdRef `json:"RelatedItem,omitempty"` + RelatedItemodataCount *int32 `json:"RelatedItem@odata.count,omitempty"` + ReleaseDate *time.Time `json:"ReleaseDate,omitempty"` + SoftwareId string `json:"SoftwareId,omitempty"` + Status Status `json:"Status,omitempty"` + UefiDevicePaths []string `json:"UefiDevicePaths,omitempty"` + Updateable *bool `json:"Updateable"` + Version *string `json:"Version"` +} diff --git a/client/model_task.go b/client/model_task.go index 3ce5a0b..e401e41 100644 --- a/client/model_task.go +++ b/client/model_task.go @@ -24,7 +24,7 @@ type Task struct { // description Description *string `json:"Description,omitempty"` // The date-time stamp that the task was last completed. - EndTime time.Time `json:"EndTime,omitempty"` + EndTime string `json:"EndTime,omitempty"` // Indicates that the contents of the Payload should be hidden from view after the Task has been created. When set to True, the Payload object will not be returned on GET. HidePayload bool `json:"HidePayload,omitempty"` // The name of the resource. diff --git a/spec/openapi.yaml b/spec/openapi.yaml index af6fd9a..84207a9 100644 --- a/spec/openapi.yaml +++ b/spec/openapi.yaml @@ -324,6 +324,31 @@ paths: schema: $ref: '#/components/schemas/RedfishError' description: Error condition + /redfish/v1/UpdateService/FirmwareInventory/{softwareId}: + get: + operationId: get_software_inventory + parameters: + - description: ID of resource + explode: false + in: path + name: softwareId + required: true + schema: + type: string + style: simple + responses: + 200: + content: + application/json: + schema: + $ref: '#/components/schemas/SoftwareInventory' + description: Get Software Inventory + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition /redfish/v1/UpdateService/FirmwareInventory: get: operationId: Firmware_Inventory @@ -363,6 +388,16 @@ paths: schema: $ref: '#/components/schemas/RedfishError' description: Error condition + /redfish/v1/TaskService/Tasks: + get: + operationId: get_task_list + responses: + 200: + content: + application/json: + schema: + $ref: '#/components/schemas/Collection' + description: Task List /redfish/v1/TaskService/Tasks/{taskId}: get: operationId: get_task @@ -1578,7 +1613,6 @@ components: type: string EndTime: description: The date-time stamp that the task was last completed. - format: date-time readOnly: true type: string x-longDescription: The value of this property shall indicate the time the @@ -1685,6 +1719,84 @@ components: - Name - VolumeType type: object + SoftwareInventory: + additionalProperties: false + description: This schema defines an inventory of software components. + properties: + '@odata.type': + readOnly: true + type: string + '@odata.id': + format: uri-reference + readOnly: true + type: string + '@odata.context': + format: uri-reference + readOnly: true + type: string + '@odata.etag': + readOnly: true + type: string + Description: + nullable: true + readOnly: true + type: string + Id: + readOnly: true + type: string + LowestSupportedVersion: + nullable: true + readOnly: true + type: string + Manufacturer: + nullable: true + readOnly: true + type: string + Name: + type: string + readOnly: true + RelatedItem: + items: + $ref: '#/components/schemas/idRef' + readOnly: true + type: array + RelatedItem@odata.count: + minimum: 0 + nullable: true + readOnly: true + type: integer + ReleaseDate: + format: date-time + nullable: true + readOnly: true + type: string + SoftwareId: + readOnly: true + type: string + Status: + $ref: '#/components/schemas/Status' + UefiDevicePaths: + items: + nullable: true + type: string + readOnly: true + type: array + Updateable: + nullable: true + readOnly: true + type: boolean + Version: + nullable: true + readOnly: true + type: string + required: + - '@odata.id' + - '@odata.type' + - Id + - Name + - Version + - Updateable + type: object RedfishError_error: example: '@Message.ExtendedInfo':