Support for Additional Redfish APIs

Added support for the following APIs

FirmwareInventoryDownloadImage
FirmwareInventory
GetTask
UpdateService
UpdateServiceSimpleUpdate

RAID Creation Support

Also updated Makefile to add an additional  docker based target
to assist in code generation.

Change-Id: I716153fe254c7fefc6893ac76e4fa190a24029a8
This commit is contained in:
Manoj 2020-03-27 04:03:42 -05:00 committed by Manoj Alva
parent 9ad54f512f
commit 924b41cc22
24 changed files with 2007 additions and 0 deletions

View File

@ -32,17 +32,25 @@ All URIs are relative to *http://localhost*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DefaultApi* | [**CreateVirtualDisk**](docs/DefaultApi.md#createvirtualdisk) | **Post** /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageControllerId}/Volumes |
*DefaultApi* | [**DeleteVirtualdisk**](docs/DefaultApi.md#deletevirtualdisk) | **Delete** /redfish/v1/Systems/{ComputerSystemId}/Storage/Volumes/{StorageId} |
*DefaultApi* | [**EjectVirtualMedia**](docs/DefaultApi.md#ejectvirtualmedia) | **Post** /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.EjectMedia |
*DefaultApi* | [**FirmwareInventory**](docs/DefaultApi.md#firmwareinventory) | **Get** /redfish/v1/UpdateService/FirmwareInventory |
*DefaultApi* | [**FirmwareInventoryDownloadImage**](docs/DefaultApi.md#firmwareinventorydownloadimage) | **Post** /redfish/v1/UpdateService/FirmwareInventory |
*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* | [**GetTask**](docs/DefaultApi.md#gettask) | **Get** /redfish/v1/TaskService/Tasks/{taskId} |
*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 |
*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} |
*DefaultApi* | [**UpdateService**](docs/DefaultApi.md#updateservice) | **Get** /redfish/v1/UpdateService |
*DefaultApi* | [**UpdateServiceSimpleUpdate**](docs/DefaultApi.md#updateservicesimpleupdate) | **Post** /redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate |
## Documentation For Models
@ -55,15 +63,19 @@ Class | Method | HTTP request | Description
- [ComputerSystemActions](docs/ComputerSystemActions.md)
- [ComputerSystemReset](docs/ComputerSystemReset.md)
- [ConnectedVia](docs/ConnectedVia.md)
- [CreateVirtualDiskRequestBody](docs/CreateVirtualDiskRequestBody.md)
- [FirmwareInventory](docs/FirmwareInventory.md)
- [Health](docs/Health.md)
- [IdRef](docs/IdRef.md)
- [IndicatorLed](docs/IndicatorLed.md)
- [InlineObject](docs/InlineObject.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)
- [Payload](docs/Payload.md)
- [PowerState](docs/PowerState.md)
- [ProcessorSummary](docs/ProcessorSummary.md)
- [RedfishError](docs/RedfishError.md)
@ -71,14 +83,20 @@ Class | Method | HTTP request | Description
- [ResetRequestBody](docs/ResetRequestBody.md)
- [ResetType](docs/ResetType.md)
- [Root](docs/Root.md)
- [SimpleUpdateRequestBody](docs/SimpleUpdateRequestBody.md)
- [State](docs/State.md)
- [Status](docs/Status.md)
- [SystemLinks](docs/SystemLinks.md)
- [Task](docs/Task.md)
- [TaskState](docs/TaskState.md)
- [TransferMethod](docs/TransferMethod.md)
- [TransferProtocolType](docs/TransferProtocolType.md)
- [UpdateService](docs/UpdateService.md)
- [UpdateServiceActions](docs/UpdateServiceActions.md)
- [VirtualMedia](docs/VirtualMedia.md)
- [VirtualMediaActions](docs/VirtualMediaActions.md)
- [VirtualMediaActionsVirtualMediaEjectMedia](docs/VirtualMediaActionsVirtualMediaEjectMedia.md)
- [VolumeType](docs/VolumeType.md)
## Documentation For Authorization

View File

@ -286,7 +286,218 @@ paths:
schema:
$ref: '#/components/schemas/RedfishError'
description: Error condition
/redfish/v1/UpdateService:
get:
operationId: Update_Service
responses:
200:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateService'
description: Update Service
default:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Error condition
/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate:
post:
operationId: UpdateService_Simple_Update
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SimpleUpdateRequestBody'
required: true
responses:
200:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Update Service Simple Update
default:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Error condition
/redfish/v1/UpdateService/FirmwareInventory:
get:
operationId: Firmware_Inventory
responses:
200:
content:
application/json:
schema:
$ref: '#/components/schemas/Collection'
description: Collection of Firmware Inventory
post:
operationId: FirmwareInventory_Download_Image
requestBody:
$ref: '#/components/requestBodies/inline_object'
content:
multipart/formdata:
encoding:
softwareImage:
contentType: application/octet-stream
style: form
schema:
properties:
softwareImage:
format: binary
type: string
type: object
required: true
responses:
200:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Update Service Simple Update
default:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Error condition
/redfish/v1/TaskService/Tasks/{taskId}:
get:
operationId: get_task
parameters:
- description: Task ID
explode: false
in: path
name: taskId
required: true
schema:
type: string
style: simple
responses:
200:
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: Get details of a Task
default:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Error condition
/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageControllerId}/Volumes:
get:
operationId: get_volumes
parameters:
- description: System ID
explode: false
in: path
name: ComputerSystemId
required: true
schema:
type: string
style: simple
- description: Storage Controller ID
explode: false
in: path
name: StorageControllerId
required: true
schema:
type: string
style: simple
responses:
200:
content:
application/json:
schema:
$ref: '#/components/schemas/Collection'
description: Get Volumes of given Storage Controller
default:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Error condition
post:
operationId: create_virtual_disk
parameters:
- description: System ID
explode: false
in: path
name: ComputerSystemId
required: true
schema:
type: string
style: simple
- description: Storage Controller ID
explode: false
in: path
name: StorageControllerId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVirtualDiskRequestBody'
required: true
responses:
200:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Create Virual Disk Update
default:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Error condition
/redfish/v1/Systems/{ComputerSystemId}/Storage/Volumes/{StorageId}:
delete:
operationId: delete_virtualdisk
parameters:
- description: System ID
explode: false
in: path
name: ComputerSystemId
required: true
schema:
type: string
style: simple
- allowReserved: true
description: Storage ID
explode: false
in: path
name: StorageId
required: true
schema:
type: string
style: simple
responses:
200:
description: Delete virtual Disk
default:
content:
application/json:
schema:
$ref: '#/components/schemas/RedfishError'
description: Error condition
components:
requestBodies:
inline_object:
content:
multipart/formdata:
schema:
$ref: '#/components/schemas/inline_object'
required: true
schemas:
BootSource:
enum:
@ -1107,6 +1318,387 @@ components:
additionalProperties: false
properties: {}
type: object
FirmwareInventory:
example:
'@odata.id': '@odata.id'
properties:
'@odata.id':
description: The unique identifier for a resource.
format: uri-reference
readOnly: true
type: string
type: object
UpdateService:
additionalProperties: false
description: Redfish Update Service.
example:
'@odata.id': '@odata.id'
Description: Description
HttpPushUri: HttpPushUri
Actions:
'#UpdateService.SimpleUpdate':
target: target
'#UpdateService.StartUpdate':
target: target
'@odata.type': '@odata.type'
FirmwareInventory:
'@odata.id': '@odata.id'
ServiceEnabled: true
Id: Id
'@odata.context': '@odata.context'
Name: Name
properties:
FirmwareInventory:
$ref: '#/components/schemas/FirmwareInventory'
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
Description:
description: description
nullable: true
readOnly: true
type: string
HttpPushUri:
format: uri-reference
readOnly: true
type: string
ServiceEnabled:
nullable: true
readOnly: false
type: boolean
Actions:
$ref: '#/components/schemas/UpdateService_Actions'
required:
- '@odata.id'
- '@odata.type'
- Name
type: object
SimpleUpdateRequestBody:
additionalProperties: false
example:
Targets:
- Targets
- Targets
ImageURI: ImageURI
properties:
ImageURI:
format: uri-reference
type: string
Targets:
items:
type: string
type: array
TransferProtocolType:
$ref: '#/components/schemas/TransferProtocolType'
required:
- ImageURI
type: object
Payload:
additionalProperties: false
description: The HTTP and JSON payload details for this Task.
example:
HttpHeaders:
- HttpHeaders
- HttpHeaders
JsonBody: JsonBody
HttpOperation: HttpOperation
TargetUri: https://openapi-generator.tech
properties:
HttpHeaders:
description: This represents the HTTP headers used in the operation of this
Task.
items:
type: string
readOnly: true
type: array
x-longDescription: The value of this property shall be an array of HTTP
headers used in the execution of this Task.
HttpOperation:
description: The HTTP operation to perform to execute this Task.
readOnly: true
type: string
x-longDescription: This property shall contain the HTTP operation to execute
for this Task.
JsonBody:
description: This property contains the JSON payload to use in the execution
of this Task.
readOnly: true
type: string
x-longDescription: The value of this property shall be JSON formatted payload
used for this Task.
TargetUri:
description: The URI of the target for this task.
format: uri
readOnly: true
type: string
x-longDescription: This property shall contain a URI referencing a location
to be used as the target for an HTTP operation.
type: object
x-longDescription: This object shall contain information detailing the HTTP
and JSON payload information for executing this Task.
x-patternProperties:
^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
description: This property shall specify a valid odata or Redfish property.
TaskState:
enum:
- New
- Starting
- Running
- Suspended
- Interrupted
- Pending
- Stopping
- Completed
- Killed
- Exception
- Service
- Cancelling
- Cancelled
type: string
x-enumDeprecated:
Killed: This value has been deprecated and is being replaced by the value
Cancelled which has more determinate semantics.
x-enumDescriptions:
Cancelled: Task has been cancelled by an operator or internal process.
Cancelling: Task is in the process of being cancelled.
Completed: Task has completed.
Exception: Task has stopped due to an exception condition.
Interrupted: Task has been interrupted.
Killed: Task was terminated.
New: A new task.
Pending: Task is pending and has not started.
Running: Task is running normally.
Service: Task is running as a service.
Starting: Task is starting.
Stopping: Task is in the process of stopping.
Suspended: Task has been suspended.
x-enumLongDescriptions:
Cancelled: This value shall represent that the operation was cancelled either
through a Delete on a Task Monitor or Task Resource or by an internal process.
Cancelling: This value shall represent that the operation is in the process
of being cancelled.
Completed: This value shall represent that the operation is complete and completed
sucessfully or with warnings.
Exception: This value shall represent that the operation is complete and completed
with errors.
Interrupted: This value shall represent that the operation has been interrupted
but is expected to restart and is therefore not complete.
Killed: This value shall represent that the operation is complete because
the task was killed by an operator.
New: This value shall represent that this task is newly created but the operation
has not yet started.
Pending: This value shall represent that the operation is pending some condition
and has not yet begun to execute.
Running: This value shall represent that the operation is executing.
Service: This value shall represent that the operation is now running as a
service and expected to continue operation until stopped or killed.
Starting: This value shall represent that the operation is starting.
Stopping: This value shall represent that the operation is stopping but is
not yet complete.
Suspended: This value shall represent that the operation has been suspended
but is expected to restart and is therefore not complete.
Task:
additionalProperties: false
description: This resource contains information about a specific Task scheduled
by or being executed by a Redfish service's Task Service.
example:
Description: Description
Messages:
- MessageArgs:
- MessageArgs
- MessageArgs
Message: Message
RelatedProperties:
- RelatedProperties
- RelatedProperties
Severity: Severity
MessageId: MessageId
Resolution: Resolution
- MessageArgs:
- MessageArgs
- MessageArgs
Message: Message
RelatedProperties:
- RelatedProperties
- RelatedProperties
Severity: Severity
MessageId: MessageId
Resolution: Resolution
EndTime: 2000-01-23T04:56:07.000+00:00
'@odata.type': '@odata.type'
'@odata.etag': '@odata.etag'
StartTime: 2000-01-23T04:56:07.000+00:00
'@odata.context': '@odata.context'
Name: Name
'@odata.id': '@odata.id'
HidePayload: true
Oem: Oem
TaskMonitor: https://openapi-generator.tech
Payload:
HttpHeaders:
- HttpHeaders
- HttpHeaders
JsonBody: JsonBody
HttpOperation: HttpOperation
TargetUri: https://openapi-generator.tech
Id: Id
properties:
'@odata.context':
description: The OData description of a payload.
format: uri-reference
readOnly: true
type: string
'@odata.etag':
description: The current ETag of the resource.
readOnly: true
type: string
'@odata.id':
description: The name of the resource.
readOnly: true
type: string
'@odata.type':
description: The type of a resource.
readOnly: true
type: string
Description:
description: description
nullable: true
readOnly: true
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
task was completed.
HidePayload:
description: 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.
readOnly: true
type: boolean
x-longDescription: This property shall be set to True if the Payload object
shall not be returned on GET operations, and set to False if the contents
can be returned normally. If this property is not specified when the Task
is created, the default value shall be False.
Id:
description: The name of the resource.
readOnly: true
type: string
Messages:
description: This is an array of messages associated with the task.
items:
$ref: '#/components/schemas/Message'
type: array
x-longDescription: The value of this property shall be an array of messages
associated with the task.
Name:
description: The name of the resource.
readOnly: true
type: string
Oem:
description: This is the manufacturer/provider specific extension moniker
used to divide the Oem object into sections.
type: string
x-longDescription: The value of this string shall be of the format for the
reserved word *Oem*.
Payload:
$ref: '#/components/schemas/Payload'
StartTime:
description: The date-time stamp that the task was last started.
format: date-time
readOnly: true
type: string
x-longDescription: The value of this property shall indicate the time the
task was started.
TaskMonitor:
description: The URI of the Task Monitor for this task.
format: uri
readOnly: true
type: string
x-longDescription: This property shall contain a URI to Task Monitor as
defined in the Redfish Specification.
TaskState:
$ref: '#/components/schemas/TaskState'
TaskStatus:
$ref: '#/components/schemas/Health'
required:
- '@odata.id'
- '@odata.type'
- Id
- Name
type: object
x-longDescription: This resource shall be used to represent a task for a Redfish
implementation.
x-patternProperties:
^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
description: This property shall specify a valid odata or Redfish property.
VolumeType:
enum:
- RawDevice
- NonRedundant
- Mirrored
- StripedWithParity
- SpannedMirrors
- SpannedStripesWithParity
type: string
x-enumDescriptions:
Mirrored: The volume is a mirrored device.
NonRedundant: The volume is a non-redundant storage device.
RawDevice: The volume is a raw physical device without any RAID or other virtualization
applied.
SpannedMirrors: The volume is a spanned set of mirrored devices.
SpannedStripesWithParity: The volume is a spanned set of devices which uses
parity to retain redundant information.
StripedWithParity: The volume is a device which uses parity to retain redundant
information.
CreateVirtualDiskRequestBody:
additionalProperties: false
example:
Drives:
- '@odata.id': '@odata.id'
- '@odata.id': '@odata.id'
Name: Name
properties:
VolumeType:
$ref: '#/components/schemas/VolumeType'
Name:
type: string
Drives:
items:
$ref: '#/components/schemas/idRef'
type: array
required:
- Drives
- Name
- VolumeType
type: object
inline_object:
properties:
softwareImage:
format: binary
type: string
type: object
RedfishError_error:
example:
'@Message.ExtendedInfo':
@ -1176,3 +1768,14 @@ components:
$ref: '#/components/schemas/VirtualMedia_Actions__VirtualMedia_EjectMedia'
'#VirtualMedia.InsertMedia':
$ref: '#/components/schemas/VirtualMedia_Actions__VirtualMedia_EjectMedia'
UpdateService_Actions:
example:
'#UpdateService.SimpleUpdate':
target: target
'#UpdateService.StartUpdate':
target: target
properties:
'#UpdateService.SimpleUpdate':
$ref: '#/components/schemas/VirtualMedia_Actions__VirtualMedia_EjectMedia'
'#UpdateService.StartUpdate':
$ref: '#/components/schemas/VirtualMedia_Actions__VirtualMedia_EjectMedia'

View File

@ -16,6 +16,8 @@ import (
_neturl "net/url"
"fmt"
"strings"
"os"
"github.com/antihax/optional"
)
// Linger please
@ -26,6 +28,181 @@ var (
// DefaultApiService DefaultApi service
type DefaultApiService service
/*
CreateVirtualDisk Method for CreateVirtualDisk
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param computerSystemId System ID
* @param storageControllerId Storage Controller ID
* @param createVirtualDiskRequestBody
@return RedfishError
*/
func (a *DefaultApiService) CreateVirtualDisk(ctx _context.Context, computerSystemId string, storageControllerId string, createVirtualDiskRequestBody CreateVirtualDiskRequestBody) (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/Systems/{ComputerSystemId}/Storage/{StorageControllerId}/Volumes"
localVarPath = strings.Replace(localVarPath, "{"+"ComputerSystemId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", computerSystemId)), -1)
localVarPath = strings.Replace(localVarPath, "{"+"StorageControllerId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", storageControllerId)), -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 = &createVirtualDiskRequestBody
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
}
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
}
/*
DeleteVirtualdisk Method for DeleteVirtualdisk
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param computerSystemId System ID
* @param storageId Storage ID
*/
func (a *DefaultApiService) DeleteVirtualdisk(ctx _context.Context, computerSystemId string, storageId string) (*_nethttp.Response, error) {
var (
localVarHTTPMethod = _nethttp.MethodDelete
localVarPostBody interface{}
localVarFormFileName string
localVarFileName string
localVarFileBytes []byte
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/redfish/v1/Systems/{ComputerSystemId}/Storage/Volumes/{StorageId}"
localVarPath = strings.Replace(localVarPath, "{"+"ComputerSystemId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", computerSystemId)), -1)
//localVarPath = strings.Replace(localVarPath, "{"+"StorageId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", storageId)), -1)
localVarPath = strings.Replace(localVarPath, "{"+"StorageId"+"}", fmt.Sprintf("%v", storageId), -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 nil, err
}
localVarHTTPResponse, err := a.client.callAPI(r)
if err != nil || localVarHTTPResponse == nil {
return localVarHTTPResponse, err
}
localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
localVarHTTPResponse.Body.Close()
if err != nil {
return localVarHTTPResponse, err
}
if localVarHTTPResponse.StatusCode >= 300 {
newErr := GenericOpenAPIError{
body: localVarBody,
error: localVarHTTPResponse.Status,
}
var v RedfishError
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
return localVarHTTPResponse, newErr
}
newErr.model = v
return localVarHTTPResponse, newErr
}
return localVarHTTPResponse, nil
}
/*
EjectVirtualMedia Method for EjectVirtualMedia
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@ -125,6 +302,204 @@ func (a *DefaultApiService) EjectVirtualMedia(ctx _context.Context, managerId st
return localVarReturnValue, localVarHTTPResponse, nil
}
/*
FirmwareInventory Method for FirmwareInventory
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return Collection
*/
func (a *DefaultApiService) FirmwareInventory(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/UpdateService/FirmwareInventory"
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
}
// FirmwareInventoryDownloadImageOpts Optional parameters for the method 'FirmwareInventoryDownloadImage'
type FirmwareInventoryDownloadImageOpts struct {
SoftwareImage optional.Interface
}
/*
FirmwareInventoryDownloadImage Method for FirmwareInventoryDownloadImage
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param optional nil or *FirmwareInventoryDownloadImageOpts - Optional Parameters:
* @param "SoftwareImage" (optional.Interface of *os.File) -
@return RedfishError
*/
func (a *DefaultApiService) FirmwareInventoryDownloadImage(ctx _context.Context, localVarOptionals *FirmwareInventoryDownloadImageOpts) (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/UpdateService/FirmwareInventory"
localVarHeaderParams := make(map[string]string)
localVarQueryParams := _neturl.Values{}
localVarFormParams := _neturl.Values{}
// to determine the Content-Type header
localVarHTTPContentTypes := []string{"multipart/formdata"}
// 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
}
localVarFormFileName = "softwareImage"
var localVarFile *os.File
if localVarOptionals != nil && localVarOptionals.SoftwareImage.IsSet() {
localVarFileOk := false
localVarFile, localVarFileOk = localVarOptionals.SoftwareImage.Value().(*os.File)
if !localVarFileOk {
return localVarReturnValue, nil, reportError("softwareImage should be *os.File")
}
}
if localVarFile != nil {
fbs, _ := _ioutil.ReadAll(localVarFile)
localVarFileBytes = fbs
localVarFileName = localVarFile.Name()
localVarFile.Close()
}
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
}
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
}
/*
GetManager Method for GetManager
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@ -493,6 +868,196 @@ func (a *DefaultApiService) GetSystem(ctx _context.Context, systemId string) (Co
return localVarReturnValue, localVarHTTPResponse, nil
}
/*
GetTask Method for GetTask
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param taskId Task ID
@return Task
*/
func (a *DefaultApiService) GetTask(ctx _context.Context, taskId string) (Task, *_nethttp.Response, error) {
var (
localVarHTTPMethod = _nethttp.MethodGet
localVarPostBody interface{}
localVarFormFileName string
localVarFileName string
localVarFileBytes []byte
localVarReturnValue Task
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/redfish/v1/TaskService/Tasks/{taskId}"
localVarPath = strings.Replace(localVarPath, "{"+"taskId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", taskId)), -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 Task
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
}
/*
GetVolumes Method for GetVolumes
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param computerSystemId System ID
* @param storageControllerId Storage Controller ID
@return Collection
*/
func (a *DefaultApiService) GetVolumes(ctx _context.Context, computerSystemId string, storageControllerId 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/Systems/{ComputerSystemId}/Storage/{StorageControllerId}/Volumes"
localVarPath = strings.Replace(localVarPath, "{"+"ComputerSystemId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", computerSystemId)), -1)
localVarPath = strings.Replace(localVarPath, "{"+"StorageControllerId"+"}", _neturl.QueryEscape(fmt.Sprintf("%v", storageControllerId)), -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
}
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
}
/*
InsertVirtualMedia Method for InsertVirtualMedia
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@ -1047,3 +1612,190 @@ func (a *DefaultApiService) SetSystem(ctx _context.Context, systemId string, com
return localVarReturnValue, localVarHTTPResponse, nil
}
/*
UpdateService Method for UpdateService
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return UpdateService
*/
func (a *DefaultApiService) UpdateService(ctx _context.Context) (UpdateService, *_nethttp.Response, error) {
var (
localVarHTTPMethod = _nethttp.MethodGet
localVarPostBody interface{}
localVarFormFileName string
localVarFileName string
localVarFileBytes []byte
localVarReturnValue UpdateService
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/redfish/v1/UpdateService"
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 UpdateService
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
}
/*
UpdateServiceSimpleUpdate Method for UpdateServiceSimpleUpdate
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param simpleUpdateRequestBody
@return RedfishError
*/
func (a *DefaultApiService) UpdateServiceSimpleUpdate(ctx _context.Context, simpleUpdateRequestBody SimpleUpdateRequestBody) (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/UpdateService/Actions/UpdateService.SimpleUpdate"
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 = &simpleUpdateRequestBody
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
}
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
}

