From 332d1a830ac52bd476550f3d0f5cf0831b9128f9 Mon Sep 17 00:00:00 2001 From: Kanwar Saad Bin Liaqat Date: Mon, 9 Sep 2019 14:54:37 +0300 Subject: [PATCH] Added Managers and VirtualMedia Support --- Makefile | 2 +- client/README.md | 18 +- client/api/openapi.yaml | 537 +++++++++++++++- client/api_default.go | 607 ++++++++++++++++++ client/docs/Collection.md | 2 +- client/docs/ComputerSystem.md | 2 +- client/docs/ConnectedVia.md | 10 + client/docs/DefaultApi.md | 198 ++++++ client/docs/InsertMediaRequestBody.md | 17 + client/docs/Manager.md | 29 + client/docs/ManagerLinks.md | 14 + client/docs/ManagerType.md | 10 + client/docs/MemorySummary.md | 4 +- client/docs/ProcessorSummary.md | 2 +- client/docs/{Links.md => SystemLinks.md} | 2 +- client/docs/TransferMethod.md | 10 + client/docs/TransferProtocolType.md | 10 + client/docs/VirtualMedia.md | 28 + client/docs/VirtualMediaActions.md | 12 + ...rtualMediaActionsVirtualMediaEjectMedia.md | 11 + client/go.mod | 4 +- client/model_collection.go | 2 +- client/model_computer_system.go | 2 +- client/model_connected_via.go | 19 + client/model_insert_media_request_body.go | 20 + client/model_manager.go | 44 ++ client/model_manager_links.go | 17 + client/model_manager_type.go | 21 + client/model_memory_summary.go | 4 +- client/model_processor_summary.go | 2 +- .../{model_links.go => model_system_links.go} | 2 +- client/model_transfer_method.go | 17 + client/model_transfer_protocol_type.go | 23 + client/model_virtual_media.go | 39 ++ client/model_virtual_media_actions.go | 15 + ...media_actions_virtual_media_eject_media.go | 15 + spec/openapi.yaml | 440 ++++++++++++- 37 files changed, 2168 insertions(+), 43 deletions(-) create mode 100644 client/docs/ConnectedVia.md create mode 100644 client/docs/InsertMediaRequestBody.md create mode 100644 client/docs/Manager.md create mode 100644 client/docs/ManagerLinks.md create mode 100644 client/docs/ManagerType.md rename client/docs/{Links.md => SystemLinks.md} (96%) create mode 100644 client/docs/TransferMethod.md create mode 100644 client/docs/TransferProtocolType.md create mode 100644 client/docs/VirtualMedia.md create mode 100644 client/docs/VirtualMediaActions.md create mode 100644 client/docs/VirtualMediaActionsVirtualMediaEjectMedia.md create mode 100644 client/model_connected_via.go create mode 100644 client/model_insert_media_request_body.go create mode 100644 client/model_manager.go create mode 100644 client/model_manager_links.go create mode 100644 client/model_manager_type.go rename client/{model_links.go => model_system_links.go} (92%) create mode 100644 client/model_transfer_method.go create mode 100644 client/model_transfer_protocol_type.go create mode 100644 client/model_virtual_media.go create mode 100644 client/model_virtual_media_actions.go create mode 100644 client/model_virtual_media_actions_virtual_media_eject_media.go diff --git a/Makefile b/Makefile index daac3f0..d1cd845 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ .PHONY: code-gen code-gen: - rm -rf redfish_client + rm -rf client openapi-generator generate -i ./spec/openapi.yaml -g go --package-name "client" --git-repo-id go-redfish/client --git-user-id nordix-airship -o client/ .PHONY: deps diff --git a/client/README.md b/client/README.md index 4eed75c..8054fbd 100644 --- a/client/README.md +++ b/client/README.md @@ -32,11 +32,17 @@ All URIs are relative to *http://localhost* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- +*DefaultApi* | [**EjctVirtualMedia**](docs/DefaultApi.md#ejctvirtualmedia) | **Post** /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.EjectMedia | +*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* | [**GetSystem**](docs/DefaultApi.md#getsystem) | **Get** /redfish/v1/Systems/{systemId} | +*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 | *DefaultApi* | [**ListManagers**](docs/DefaultApi.md#listmanagers) | **Get** /redfish/v1/Managers | *DefaultApi* | [**ListSystems**](docs/DefaultApi.md#listsystems) | **Get** /redfish/v1/Systems | *DefaultApi* | [**ResetSystem**](docs/DefaultApi.md#resetsystem) | **Post** /redfish/v1/Systems/{ComputerSystemId}/Actions/ComputerSystem.Reset | +*DefaultApi* | [**SetSystem**](docs/DefaultApi.md#setsystem) | **Patch** /redfish/v1/Systems/{systemId} | ## Documentation For Models @@ -48,10 +54,14 @@ Class | Method | HTTP request | Description - [ComputerSystem](docs/ComputerSystem.md) - [ComputerSystemActions](docs/ComputerSystemActions.md) - [ComputerSystemReset](docs/ComputerSystemReset.md) + - [ConnectedVia](docs/ConnectedVia.md) - [Health](docs/Health.md) - [IdRef](docs/IdRef.md) - [IndicatorLed](docs/IndicatorLed.md) - - [Links](docs/Links.md) + - [InsertMediaRequestBody](docs/InsertMediaRequestBody.md) + - [Manager](docs/Manager.md) + - [ManagerLinks](docs/ManagerLinks.md) + - [ManagerType](docs/ManagerType.md) - [MemorySummary](docs/MemorySummary.md) - [Message](docs/Message.md) - [PowerState](docs/PowerState.md) @@ -63,6 +73,12 @@ Class | Method | HTTP request | Description - [Root](docs/Root.md) - [State](docs/State.md) - [Status](docs/Status.md) + - [SystemLinks](docs/SystemLinks.md) + - [TransferMethod](docs/TransferMethod.md) + - [TransferProtocolType](docs/TransferProtocolType.md) + - [VirtualMedia](docs/VirtualMedia.md) + - [VirtualMediaActions](docs/VirtualMediaActions.md) + - [VirtualMediaActionsVirtualMediaEjectMedia](docs/VirtualMediaActionsVirtualMediaEjectMedia.md) ## Documentation For Authorization diff --git a/client/api/openapi.yaml b/client/api/openapi.yaml index d40a8a2..4b64c64 100644 --- a/client/api/openapi.yaml +++ b/client/api/openapi.yaml @@ -45,16 +45,44 @@ paths: schema: $ref: '#/components/schemas/ComputerSystem' description: Computer Systems List - /redfish/v1/Managers: - get: - operationId: list_managers + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition + patch: + operationId: set_system + parameters: + - description: ID of resource + explode: false + in: path + name: systemId + required: true + schema: + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ComputerSystem' + required: true responses: 200: content: application/json: schema: - $ref: '#/components/schemas/Collection' - description: Managers List + $ref: '#/components/schemas/ComputerSystem' + description: ComputerSystem Properties set successfully + 204: + description: Success, but no response data + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition /redfish/v1/Systems/{ComputerSystemId}/Actions/ComputerSystem.Reset: post: operationId: reset_system @@ -87,6 +115,178 @@ paths: schema: $ref: '#/components/schemas/RedfishError' description: Error condition + /redfish/v1/Managers: + get: + operationId: list_managers + responses: + 200: + content: + application/json: + schema: + $ref: '#/components/schemas/Collection' + description: Managers List + /redfish/v1/Managers/{managerId}: + get: + operationId: get_manager + parameters: + - description: ID of resource + explode: false + in: path + name: managerId + required: true + schema: + type: string + style: simple + responses: + 200: + content: + application/json: + schema: + $ref: '#/components/schemas/Manager' + description: Get Manager + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition + /redfish/v1/Managers/{managerId}/VirtualMedia: + get: + operationId: list_manager_virtual_media + parameters: + - description: ID of resource + explode: false + in: path + name: managerId + required: true + schema: + type: string + style: simple + responses: + 200: + content: + application/json: + schema: + $ref: '#/components/schemas/Collection' + description: Get a list of Manager's virtual media + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition + /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}: + get: + operationId: get_manager_virtual_media + parameters: + - description: ID of resource + explode: false + in: path + name: managerId + required: true + schema: + type: string + style: simple + - description: ID of resource + explode: false + in: path + name: virtualMediaId + required: true + schema: + type: string + style: simple + responses: + 200: + content: + application/json: + schema: + $ref: '#/components/schemas/VirtualMedia' + description: Get a list of Manager's virtual media + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition + /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.InsertMedia: + post: + operationId: insert_virtual_media + parameters: + - description: ID of resource + explode: false + in: path + name: managerId + required: true + schema: + type: string + style: simple + - description: ID of resource + explode: false + in: path + name: virtualMediaId + required: true + schema: + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InsertMediaRequestBody' + required: true + responses: + 200: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Insert virtual media + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition + /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.EjectMedia: + post: + operationId: ejct_virtual_media + parameters: + - description: ID of resource + explode: false + in: path + name: managerId + required: true + schema: + type: string + style: simple + - description: ID of resource + explode: false + in: path + name: virtualMediaId + required: true + schema: + type: string + style: simple + requestBody: + content: + application/json: + schema: + properties: {} + type: object + required: true + responses: + 200: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Insert virtual media + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition components: schemas: BootSource: @@ -158,6 +358,38 @@ components: - Blinking - Off type: string + ManagerType: + enum: + - ManagementController + - EnclosureManager + - BMC + - RackManager + - AuxiliaryController + - Service + type: string + ConnectedVia: + enum: + - NotConnected + - URI + - Applet + - Oem + type: string + TransferMethod: + enum: + - Stream + - Upload + type: string + TransferProtocolType: + enum: + - CIFS + - FTP + - SFTP + - HTTP + - HTTPS + - NFS + - SCP + - TFTP + type: string context: description: The OData description of a payload. format: uri-reference @@ -361,6 +593,7 @@ components: type: string Description: description: description + nullable: true readOnly: true type: string Members: @@ -424,6 +657,7 @@ components: properties: Count: minimum: 0 + nullable: true readOnly: true type: integer Status: @@ -438,16 +672,18 @@ components: properties: TotalSystemMemoryGiB: minimum: 0 + nullable: true readOnly: true type: number TotalSystemPersistentMemoryGiB: minimum: 0 + nullable: true readOnly: true type: number Status: $ref: '#/components/schemas/Status' type: object - Links: + SystemLinks: additionalProperties: false example: Chassis: @@ -466,6 +702,39 @@ components: $ref: '#/components/schemas/idRef' type: array type: object + ManagerLinks: + additionalProperties: false + example: + ManagerForServers: + - '@odata.id': '@odata.id' + - '@odata.id': '@odata.id' + ManagerForSwitches: + - '@odata.id': '@odata.id' + - '@odata.id': '@odata.id' + ManagerForChassis: + - '@odata.id': '@odata.id' + - '@odata.id': '@odata.id' + ManagerInChassis: + - '@odata.id': '@odata.id' + - '@odata.id': '@odata.id' + properties: + ManagerForServers: + items: + $ref: '#/components/schemas/idRef' + type: array + ManagerForChassis: + items: + $ref: '#/components/schemas/idRef' + type: array + ManagerForSwitches: + items: + $ref: '#/components/schemas/idRef' + type: array + ManagerInChassis: + items: + $ref: '#/components/schemas/idRef' + type: array + type: object ComputerSystemReset: additionalProperties: false example: @@ -593,7 +862,7 @@ components: IndicatorLED: $ref: '#/components/schemas/IndicatorLED' Links: - $ref: '#/components/schemas/Links' + $ref: '#/components/schemas/SystemLinks' Actions: $ref: '#/components/schemas/ComputerSystem_Actions' required: @@ -601,6 +870,240 @@ components: - '@odata.type' - Name type: object + Manager: + additionalProperties: false + description: Redfish manager resource. + example: + Status: {} + Description: Description + DateTimeLocalOffset: DateTimeLocalOffset + ServiceEntryPointUUID: ServiceEntryPointUUID + '@odata.type': '@odata.type' + '@odata.context': '@odata.context' + DateTime: 2000-01-23T04:56:07.000+00:00 + FirmwareVersion: FirmwareVersion + Name: Name + '@odata.id': '@odata.id' + VirtualMedia: + '@odata.id': '@odata.id' + Model: Model + Links: + ManagerForServers: + - '@odata.id': '@odata.id' + - '@odata.id': '@odata.id' + ManagerForSwitches: + - '@odata.id': '@odata.id' + - '@odata.id': '@odata.id' + ManagerForChassis: + - '@odata.id': '@odata.id' + - '@odata.id': '@odata.id' + ManagerInChassis: + - '@odata.id': '@odata.id' + - '@odata.id': '@odata.id' + Id: Id + UUID: UUID + '@Redfish.Copyright': '@Redfish.Copyright' + EthernetInterfaces: + '@odata.id': '@odata.id' + properties: + Id: + description: The name of the resource. + readOnly: true + type: string + Name: + description: The name of the resource. + readOnly: true + type: string + UUID: + pattern: ([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}) + type: string + ServiceEntryPointUUID: + pattern: ([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}) + type: string + '@odata.type': + description: The type of a resource. + readOnly: true + type: string + '@odata.id': + description: The unique identifier for a resource. + format: uri-reference + readOnly: true + type: string + '@odata.context': + description: The OData description of a payload. + format: uri-reference + readOnly: true + type: string + '@Redfish.Copyright': + description: redfish copyright + type: string + Model: + nullable: true + readOnly: true + type: string + ManagerType: + $ref: '#/components/schemas/ManagerType' + Status: + $ref: '#/components/schemas/Status' + DateTime: + format: date-time + nullable: true + readOnly: false + type: string + DateTimeLocalOffset: + description: 'The time offset from UTC that the DateTime property is set + to in format: +06:00 .' + nullable: true + pattern: ([-+][0-1][0-9]:[0-5][0-9]) + readOnly: false + type: string + Description: + description: description + nullable: true + readOnly: true + type: string + EthernetInterfaces: + $ref: '#/components/schemas/idRef' + FirmwareVersion: + nullable: true + readOnly: true + type: string + Links: + $ref: '#/components/schemas/ManagerLinks' + PowerState: + $ref: '#/components/schemas/PowerState' + VirtualMedia: + $ref: '#/components/schemas/idRef' + required: + - '@odata.id' + - '@odata.type' + - Name + type: object + VirtualMedia: + additionalProperties: false + description: Redfish virtual media resource for manager. + example: + Description: Description + UserName: UserName + Actions: + '#VirtualMedia.InsertMedia': + target: target + '#VirtualMedia.EjectMedia': + target: target + '@odata.type': '@odata.type' + '@odata.context': '@odata.context' + Image: Image + MediaTypes: + - MediaTypes + - MediaTypes + Name: Name + ImageName: ImageName + '@odata.id': '@odata.id' + WriteProtected: true + Id: Id + '@Redfish.Copyright': '@Redfish.Copyright' + Inserted: true + Password: Password + properties: + Id: + description: The name of the resource. + readOnly: true + type: string + Name: + description: The name of the resource. + readOnly: true + type: string + '@odata.type': + description: The type of a resource. + readOnly: true + type: string + '@odata.id': + description: The unique identifier for a resource. + format: uri-reference + readOnly: true + type: string + '@odata.context': + description: The OData description of a payload. + format: uri-reference + readOnly: true + type: string + '@Redfish.Copyright': + description: redfish copyright + type: string + Description: + description: description + nullable: true + readOnly: true + type: string + Image: + format: uri-reference + nullable: true + readOnly: false + type: string + ImageName: + nullable: true + readOnly: true + type: string + Inserted: + nullable: true + readOnly: false + type: boolean + ConnectedVia: + $ref: '#/components/schemas/ConnectedVia' + MediaTypes: + items: + type: string + readOnly: true + type: array + WriteProtected: + nullable: true + readOnly: false + type: boolean + UserName: + nullable: true + readOnly: false + type: string + Password: + nullable: true + readOnly: false + type: string + TransferMethod: + $ref: '#/components/schemas/TransferMethod' + TransferProtocolType: + $ref: '#/components/schemas/TransferProtocolType' + Actions: + $ref: '#/components/schemas/VirtualMedia_Actions' + required: + - '@odata.id' + - '@odata.type' + - Name + type: object + InsertMediaRequestBody: + additionalProperties: false + example: + UserName: UserName + WriteProtected: true + Image: Image + Inserted: true + Password: Password + properties: + Image: + type: string + Inserted: + type: boolean + Password: + type: string + TransferMethod: + $ref: '#/components/schemas/TransferMethod' + TransferProtocolType: + $ref: '#/components/schemas/TransferProtocolType' + UserName: + type: string + WriteProtected: + type: boolean + required: + - Image + type: object RedfishError_error: example: '@Message.ExtendedInfo': @@ -650,3 +1153,23 @@ components: properties: '#ComputerSystem.Reset': $ref: '#/components/schemas/ComputerSystemReset' + VirtualMedia_Actions_VirtualMedia_EjectMedia: + example: + target: target + properties: + target: + description: The unique identifier for a resource. + format: uri-reference + readOnly: true + type: string + VirtualMedia_Actions: + example: + '#VirtualMedia.InsertMedia': + target: target + '#VirtualMedia.EjectMedia': + target: target + properties: + '#VirtualMedia.EjectMedia': + $ref: '#/components/schemas/VirtualMedia_Actions_VirtualMedia_EjectMedia' + '#VirtualMedia.InsertMedia': + $ref: '#/components/schemas/VirtualMedia_Actions_VirtualMedia_EjectMedia' diff --git a/client/api_default.go b/client/api_default.go index 7694ee9..c4922ef 100644 --- a/client/api_default.go +++ b/client/api_default.go @@ -25,6 +25,304 @@ var ( type DefaultApiService service +/* +DefaultApiService + * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param managerId ID of resource + * @param virtualMediaId ID of resource + * @param body +@return RedfishError +*/ +func (a *DefaultApiService) EjctVirtualMedia(ctx _context.Context, managerId string, virtualMediaId string, body map[string]interface{}) (RedfishError, *_nethttp.Response, error) { + var ( + localVarHttpMethod = _nethttp.MethodPost + localVarPostBody interface{} + localVarFormFileName string + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RedfishError + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.EjectMedia" + localVarPath = strings.Replace(localVarPath, "{"+"managerId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", managerId)), -1) + localVarPath = strings.Replace(localVarPath, "{"+"virtualMediaId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", virtualMediaId)), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := _neturl.Values{} + localVarFormParams := _neturl.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // 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 + } + // body params + localVarPostBody = &body + 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 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 + } + if localVarHttpResponse.StatusCode == 0 { + 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 + } + 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 +} + +/* +DefaultApiService + * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param managerId ID of resource +@return Manager +*/ +func (a *DefaultApiService) GetManager(ctx _context.Context, managerId string) (Manager, *_nethttp.Response, error) { + var ( + localVarHttpMethod = _nethttp.MethodGet + localVarPostBody interface{} + localVarFormFileName string + localVarFileName string + localVarFileBytes []byte + localVarReturnValue Manager + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/redfish/v1/Managers/{managerId}" + localVarPath = strings.Replace(localVarPath, "{"+"managerId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", managerId)), -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 Manager + 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 + } + if localVarHttpResponse.StatusCode == 0 { + 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 + } + 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 +} + +/* +DefaultApiService + * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param managerId ID of resource + * @param virtualMediaId ID of resource +@return VirtualMedia +*/ +func (a *DefaultApiService) GetManagerVirtualMedia(ctx _context.Context, managerId string, virtualMediaId string) (VirtualMedia, *_nethttp.Response, error) { + var ( + localVarHttpMethod = _nethttp.MethodGet + localVarPostBody interface{} + localVarFormFileName string + localVarFileName string + localVarFileBytes []byte + localVarReturnValue VirtualMedia + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}" + localVarPath = strings.Replace(localVarPath, "{"+"managerId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", managerId)), -1) + localVarPath = strings.Replace(localVarPath, "{"+"virtualMediaId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", virtualMediaId)), -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 VirtualMedia + 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 + } + if localVarHttpResponse.StatusCode == 0 { + 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 + } + 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 +} + /* DefaultApiService * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @@ -182,6 +480,215 @@ func (a *DefaultApiService) GetSystem(ctx _context.Context, systemId string) (Co newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr } + if localVarHttpResponse.StatusCode == 0 { + 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 + } + 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 +} + +/* +DefaultApiService + * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param managerId ID of resource + * @param virtualMediaId ID of resource + * @param insertMediaRequestBody +@return RedfishError +*/ +func (a *DefaultApiService) InsertVirtualMedia(ctx _context.Context, managerId string, virtualMediaId string, insertMediaRequestBody InsertMediaRequestBody) (RedfishError, *_nethttp.Response, error) { + var ( + localVarHttpMethod = _nethttp.MethodPost + localVarPostBody interface{} + localVarFormFileName string + localVarFileName string + localVarFileBytes []byte + localVarReturnValue RedfishError + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.InsertMedia" + localVarPath = strings.Replace(localVarPath, "{"+"managerId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", managerId)), -1) + localVarPath = strings.Replace(localVarPath, "{"+"virtualMediaId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", virtualMediaId)), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := _neturl.Values{} + localVarFormParams := _neturl.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // 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 + } + // body params + localVarPostBody = &insertMediaRequestBody + 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 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 + } + if localVarHttpResponse.StatusCode == 0 { + 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 + } + 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 +} + +/* +DefaultApiService + * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param managerId ID of resource +@return Collection +*/ +func (a *DefaultApiService) ListManagerVirtualMedia(ctx _context.Context, managerId string) (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/Managers/{managerId}/VirtualMedia" + localVarPath = strings.Replace(localVarPath, "{"+"managerId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", managerId)), -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 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 + } + if localVarHttpResponse.StatusCode == 0 { + 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 + } return localVarReturnValue, localVarHttpResponse, newErr } @@ -466,3 +973,103 @@ func (a *DefaultApiService) ResetSystem(ctx _context.Context, computerSystemId s return localVarReturnValue, localVarHttpResponse, nil } + +/* +DefaultApiService + * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param systemId ID of resource + * @param computerSystem +@return ComputerSystem +*/ +func (a *DefaultApiService) SetSystem(ctx _context.Context, systemId string, computerSystem ComputerSystem) (ComputerSystem, *_nethttp.Response, error) { + var ( + localVarHttpMethod = _nethttp.MethodPatch + localVarPostBody interface{} + localVarFormFileName string + localVarFileName string + localVarFileBytes []byte + localVarReturnValue ComputerSystem + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/redfish/v1/Systems/{systemId}" + localVarPath = strings.Replace(localVarPath, "{"+"systemId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", systemId)), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := _neturl.Values{} + localVarFormParams := _neturl.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // 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 + } + // body params + localVarPostBody = &computerSystem + 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 ComputerSystem + 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 + } + if localVarHttpResponse.StatusCode == 0 { + 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 + } + 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 +} diff --git a/client/docs/Collection.md b/client/docs/Collection.md index 9e88720..e91b778 100644 --- a/client/docs/Collection.md +++ b/client/docs/Collection.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **OdataEtag** | **string** | etag | [optional] **OdataId** | **string** | id | **OdataType** | **string** | type | -**Description** | **string** | description | [optional] +**Description** | Pointer to **string** | description | [optional] **Members** | [**[]IdRef**](idRef.md) | Contains the members of this collection. | **MembersodataCount** | **int32** | The number of items in a collection. | [optional] **MembersodataNextLink** | **string** | The URI to the resource containing the next set of partial members. | [optional] diff --git a/client/docs/ComputerSystem.md b/client/docs/ComputerSystem.md index 1a10615..1527c9e 100644 --- a/client/docs/ComputerSystem.md +++ b/client/docs/ComputerSystem.md @@ -23,7 +23,7 @@ Name | Type | Description | Notes **ProcessorSummary** | [**ProcessorSummary**](ProcessorSummary.md) | | [optional] **MemorySummary** | [**MemorySummary**](MemorySummary.md) | | [optional] **IndicatorLED** | [**IndicatorLed**](IndicatorLED.md) | | [optional] -**Links** | [**Links**](Links.md) | | [optional] +**Links** | [**SystemLinks**](SystemLinks.md) | | [optional] **Actions** | [**ComputerSystemActions**](ComputerSystem_Actions.md) | | [optional] [[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/ConnectedVia.md b/client/docs/ConnectedVia.md new file mode 100644 index 0000000..b7db877 --- /dev/null +++ b/client/docs/ConnectedVia.md @@ -0,0 +1,10 @@ +# ConnectedVia + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/DefaultApi.md b/client/docs/DefaultApi.md index ca11c95..80c92d0 100644 --- a/client/docs/DefaultApi.md +++ b/client/docs/DefaultApi.md @@ -4,14 +4,116 @@ All URIs are relative to *http://localhost* Method | HTTP request | Description ------------- | ------------- | ------------- +[**EjctVirtualMedia**](DefaultApi.md#EjctVirtualMedia) | **Post** /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.EjectMedia | +[**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 | [**GetSystem**](DefaultApi.md#GetSystem) | **Get** /redfish/v1/Systems/{systemId} | +[**InsertVirtualMedia**](DefaultApi.md#InsertVirtualMedia) | **Post** /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.InsertMedia | +[**ListManagerVirtualMedia**](DefaultApi.md#ListManagerVirtualMedia) | **Get** /redfish/v1/Managers/{managerId}/VirtualMedia | [**ListManagers**](DefaultApi.md#ListManagers) | **Get** /redfish/v1/Managers | [**ListSystems**](DefaultApi.md#ListSystems) | **Get** /redfish/v1/Systems | [**ResetSystem**](DefaultApi.md#ResetSystem) | **Post** /redfish/v1/Systems/{ComputerSystemId}/Actions/ComputerSystem.Reset | +[**SetSystem**](DefaultApi.md#SetSystem) | **Patch** /redfish/v1/Systems/{systemId} | +## EjctVirtualMedia + +> RedfishError EjctVirtualMedia(ctx, managerId, virtualMediaId, body) + + +### Required Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**managerId** | **string**| ID of resource | +**virtualMediaId** | **string**| ID of resource | +**body** | **map[string]interface{}**| | + +### Return type + +[**RedfishError**](RedfishError.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **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) + + +## GetManager + +> Manager GetManager(ctx, managerId) + + +### Required Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**managerId** | **string**| ID of resource | + +### Return type + +[**Manager**](Manager.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) + + +## GetManagerVirtualMedia + +> VirtualMedia GetManagerVirtualMedia(ctx, managerId, virtualMediaId) + + +### Required Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**managerId** | **string**| ID of resource | +**virtualMediaId** | **string**| ID of resource | + +### Return type + +[**VirtualMedia**](VirtualMedia.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) + + ## GetRoot > Root GetRoot(ctx, ) @@ -70,6 +172,70 @@ No authorization required [[Back to README]](../README.md) +## InsertVirtualMedia + +> RedfishError InsertVirtualMedia(ctx, managerId, virtualMediaId, insertMediaRequestBody) + + +### Required Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**managerId** | **string**| ID of resource | +**virtualMediaId** | **string**| ID of resource | +**insertMediaRequestBody** | [**InsertMediaRequestBody**](InsertMediaRequestBody.md)| | + +### Return type + +[**RedfishError**](RedfishError.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **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) + + +## ListManagerVirtualMedia + +> Collection ListManagerVirtualMedia(ctx, managerId) + + +### Required Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**managerId** | **string**| ID of resource | + +### 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) + + ## ListManagers > Collection ListManagers(ctx, ) @@ -155,3 +321,35 @@ No authorization required [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +## SetSystem + +> ComputerSystem SetSystem(ctx, systemId, computerSystem) + + +### Required Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**systemId** | **string**| ID of resource | +**computerSystem** | [**ComputerSystem**](ComputerSystem.md)| | + +### Return type + +[**ComputerSystem**](ComputerSystem.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **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) + diff --git a/client/docs/InsertMediaRequestBody.md b/client/docs/InsertMediaRequestBody.md new file mode 100644 index 0000000..ca02bb4 --- /dev/null +++ b/client/docs/InsertMediaRequestBody.md @@ -0,0 +1,17 @@ +# InsertMediaRequestBody + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Image** | **string** | | +**Inserted** | **bool** | | [optional] +**Password** | **string** | | [optional] +**TransferMethod** | [**TransferMethod**](TransferMethod.md) | | [optional] +**TransferProtocolType** | [**TransferProtocolType**](TransferProtocolType.md) | | [optional] +**UserName** | **string** | | [optional] +**WriteProtected** | **bool** | | [optional] + +[[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/Manager.md b/client/docs/Manager.md new file mode 100644 index 0000000..3ff97bc --- /dev/null +++ b/client/docs/Manager.md @@ -0,0 +1,29 @@ +# Manager + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **string** | The name of the resource. | [optional] +**Name** | **string** | The name of the resource. | +**UUID** | **string** | | [optional] +**ServiceEntryPointUUID** | **string** | | [optional] +**OdataType** | **string** | The type of a resource. | +**OdataId** | **string** | The unique identifier for a resource. | +**OdataContext** | **string** | The OData description of a payload. | [optional] +**RedfishCopyright** | **string** | redfish copyright | [optional] +**Model** | Pointer to **string** | | [optional] +**ManagerType** | [**ManagerType**](ManagerType.md) | | [optional] +**Status** | [**Status**](Status.md) | | [optional] +**DateTime** | Pointer to [**time.Time**](time.Time.md) | | [optional] +**DateTimeLocalOffset** | Pointer to **string** | The time offset from UTC that the DateTime property is set to in format: +06:00 . | [optional] +**Description** | Pointer to **string** | description | [optional] +**EthernetInterfaces** | [**IdRef**](idRef.md) | | [optional] +**FirmwareVersion** | Pointer to **string** | | [optional] +**Links** | [**ManagerLinks**](ManagerLinks.md) | | [optional] +**PowerState** | [**PowerState**](PowerState.md) | | [optional] +**VirtualMedia** | [**IdRef**](idRef.md) | | [optional] + +[[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/ManagerLinks.md b/client/docs/ManagerLinks.md new file mode 100644 index 0000000..d6a18ba --- /dev/null +++ b/client/docs/ManagerLinks.md @@ -0,0 +1,14 @@ +# ManagerLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ManagerForServers** | [**[]IdRef**](idRef.md) | | [optional] +**ManagerForChassis** | [**[]IdRef**](idRef.md) | | [optional] +**ManagerForSwitches** | [**[]IdRef**](idRef.md) | | [optional] +**ManagerInChassis** | [**[]IdRef**](idRef.md) | | [optional] + +[[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/ManagerType.md b/client/docs/ManagerType.md new file mode 100644 index 0000000..2d1d375 --- /dev/null +++ b/client/docs/ManagerType.md @@ -0,0 +1,10 @@ +# ManagerType + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/MemorySummary.md b/client/docs/MemorySummary.md index 321a4c8..58c98ce 100644 --- a/client/docs/MemorySummary.md +++ b/client/docs/MemorySummary.md @@ -4,8 +4,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**TotalSystemMemoryGiB** | **float32** | | [optional] -**TotalSystemPersistentMemoryGiB** | **float32** | | [optional] +**TotalSystemMemoryGiB** | Pointer to **float32** | | [optional] +**TotalSystemPersistentMemoryGiB** | Pointer to **float32** | | [optional] **Status** | [**Status**](Status.md) | | [optional] [[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/ProcessorSummary.md b/client/docs/ProcessorSummary.md index d997790..1e475de 100644 --- a/client/docs/ProcessorSummary.md +++ b/client/docs/ProcessorSummary.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Count** | **int32** | | [optional] +**Count** | Pointer to **int32** | | [optional] **Status** | [**Status**](Status.md) | | [optional] [[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/Links.md b/client/docs/SystemLinks.md similarity index 96% rename from client/docs/Links.md rename to client/docs/SystemLinks.md index 983e150..6b1d61d 100644 --- a/client/docs/Links.md +++ b/client/docs/SystemLinks.md @@ -1,4 +1,4 @@ -# Links +# SystemLinks ## Properties diff --git a/client/docs/TransferMethod.md b/client/docs/TransferMethod.md new file mode 100644 index 0000000..6d521fd --- /dev/null +++ b/client/docs/TransferMethod.md @@ -0,0 +1,10 @@ +# TransferMethod + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/TransferProtocolType.md b/client/docs/TransferProtocolType.md new file mode 100644 index 0000000..86088d0 --- /dev/null +++ b/client/docs/TransferProtocolType.md @@ -0,0 +1,10 @@ +# TransferProtocolType + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/VirtualMedia.md b/client/docs/VirtualMedia.md new file mode 100644 index 0000000..560b23d --- /dev/null +++ b/client/docs/VirtualMedia.md @@ -0,0 +1,28 @@ +# VirtualMedia + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **string** | The name of the resource. | [optional] +**Name** | **string** | The name of the resource. | +**OdataType** | **string** | The type of a resource. | +**OdataId** | **string** | The unique identifier for a resource. | +**OdataContext** | **string** | The OData description of a payload. | [optional] +**RedfishCopyright** | **string** | redfish copyright | [optional] +**Description** | Pointer to **string** | description | [optional] +**Image** | Pointer to **string** | | [optional] +**ImageName** | Pointer to **string** | | [optional] +**Inserted** | Pointer to **bool** | | [optional] +**ConnectedVia** | [**ConnectedVia**](ConnectedVia.md) | | [optional] +**MediaTypes** | **[]string** | | [optional] +**WriteProtected** | Pointer to **bool** | | [optional] +**UserName** | Pointer to **string** | | [optional] +**Password** | Pointer to **string** | | [optional] +**TransferMethod** | [**TransferMethod**](TransferMethod.md) | | [optional] +**TransferProtocolType** | [**TransferProtocolType**](TransferProtocolType.md) | | [optional] +**Actions** | [**VirtualMediaActions**](VirtualMedia_Actions.md) | | [optional] + +[[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/VirtualMediaActions.md b/client/docs/VirtualMediaActions.md new file mode 100644 index 0000000..566a7c7 --- /dev/null +++ b/client/docs/VirtualMediaActions.md @@ -0,0 +1,12 @@ +# VirtualMediaActions + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**VirtualMediaEjectMedia** | [**VirtualMediaActionsVirtualMediaEjectMedia**](VirtualMedia_Actions_VirtualMedia_EjectMedia.md) | | [optional] +**VirtualMediaInsertMedia** | [**VirtualMediaActionsVirtualMediaEjectMedia**](VirtualMedia_Actions_VirtualMedia_EjectMedia.md) | | [optional] + +[[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/VirtualMediaActionsVirtualMediaEjectMedia.md b/client/docs/VirtualMediaActionsVirtualMediaEjectMedia.md new file mode 100644 index 0000000..2e7a6c8 --- /dev/null +++ b/client/docs/VirtualMediaActionsVirtualMediaEjectMedia.md @@ -0,0 +1,11 @@ +# VirtualMediaActionsVirtualMediaEjectMedia + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Target** | **string** | The unique identifier for a resource. | [optional] + +[[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/go.mod b/client/go.mod index 6cce9fd..7e7a424 100644 --- a/client/go.mod +++ b/client/go.mod @@ -1,6 +1,6 @@ module github.com/nordix-airship/go-redfish/client require ( - github.com/antihax/optional v0.0.0-20180406194304-ca021399b1a6 - golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a + github.com/antihax/optional v0.0.0-20180406194304-ca021399b1a6 + golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a ) diff --git a/client/model_collection.go b/client/model_collection.go index 192b680..3cb5bc7 100644 --- a/client/model_collection.go +++ b/client/model_collection.go @@ -20,7 +20,7 @@ type Collection struct { // type OdataType string `json:"@odata.type"` // description - Description string `json:"Description,omitempty"` + Description *string `json:"Description,omitempty"` // Contains the members of this collection. Members []IdRef `json:"Members"` // The number of items in a collection. diff --git a/client/model_computer_system.go b/client/model_computer_system.go index b1c6d66..22f7afc 100644 --- a/client/model_computer_system.go +++ b/client/model_computer_system.go @@ -37,6 +37,6 @@ type ComputerSystem struct { ProcessorSummary ProcessorSummary `json:"ProcessorSummary,omitempty"` MemorySummary MemorySummary `json:"MemorySummary,omitempty"` IndicatorLED IndicatorLed `json:"IndicatorLED,omitempty"` - Links Links `json:"Links,omitempty"` + Links SystemLinks `json:"Links,omitempty"` Actions ComputerSystemActions `json:"Actions,omitempty"` } diff --git a/client/model_connected_via.go b/client/model_connected_via.go new file mode 100644 index 0000000..bc8eab7 --- /dev/null +++ b/client/model_connected_via.go @@ -0,0 +1,19 @@ +/* + * 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 +type ConnectedVia string + +// List of ConnectedVia +const ( + NOT_CONNECTED ConnectedVia = "NotConnected" + URI ConnectedVia = "URI" + APPLET ConnectedVia = "Applet" + OEM ConnectedVia = "Oem" +) \ No newline at end of file diff --git a/client/model_insert_media_request_body.go b/client/model_insert_media_request_body.go new file mode 100644 index 0000000..cca7461 --- /dev/null +++ b/client/model_insert_media_request_body.go @@ -0,0 +1,20 @@ +/* + * 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 + +type InsertMediaRequestBody struct { + Image string `json:"Image"` + Inserted bool `json:"Inserted,omitempty"` + Password string `json:"Password,omitempty"` + TransferMethod TransferMethod `json:"TransferMethod,omitempty"` + TransferProtocolType TransferProtocolType `json:"TransferProtocolType,omitempty"` + UserName string `json:"UserName,omitempty"` + WriteProtected bool `json:"WriteProtected,omitempty"` +} diff --git a/client/model_manager.go b/client/model_manager.go new file mode 100644 index 0000000..bc09d47 --- /dev/null +++ b/client/model_manager.go @@ -0,0 +1,44 @@ +/* + * 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" +) + +// Redfish manager resource. +type Manager struct { + // The name of the resource. + Id string `json:"Id,omitempty"` + // The name of the resource. + Name string `json:"Name"` + UUID string `json:"UUID,omitempty"` + ServiceEntryPointUUID string `json:"ServiceEntryPointUUID,omitempty"` + // The type of a resource. + OdataType string `json:"@odata.type"` + // The unique identifier for a resource. + OdataId string `json:"@odata.id"` + // The OData description of a payload. + OdataContext string `json:"@odata.context,omitempty"` + // redfish copyright + RedfishCopyright string `json:"@Redfish.Copyright,omitempty"` + Model *string `json:"Model,omitempty"` + ManagerType ManagerType `json:"ManagerType,omitempty"` + Status Status `json:"Status,omitempty"` + DateTime *time.Time `json:"DateTime,omitempty"` + // The time offset from UTC that the DateTime property is set to in format: +06:00 . + DateTimeLocalOffset *string `json:"DateTimeLocalOffset,omitempty"` + // description + Description *string `json:"Description,omitempty"` + EthernetInterfaces IdRef `json:"EthernetInterfaces,omitempty"` + FirmwareVersion *string `json:"FirmwareVersion,omitempty"` + Links ManagerLinks `json:"Links,omitempty"` + PowerState PowerState `json:"PowerState,omitempty"` + VirtualMedia IdRef `json:"VirtualMedia,omitempty"` +} diff --git a/client/model_manager_links.go b/client/model_manager_links.go new file mode 100644 index 0000000..b687cb8 --- /dev/null +++ b/client/model_manager_links.go @@ -0,0 +1,17 @@ +/* + * 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 + +type ManagerLinks struct { + ManagerForServers []IdRef `json:"ManagerForServers,omitempty"` + ManagerForChassis []IdRef `json:"ManagerForChassis,omitempty"` + ManagerForSwitches []IdRef `json:"ManagerForSwitches,omitempty"` + ManagerInChassis []IdRef `json:"ManagerInChassis,omitempty"` +} diff --git a/client/model_manager_type.go b/client/model_manager_type.go new file mode 100644 index 0000000..2c3472a --- /dev/null +++ b/client/model_manager_type.go @@ -0,0 +1,21 @@ +/* + * 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 +type ManagerType string + +// List of ManagerType +const ( + MANAGEMENT_CONTROLLER ManagerType = "ManagementController" + ENCLOSURE_MANAGER ManagerType = "EnclosureManager" + BMC ManagerType = "BMC" + RACK_MANAGER ManagerType = "RackManager" + AUXILIARY_CONTROLLER ManagerType = "AuxiliaryController" + SERVICE ManagerType = "Service" +) \ No newline at end of file diff --git a/client/model_memory_summary.go b/client/model_memory_summary.go index 011a6fb..5bf4986 100644 --- a/client/model_memory_summary.go +++ b/client/model_memory_summary.go @@ -10,7 +10,7 @@ package client type MemorySummary struct { - TotalSystemMemoryGiB float32 `json:"TotalSystemMemoryGiB,omitempty"` - TotalSystemPersistentMemoryGiB float32 `json:"TotalSystemPersistentMemoryGiB,omitempty"` + TotalSystemMemoryGiB *float32 `json:"TotalSystemMemoryGiB,omitempty"` + TotalSystemPersistentMemoryGiB *float32 `json:"TotalSystemPersistentMemoryGiB,omitempty"` Status Status `json:"Status,omitempty"` } diff --git a/client/model_processor_summary.go b/client/model_processor_summary.go index db78980..0e93327 100644 --- a/client/model_processor_summary.go +++ b/client/model_processor_summary.go @@ -10,6 +10,6 @@ package client type ProcessorSummary struct { - Count int32 `json:"Count,omitempty"` + Count *int32 `json:"Count,omitempty"` Status Status `json:"Status,omitempty"` } diff --git a/client/model_links.go b/client/model_system_links.go similarity index 92% rename from client/model_links.go rename to client/model_system_links.go index cee1271..1bc2a1e 100644 --- a/client/model_links.go +++ b/client/model_system_links.go @@ -9,7 +9,7 @@ package client -type Links struct { +type SystemLinks struct { Chassis []IdRef `json:"Chassis,omitempty"` ManagedBy []IdRef `json:"ManagedBy,omitempty"` } diff --git a/client/model_transfer_method.go b/client/model_transfer_method.go new file mode 100644 index 0000000..efaaa5c --- /dev/null +++ b/client/model_transfer_method.go @@ -0,0 +1,17 @@ +/* + * 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 +type TransferMethod string + +// List of TransferMethod +const ( + STREAM TransferMethod = "Stream" + UPLOAD TransferMethod = "Upload" +) \ No newline at end of file diff --git a/client/model_transfer_protocol_type.go b/client/model_transfer_protocol_type.go new file mode 100644 index 0000000..fc4de93 --- /dev/null +++ b/client/model_transfer_protocol_type.go @@ -0,0 +1,23 @@ +/* + * 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 +type TransferProtocolType string + +// List of TransferProtocolType +const ( + CIFS TransferProtocolType = "CIFS" + FTP TransferProtocolType = "FTP" + SFTP TransferProtocolType = "SFTP" + HTTP TransferProtocolType = "HTTP" + HTTPS TransferProtocolType = "HTTPS" + NFS TransferProtocolType = "NFS" + SCP TransferProtocolType = "SCP" + TFTP TransferProtocolType = "TFTP" +) \ No newline at end of file diff --git a/client/model_virtual_media.go b/client/model_virtual_media.go new file mode 100644 index 0000000..df80c24 --- /dev/null +++ b/client/model_virtual_media.go @@ -0,0 +1,39 @@ +/* + * 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 + +// Redfish virtual media resource for manager. +type VirtualMedia struct { + // The name of the resource. + Id string `json:"Id,omitempty"` + // The name of the resource. + Name string `json:"Name"` + // The type of a resource. + OdataType string `json:"@odata.type"` + // The unique identifier for a resource. + OdataId string `json:"@odata.id"` + // The OData description of a payload. + OdataContext string `json:"@odata.context,omitempty"` + // redfish copyright + RedfishCopyright string `json:"@Redfish.Copyright,omitempty"` + // description + Description *string `json:"Description,omitempty"` + Image *string `json:"Image,omitempty"` + ImageName *string `json:"ImageName,omitempty"` + Inserted *bool `json:"Inserted,omitempty"` + ConnectedVia ConnectedVia `json:"ConnectedVia,omitempty"` + MediaTypes []string `json:"MediaTypes,omitempty"` + WriteProtected *bool `json:"WriteProtected,omitempty"` + UserName *string `json:"UserName,omitempty"` + Password *string `json:"Password,omitempty"` + TransferMethod TransferMethod `json:"TransferMethod,omitempty"` + TransferProtocolType TransferProtocolType `json:"TransferProtocolType,omitempty"` + Actions VirtualMediaActions `json:"Actions,omitempty"` +} diff --git a/client/model_virtual_media_actions.go b/client/model_virtual_media_actions.go new file mode 100644 index 0000000..d61834a --- /dev/null +++ b/client/model_virtual_media_actions.go @@ -0,0 +1,15 @@ +/* + * 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 + +type VirtualMediaActions struct { + VirtualMediaEjectMedia VirtualMediaActionsVirtualMediaEjectMedia `json:"#VirtualMedia.EjectMedia,omitempty"` + VirtualMediaInsertMedia VirtualMediaActionsVirtualMediaEjectMedia `json:"#VirtualMedia.InsertMedia,omitempty"` +} diff --git a/client/model_virtual_media_actions_virtual_media_eject_media.go b/client/model_virtual_media_actions_virtual_media_eject_media.go new file mode 100644 index 0000000..ddde006 --- /dev/null +++ b/client/model_virtual_media_actions_virtual_media_eject_media.go @@ -0,0 +1,15 @@ +/* + * 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 + +type VirtualMediaActionsVirtualMediaEjectMedia struct { + // The unique identifier for a resource. + Target string `json:"target,omitempty"` +} diff --git a/spec/openapi.yaml b/spec/openapi.yaml index fd56aec..b953cef 100644 --- a/spec/openapi.yaml +++ b/spec/openapi.yaml @@ -74,6 +74,38 @@ components: - Lit - Blinking - "Off" + ManagerType: + enum: + - ManagementController + - EnclosureManager + - BMC + - RackManager + - AuxiliaryController + - Service + type: string + ConnectedVia: + enum: + - NotConnected + - URI + - Applet + - Oem + type: string + TransferMethod: + enum: + - Stream + - Upload + type: string + TransferProtocolType: + enum: + - CIFS + - FTP + - SFTP + - HTTP + - HTTPS + - NFS + - SCP + - TFTP + type: string context: description: The OData description of a payload. format: uri-reference @@ -223,7 +255,7 @@ components: 'Description': type: string description: "description" - #nullable: true + nullable: true readOnly: true 'Members': description: Contains the members of this collection. @@ -244,15 +276,15 @@ components: properties: Health: $ref: '#/components/schemas/Health' - #nullable: true + nullable: true readOnly: true HealthRollup: $ref: '#/components/schemas/Health' - #nullable: true + nullable: true readOnly: true State: $ref: '#/components/schemas/State' - #nullable: true + nullable: true readOnly: true Boot: type: object @@ -272,7 +304,7 @@ components: properties: Count: minimum: 0 - #nullable: true + nullable: true readOnly: true type: integer Status: @@ -283,17 +315,17 @@ components: properties: TotalSystemMemoryGiB: minimum: 0 - #nullable: true + nullable: true readOnly: true type: number TotalSystemPersistentMemoryGiB: minimum: 0 - #nullable: true + nullable: true readOnly: true type: number Status: $ref: '#/components/schemas/Status' - Links: + SystemLinks: type: object additionalProperties: false properties: @@ -305,6 +337,26 @@ components: type: array items: $ref: '#/components/schemas/idRef' + ManagerLinks: + type: object + additionalProperties: false + properties: + ManagerForServers: + type: array + items: + $ref: '#/components/schemas/idRef' + ManagerForChassis: + type: array + items: + $ref: '#/components/schemas/idRef' + ManagerForSwitches: + type: array + items: + $ref: '#/components/schemas/idRef' + ManagerInChassis: + type: array + items: + $ref: '#/components/schemas/idRef' ComputerSystemReset: type: object additionalProperties: false @@ -371,12 +423,182 @@ components: 'IndicatorLED': $ref: '#/components/schemas/IndicatorLED' 'Links': - $ref: '#/components/schemas/Links' + $ref: '#/components/schemas/SystemLinks' 'Actions': type: object properties: "#ComputerSystem.Reset": $ref: '#/components/schemas/ComputerSystemReset' + Manager: + type: object + additionalProperties: false + description: Redfish manager resource. + required: + - '@odata.id' + - '@odata.type' + - 'Name' + properties: + 'Id': + $ref: '#/components/schemas/id' + 'Name': + $ref: '#/components/schemas/name' + 'UUID': + $ref: '#/components/schemas/UUID' + 'ServiceEntryPointUUID': + $ref: '#/components/schemas/UUID' + '@odata.type': + $ref: '#/components/schemas/rtype' + '@odata.id': + $ref: '#/components/schemas/odataId' + '@odata.context': + $ref: '#/components/schemas/context' + '@Redfish.Copyright': + type: string + description: redfish copyright + 'Model': + nullable: true + readOnly: true + type: string + 'ManagerType': + $ref: '#/components/schemas/ManagerType' + readOnly: true + 'Status': + $ref: '#/components/schemas/Status' + 'DateTime': + format: date-time + nullable: true + readOnly: false + type: string + 'DateTimeLocalOffset': + description: 'The time offset from UTC that the DateTime property is set + to in format: +06:00 .' + nullable: true + pattern: ([-+][0-1][0-9]:[0-5][0-9]) + readOnly: false + type: string + 'Description': + type: string + description: "description" + nullable: true + readOnly: true + 'EthernetInterfaces': + $ref: '#/components/schemas/idRef' + readOnly: true + 'FirmwareVersion': + nullable: true + readOnly: true + type: string + 'Links': + $ref: '#/components/schemas/ManagerLinks' + 'PowerState': + $ref: '#/components/schemas/PowerState' + 'VirtualMedia': + $ref: '#/components/schemas/idRef' + readOnly: true + + VirtualMedia: + type: object + additionalProperties: false + description: Redfish virtual media resource for manager. + required: + - '@odata.id' + - '@odata.type' + - 'Name' + properties: + 'Id': + $ref: '#/components/schemas/id' + 'Name': + $ref: '#/components/schemas/name' + '@odata.type': + $ref: '#/components/schemas/rtype' + '@odata.id': + $ref: '#/components/schemas/odataId' + '@odata.context': + $ref: '#/components/schemas/context' + '@Redfish.Copyright': + type: string + description: redfish copyright + 'Description': + type: string + description: "description" + nullable: true + readOnly: true + 'Image': + format: uri-reference + nullable: true + readOnly: false + type: string + 'ImageName': + nullable: true + readOnly: true + type: string + 'Inserted': + nullable: true + readOnly: false + type: boolean + 'ConnectedVia': + $ref: '#/components/schemas/ConnectedVia' + nullable: true + readOnly: true + 'MediaTypes': + items: + type: string + readOnly: true + type: array + 'WriteProtected': + nullable: true + readOnly: false + type: boolean + 'UserName': + nullable: true + readOnly: false + type: string + 'Password': + nullable: true + readOnly: false + type: string + 'TransferMethod': + $ref: '#/components/schemas/TransferMethod' + nullable: true + readOnly: false + 'TransferProtocolType': + $ref: '#/components/schemas/TransferProtocolType' + nullable: true + readOnly: false + 'Actions': + type: object + additionalProperties: false + properties: + '#VirtualMedia.EjectMedia': + type: object + properties: + 'target': + $ref: '#/components/schemas/odataId' + '#VirtualMedia.InsertMedia': + type: object + properties: + 'target': + $ref: '#/components/schemas/odataId' + InsertMediaRequestBody: + additionalProperties: false + properties: + Image: + type: string + Inserted: + type: boolean + Password: + type: string + TransferMethod: + $ref: '#/components/schemas/TransferMethod' + TransferProtocolType: + $ref: '#/components/schemas/TransferProtocolType' + UserName: + type: string + WriteProtected: + type: boolean + required: + - Image + type: object paths: /redfish/v1: get: @@ -408,6 +630,35 @@ paths: 'application/json': schema: $ref: '#/components/schemas/ComputerSystem' + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition + patch: + operationId: set_system + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ComputerSystem' + required: true + responses: + '200': + description: ComputerSystem Properties set successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ComputerSystem' + '204': + description: Success, but no response data + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition parameters: - name: systemId in: path @@ -415,17 +666,6 @@ paths: required: true schema: type: string - - /redfish/v1/Managers: - get: - operationId: list_managers - responses: - '200': - description: Managers List - content: - 'application/json': - schema: - $ref: '#/components/schemas/Collection' /redfish/v1/Systems/{ComputerSystemId}/Actions/ComputerSystem.Reset: parameters: - in: path @@ -456,3 +696,163 @@ paths: schema: $ref: '#/components/schemas/RedfishError' description: Error condition + /redfish/v1/Managers: + get: + operationId: list_managers + responses: + '200': + description: Managers List + content: + 'application/json': + schema: + $ref: '#/components/schemas/Collection' + /redfish/v1/Managers/{managerId}: + get: + operationId: get_manager + responses: + '200': + description: Get Manager + content: + 'application/json': + schema: + $ref: '#/components/schemas/Manager' + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition + + parameters: + - name: managerId + in: path + description: ID of resource + required: true + schema: + type: string + /redfish/v1/Managers/{managerId}/VirtualMedia: + get: + operationId: list_manager_virtual_media + responses: + '200': + description: "Get a list of Manager's virtual media" + content: + 'application/json': + schema: + $ref: '#/components/schemas/Collection' + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition + + parameters: + - name: managerId + in: path + description: ID of resource + required: true + schema: + type: string + /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}: + get: + operationId: get_manager_virtual_media + responses: + '200': + description: "Get a list of Manager's virtual media" + content: + 'application/json': + schema: + $ref: '#/components/schemas/VirtualMedia' + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition + + parameters: + - name: managerId + in: path + description: ID of resource + required: true + schema: + type: string + - name: virtualMediaId + in: path + description: ID of resource + required: true + schema: + type: string + /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.InsertMedia: + post: + operationId: insert_virtual_media + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InsertMediaRequestBody' + required: true + responses: + '200': + description: "Insert virtual media" + content: + 'application/json': + schema: + $ref: '#/components/schemas/RedfishError' + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition + parameters: + - name: managerId + in: path + description: ID of resource + required: true + schema: + type: string + - name: virtualMediaId + in: path + description: ID of resource + required: true + schema: + type: string + /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.EjectMedia: + post: + operationId: ejct_virtual_media + requestBody: + content: + application/json: + schema: + type: object + properties: {} + required: true + responses: + '200': + description: "Insert virtual media" + content: + 'application/json': + schema: + $ref: '#/components/schemas/RedfishError' + default: + content: + application/json: + schema: + $ref: '#/components/schemas/RedfishError' + description: Error condition + parameters: + - name: managerId + in: path + description: ID of resource + required: true + schema: + type: string + - name: virtualMediaId + in: path + description: ID of resource + required: true + schema: + type: string +