View File

@ -0,0 +1,13 @@
# CreateVirtualDiskRequestBody
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**VolumeType** | [**VolumeType**](VolumeType.md) | |
**Name** | **string** | |
**Drives** | [**[]IdRef**](idRef.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -4,20 +4,95 @@ All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**CreateVirtualDisk**](DefaultApi.md#CreateVirtualDisk) | **Post** /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageControllerId}/Volumes |
[**DeleteVirtualdisk**](DefaultApi.md#DeleteVirtualdisk) | **Delete** /redfish/v1/Systems/{ComputerSystemId}/Storage/Volumes/{StorageId} |
[**EjectVirtualMedia**](DefaultApi.md#EjectVirtualMedia) | **Post** /redfish/v1/Managers/{managerId}/VirtualMedia/{virtualMediaId}/Actions/VirtualMedia.EjectMedia |
[**FirmwareInventory**](DefaultApi.md#FirmwareInventory) | **Get** /redfish/v1/UpdateService/FirmwareInventory |
[**FirmwareInventoryDownloadImage**](DefaultApi.md#FirmwareInventoryDownloadImage) | **Post** /redfish/v1/UpdateService/FirmwareInventory |
[**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} |
[**GetTask**](DefaultApi.md#GetTask) | **Get** /redfish/v1/TaskService/Tasks/{taskId} |
[**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 |
[**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} |
[**UpdateService**](DefaultApi.md#UpdateService) | **Get** /redfish/v1/UpdateService |
[**UpdateServiceSimpleUpdate**](DefaultApi.md#UpdateServiceSimpleUpdate) | **Post** /redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate |
## CreateVirtualDisk
> RedfishError CreateVirtualDisk(ctx, computerSystemId, storageControllerId, createVirtualDiskRequestBody)
### Required Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
**computerSystemId** | **string**| System ID |
**storageControllerId** | **string**| Storage Controller ID |
**createVirtualDiskRequestBody** | [**CreateVirtualDiskRequestBody**](CreateVirtualDiskRequestBody.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)
## DeleteVirtualdisk
> DeleteVirtualdisk(ctx, computerSystemId, storageId)
### Required Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
**computerSystemId** | **string**| System ID |
**storageId** | **string**| Storage ID |
### Return type
(empty response body)
### 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)
## EjectVirtualMedia
> RedfishError EjectVirtualMedia(ctx, managerId, virtualMediaId, body)
@ -52,6 +127,75 @@ No authorization required
[[Back to README]](../README.md)
## FirmwareInventory
> Collection FirmwareInventory(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)
## FirmwareInventoryDownloadImage
> RedfishError FirmwareInventoryDownloadImage(ctx, optional)
### Required Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
**optional** | ***FirmwareInventoryDownloadImageOpts** | optional parameters | nil if no parameters
### Optional Parameters
Optional parameters are passed through a pointer to a FirmwareInventoryDownloadImageOpts struct
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**softwareImage** | **optional.Interface of *os.File****optional.*os.File**| |
### Return type
[**RedfishError**](RedfishError.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: multipart/formdata
- **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)
@ -177,6 +321,71 @@ No authorization required
[[Back to README]](../README.md)
## GetTask
> Task GetTask(ctx, taskId)
### Required Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
**taskId** | **string**| Task ID |
### Return type
[**Task**](Task.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)
### Required Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
**computerSystemId** | **string**| System ID |
**storageControllerId** | **string**| Storage Controller ID |
### 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)
## InsertVirtualMedia
> RedfishError InsertVirtualMedia(ctx, managerId, virtualMediaId, insertMediaRequestBody)
@ -364,3 +573,63 @@ No authorization required
[[Back to Model list]](../README.md#documentation-for-models)
[[Back to README]](../README.md)
## UpdateService
> UpdateService UpdateService(ctx, )
### Required Parameters
This endpoint does not need any parameter.
### Return type
[**UpdateService**](UpdateService.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)
## UpdateServiceSimpleUpdate
> RedfishError UpdateServiceSimpleUpdate(ctx, simpleUpdateRequestBody)
### Required Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
**simpleUpdateRequestBody** | [**SimpleUpdateRequestBody**](SimpleUpdateRequestBody.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)

View File

@ -0,0 +1,11 @@
# FirmwareInventory
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**OdataId** | **string** | The unique identifier for a resource. | [optional] [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)

View File

@ -0,0 +1,11 @@
# InlineObject
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**SoftwareImage** | [***os.File**](*os.File.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)

14
client/docs/Payload.md Normal file
View File

@ -0,0 +1,14 @@
# Payload
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**HttpHeaders** | **[]string** | This represents the HTTP headers used in the operation of this Task. | [optional] [readonly]
**HttpOperation** | **string** | The HTTP operation to perform to execute this Task. | [optional] [readonly]
**JsonBody** | **string** | This property contains the JSON payload to use in the execution of this Task. | [optional] [readonly]
**TargetUri** | **string** | The URI of the target for this task. | [optional] [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)

View File

@ -0,0 +1,13 @@
# SimpleUpdateRequestBody
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**ImageURI** | **string** | |
**Targets** | **[]string** | | [optional]
**TransferProtocolType** | [**TransferProtocolType**](TransferProtocolType.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)

26
client/docs/Task.md Normal file
View File

@ -0,0 +1,26 @@
# Task
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**OdataContext** | **string** | The OData description of a payload. | [optional] [readonly]
**OdataEtag** | **string** | The current ETag of the resource. | [optional] [readonly]
**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]
**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]
**Name** | **string** | The name of the resource. | [readonly]
**Oem** | **string** | This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections. | [optional]
**Payload** | [**Payload**](Payload.md) | | [optional]
**StartTime** | [**time.Time**](time.Time.md) | The date-time stamp that the task was last started. | [optional] [readonly]
**TaskMonitor** | **string** | The URI of the Task Monitor for this task. | [optional] [readonly]
**TaskState** | [**TaskState**](TaskState.md) | | [optional]
**TaskStatus** | [**Health**](Health.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)

10
client/docs/TaskState.md Normal file
View File

@ -0,0 +1,10 @@
# TaskState
## 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)

View File

@ -0,0 +1,20 @@
# UpdateService
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**FirmwareInventory** | [**FirmwareInventory**](FirmwareInventory.md) | | [optional]
**Id** | **string** | The name of the resource. | [optional] [readonly]
**Name** | **string** | The name of the resource. | [readonly]
**OdataType** | **string** | The type of a resource. | [readonly]
**OdataId** | **string** | The unique identifier for a resource. | [readonly]
**OdataContext** | **string** | The OData description of a payload. | [optional] [readonly]
**Description** | Pointer to **string** | description | [optional] [readonly]
**HttpPushUri** | **string** | | [optional] [readonly]
**ServiceEnabled** | Pointer to **bool** | | [optional]
**Actions** | [**UpdateServiceActions**](UpdateService_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)

View File

@ -0,0 +1,12 @@
# UpdateServiceActions
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**UpdateServiceSimpleUpdate** | [**VirtualMediaActionsVirtualMediaEjectMedia**](VirtualMedia_Actions__VirtualMedia_EjectMedia.md) | | [optional]
**UpdateServiceStartUpdate** | [**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)

10
client/docs/VolumeType.md Normal file
View File

@ -0,0 +1,10 @@
# VolumeType
## 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)

View File

@ -0,0 +1,16 @@
/*
* 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
// CreateVirtualDiskRequestBody struct for CreateVirtualDiskRequestBody
type CreateVirtualDiskRequestBody struct {
VolumeType VolumeType `json:"VolumeType"`
Name string `json:"Name"`
Drives []IdRef `json:"Drives"`
}

View File

@ -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
// FirmwareInventory struct for FirmwareInventory
type FirmwareInventory struct {
// The unique identifier for a resource.
OdataId string `json:"@odata.id,omitempty"`
}

View File

@ -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
import (
"os"
)
// InlineObject struct for InlineObject
type InlineObject struct {
SoftwareImage *os.File `json:"softwareImage,omitempty"`
}

21
client/model_payload.go Normal file
View File

@ -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
// Payload The HTTP and JSON payload details for this Task.
type Payload struct {
// This represents the HTTP headers used in the operation of this Task.
HttpHeaders []string `json:"HttpHeaders,omitempty"`
// The HTTP operation to perform to execute this Task.
HttpOperation string `json:"HttpOperation,omitempty"`
// This property contains the JSON payload to use in the execution of this Task.
JsonBody string `json:"JsonBody,omitempty"`
// The URI of the target for this task.
TargetUri string `json:"TargetUri,omitempty"`
}

View File

@ -0,0 +1,16 @@
/*
* 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
// SimpleUpdateRequestBody struct for SimpleUpdateRequestBody
type SimpleUpdateRequestBody struct {
ImageURI string `json:"ImageURI"`
Targets []string `json:"Targets,omitempty"`
TransferProtocolType TransferProtocolType `json:"TransferProtocolType,omitempty"`
}

45
client/model_task.go Normal file
View File

@ -0,0 +1,45 @@
/*
* 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"
)
// Task This resource contains information about a specific Task scheduled by or being executed by a Redfish service's Task Service.
type Task struct {
// The OData description of a payload.
OdataContext string `json:"@odata.context,omitempty"`
// The current ETag of the resource.
OdataEtag string `json:"@odata.etag,omitempty"`
// The name of the resource.
OdataId string `json:"@odata.id"`
// The type of a resource.
OdataType string `json:"@odata.type"`
// description
Description *string `json:"Description,omitempty"`
// The date-time stamp that the task was last completed.
EndTime time.Time `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.
Id string `json:"Id"`
// This is an array of messages associated with the task.
Messages []Message `json:"Messages,omitempty"`
// The name of the resource.
Name string `json:"Name"`
// This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.
Oem string `json:"Oem,omitempty"`
Payload Payload `json:"Payload,omitempty"`
// The date-time stamp that the task was last started.
StartTime time.Time `json:"StartTime,omitempty"`
// The URI of the Task Monitor for this task.
TaskMonitor string `json:"TaskMonitor,omitempty"`
TaskState TaskState `json:"TaskState,omitempty"`
TaskStatus Health `json:"TaskStatus,omitempty"`
}

View File

@ -0,0 +1,29 @@
/*
* 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
// TaskState the model 'TaskState'
type TaskState string
// List of TaskState
const (
TASKSTATE_NEW TaskState = "New"
TASKSTATE_STARTING TaskState = "Starting"
TASKSTATE_RUNNING TaskState = "Running"
TASKSTATE_SUSPENDED TaskState = "Suspended"
TASKSTATE_INTERRUPTED TaskState = "Interrupted"
TASKSTATE_PENDING TaskState = "Pending"
TASKSTATE_STOPPING TaskState = "Stopping"
TASKSTATE_COMPLETED TaskState = "Completed"
TASKSTATE_KILLED TaskState = "Killed"
TASKSTATE_EXCEPTION TaskState = "Exception"
TASKSTATE_SERVICE TaskState = "Service"
TASKSTATE_CANCELLING TaskState = "Cancelling"
TASKSTATE_CANCELLED TaskState = "Cancelled"
)

View File

@ -0,0 +1,29 @@
/*
* 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
// UpdateService Redfish Update Service.
type UpdateService struct {
FirmwareInventory FirmwareInventory `json:"FirmwareInventory,omitempty"`
// 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"`
// description
Description *string `json:"Description,omitempty"`
HttpPushUri string `json:"HttpPushUri,omitempty"`
ServiceEnabled *bool `json:"ServiceEnabled,omitempty"`
Actions UpdateServiceActions `json:"Actions,omitempty"`
}

View File

@ -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
// UpdateServiceActions struct for UpdateServiceActions
type UpdateServiceActions struct {
UpdateServiceSimpleUpdate VirtualMediaActionsVirtualMediaEjectMedia `json:"#UpdateService.SimpleUpdate,omitempty"`
UpdateServiceStartUpdate VirtualMediaActionsVirtualMediaEjectMedia `json:"#UpdateService.StartUpdate,omitempty"`
}

View File

@ -0,0 +1,22 @@
/*
* 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
// VolumeType the model 'VolumeType'
type VolumeType string
// List of VolumeType
const (
VOLUMETYPE_RAW_DEVICE VolumeType = "RawDevice"
VOLUMETYPE_NON_REDUNDANT VolumeType = "NonRedundant"
VOLUMETYPE_MIRRORED VolumeType = "Mirrored"
VOLUMETYPE_STRIPED_WITH_PARITY VolumeType = "StripedWithParity"
VOLUMETYPE_SPANNED_MIRRORS VolumeType = "SpannedMirrors"
VOLUMETYPE_SPANNED_STRIPES_WITH_PARITY VolumeType = "SpannedStripesWithParity"
)