Documentation ¶
Overview ¶
Package dpmodel ...
Package dpmodel ...
Package dpmodel ...
Package dpmodel ...
Package dpmodel ...
Package dpmodel ...
Package dpmodel ...
Package dpmodel ...
Package dpmodel ...
Package dpmodel ...
Package dpmodel ...
Index ¶
- Variables
- func AddDeviceToInventory(uuid string, deviceData DeviceData)
- func DeleteDeviceInInventory(uuid string)
- type AccountService
- type Assembly
- type Bios
- type BiosSettings
- type Boot
- type BootOptions
- type Certificates
- type Chassis
- type ChassisDevice
- type ComputerSystem
- type Dell
- type Device
- type DeviceData
- type DeviceInventoryData
- type EthernetInterfaces
- type Event
- type EventService
- type EventSubscriptionInfo
- type EvtOem
- type EvtSubPost
- type FirmwareVersion
- type HTTPHeaders
- type HostWatchdogTimer
- type HostedServices
- type Hpe
- type JSONSchemas
- type Link
- type Links
- type Location
- type LogServices
- type Managers
- type Memory
- type MemoryDomains
- type MemorySummary
- type Metrics
- type NetworkAdapters
- type NetworkInterfaces
- type OdataID
- type OdataIDLink
- type Oem
- type OemDell
- type PCIeDevices
- type PCIeFunctions
- type PCIeSlots
- type PhysicalSecurity
- type Power
- type PrivateKey
- type ProcessorSummary
- type Processors
- type Redundancy
- type ResetPostRequest
- type SecureBoot
- type Sensors
- type ServiceRoot
- type SessionService
- type Sessions
- type SimpleStorage
- type StartUpData
- type Status
- type Storage
- type StorageServices
- type Systems
- type Thermal
- type TrustedModules
- type Users
- type Volume
- type VolumesCollection
Constants ¶
This section is empty.
Variables ¶
var PluginPrivateKey []byte
PluginPrivateKey will contains base64encoded private key of plugin this key will be used to decrypt the data.
Functions ¶
func AddDeviceToInventory ¶
func AddDeviceToInventory(uuid string, deviceData DeviceData)
AddDeviceToInventory is for adding new device to the inventory by acquiring write lock
func DeleteDeviceInInventory ¶
func DeleteDeviceInInventory(uuid string)
DeleteDeviceInInventory is for deleting device in the inventory by acquiring write lock
Types ¶
type AccountService ¶
type AccountService struct {
Oid string `json:"@odata.id"`
}
AccountService a Redfish account service link
type Boot ¶
type Boot struct { AliasBootOrder []string `json:"AliasBootOrder"` BootNext string `json:"BootNext"` BootOptions BootOptions `json:"BootOptions"` BootOrder []string `json:"BootOrder"` BootOrderPropertySelection string `json:"BootOrderPropertySelection"` BootSourceOverrideEnabled string `json:"BootSourceOverrideEnabled"` BootSourceOverrideMode string `json:"BootSourceOverrideMode"` BootSourceOverrideTarget string `json:"BootSourceOverrideTarget"` Certificates Certificates `json:"Certificates"` UefiTargetBootSourceOverride string `json:"UefiTargetBootSourceOverride"` }
Boot get
type ChassisDevice ¶
type ChassisDevice struct { Ocontext string `json:"@odata.context"` Oid string `json:"@odata.id"` Otype string `json:"@odata.type"` Oetag string `json:"@odata.etag,omitempty"` ID string `json:"Id"` Description string `json:"Description"` Name string `json:"Name"` AssetTag string `json:"AssetTag"` ChassisType string `json:"ChassisType"` DepthMm int `json:"DepthMm"` EnvironmentalClass string `json:"EnvironmentalClass"` HeightMm int `json:"HeightMm"` IndicatorLED int `json:"IndicatorLED"` Manufacturer string `json:"Manufacturer"` Model string `json:"Model"` PartNumber string `json:"PartNumber"` PowerState string `json:"PowerState"` SerialNumber string `json:"SerialNumber"` SKU string `json:"SKU"` UUID string `json:"UUID"` WeightKg int `json:"WeightKg"` WidthMm int `json:"WidthMm"` Links Links `json:"Links"` Location Location `json:"Location"` LogServices LogServices `json:"LogServices"` Assembly Assembly `json:"Assembly"` NetworkAdapters NetworkAdapters `json:"NetworkAdapters"` PCIeSlots PCIeSlots `json:"PCIeSlots"` PhysicalSecurity PhysicalSecurity `json:"PhysicalSecurity"` Power Power `json:"Power"` Sensors Sensors `json:"Sensors"` Status Status `json:"Status"` Thermal Thermal `json:"Thermal"` }
ChassisDevice struct definition
type ComputerSystem ¶
type ComputerSystem struct { Ocontext string `json:"@odata.context"` Oid string `json:"@odata.id"` Otype string `json:"@odata.type"` Oetag string `json:"@odata.etag,omitempty"` ID string `json:"Id"` Description string `json:"Description"` Name string `json:"Name"` AssetTag string `json:"AssetTag"` BiosVersion string `json:"BiosVersion"` HostName string `json:"HostName"` IndicatorLED string `json:"IndicatorLED"` Manufacturer string `json:"Manufacturer"` Model string `json:"Model"` PartNumber string `json:"PartNumber"` PowerRestorePolicy string `json:"PowerRestorePolicy"` PowerState string `json:"PowerState"` SerialNumber string `json:"SerialNumber"` SKU string `json:"SKU"` SubModel string `json:"SubModel"` SystemType string `json:"SystemType"` UUID string `json:"UUID"` HostingRoles []string `json:"HostingRoles"` PCIeDevices []PCIeDevices `json:"PCIeDevices"` PCIeFunctions []PCIeFunctions `json:"PCIeFunctions"` Bios Bios `json:"Bios"` Boot Boot `json:"Boot"` EthernetInterfaces EthernetInterfaces `json:"EthernetInterfaces"` HostedServices HostedServices `json:"HostedServices"` HostWatchdogTimer HostWatchdogTimer `json:"HostWatchdogTimer"` Links Links `json:"Links"` LogServices LogServices `json:"LogServices"` Memory Memory `json:"Memory"` MemoryDomains MemoryDomains `json:"MemoryDomains"` MemorySummary MemorySummary `json:"MemorySummary"` NetworkInterfaces NetworkInterfaces `json:"NetworkInterfaces"` Processors Processors `json:"Processors"` ProcessorSummary ProcessorSummary `json:"ProcessorSummary"` Redundancy Redundancy `json:"Redundancy"` SecureBoot SecureBoot `json:"SecureBoot"` SimpleStorage SimpleStorage `json:"SimpleStorage"` Status Status `json:"Status"` Storage Storage `json:"Storage"` TrustedModules []TrustedModules `json:"TrustedModules"` }
ComputerSystem ..
type Device ¶
type Device struct { Host string `json:"ManagerAddress"` Username string `json:"UserName"` Password []byte `json:"Password"` PostBody []byte `json:"PostBody"` Location string `json:"Location"` }
Device struct definition
type DeviceData ¶
type DeviceData struct { UserName string `json:"UserName"` Password []byte `json:"Password"` Address string `json:"Address"` Operation string `json:"Operation"` EventSubscriptionInfo *EventSubscriptionInfo `json:"EventSubscriptionInfo"` }
DeviceData holds device credentials, event subcription and trigger details
type DeviceInventoryData ¶
type DeviceInventoryData struct { Device map[string]DeviceData // contains filtered or unexported fields }
DeviceInventoryData holds the list of all managed devices
var DeviceInventory *DeviceInventoryData
DeviceInventory is for storing the device inventory
type EthernetInterfaces ¶
type EthernetInterfaces struct {
Oid string `json:"@odata.id"`
}
EthernetInterfaces get
type EventService ¶
type EventService struct {
Oid string `json:"@odata.id"`
}
EventService a Redfish event service link
type EventSubscriptionInfo ¶
type EventSubscriptionInfo struct { EventTypes []string `json:"EventTypes"` Location string `json:"Location"` }
EventSubscriptionInfo holds the event subscription details of a device
type EvtSubPost ¶
type EvtSubPost struct { Destination string `json:"Destination"` EventTypes []string `json:"EventTypes,omitempty"` MessageIds []string `json:"MessageIds,omitempty"` ResourceTypes []string `json:"ResourceTypes,omitempty"` HTTPHeaders []HTTPHeaders `json:"HttpHeaders"` Context string `json:"Context"` Protocol string `json:"Protocol"` }
EvtSubPost ...
type FirmwareVersion ¶
type FirmwareVersion struct {
FirmwareVersion string `json:"FirmwareVersion"`
}
FirmwareVersion contains the firmware version of server
type HTTPHeaders ¶
type HTTPHeaders struct {
ContentType string `json:"Content-Type"`
}
HTTPHeaders ...
type HostWatchdogTimer ¶
type HostWatchdogTimer struct { FunctionEnabled bool `json:"FunctionEnabled"` Oem Oem `json:"Oem"` Status Status `json:"Status"` TimeoutAction string `json:"TimeoutAction"` WarningAction string `json:"WarningAction"` }
HostWatchdogTimer ..
type HostedServices ¶
type HostedServices struct { Oem Oem `json:"Oem"` StorageServices StorageServices `json:"StorageServices"` }
HostedServices ..
type Hpe ¶
type Hpe struct { DeliveryRetryIntervalInSeconds int `json:"DeliveryRetryIntervalInSeconds"` RequestedMaxEventsToQueue int `json:"RequestedMaxEventsToQueue"` DeliveryRetryAttempts int `json:"DeliveryRetryAttempts"` RetireOldEventInMinutes int `json:"RetireOldEventInMinutes"` }
Hpe model
type JSONSchemas ¶
type JSONSchemas struct {
Oid string `json:"@odata.id"`
}
JSONSchemas a Redfish json schemas link
type Links ¶
type Links struct { Chassis []Link `json:",omitempty"` ComputerSystems []Link `json:",omitempty"` ConsumingComputerSystems []Link `json:",omitempty"` ContainedBy []Link `json:",omitempty"` CooledBy []Link `json:",omitempty"` Endpoints []Link `json:",omitempty"` Drives []Link `json:",omitempty"` ManagedBy []Link `json:",omitempty"` Oem *Oem `json:",omitempty"` ManagersInChassis []Link `json:",omitempty"` PCIeDevices []Link `json:",omitempty"` PoweredBy []Link `json:",omitempty"` Processors []Link `json:",omitempty"` ResourceBlocks []Link `json:",omitempty"` Storage []Link `json:",omitempty"` SupplyingComputerSystems []Link `json:",omitempty"` Switches []Link `json:",omitempty"` }
Links .. this is Common in all resources
type Managers ¶
type Managers struct {
Oid string `json:"@odata.id"`
}
Managers a Redfish managers link
type MemorySummary ¶
type MemorySummary struct { MemoryMirroring string `json:"MemoryMirroring"` TotalSystemMemoryGiB int `json:"TotalSystemMemoryGiB"` TotalSystemPersistentMemoryGiB int `json:"TotalSystemPersistentMemoryGiB"` Status Status `json:"Status"` }
MemorySummary get
type NetworkAdapters ¶
type NetworkAdapters struct {
Oid string `json:"@odata.id"`
}
NetworkAdapters get
type NetworkInterfaces ¶
type NetworkInterfaces struct {
Oid string `json:"@odata.id"`
}
NetworkInterfaces get
type OdataID ¶
type OdataID struct {
OdataID string `json:"@odata.id"`
}
OdataID contains link to a resource
type OdataIDLink ¶
type OdataIDLink struct {
OdataID string `json:"@odata.id"`
}
OdataIDLink contains link to a resource
type PhysicalSecurity ¶
type PhysicalSecurity struct { IntrusionSensor string `json:"IntrusionSensor"` IntrusionSensorNumber int `json:"IntrusionSensorNumber"` IntrusionSensorReArm string `json:"IntrusionSensorReArm"` }
PhysicalSecurity get
type PrivateKey ¶
type PrivateKey struct {
PrivateKey string
}
PrivateKey struct is used to define the private key used to decrypt the resouece passwords
type ProcessorSummary ¶
type ProcessorSummary struct { Count int `json:"Count"` LogicalProcessorCount int `json:"LogicalProcessorCount"` Model string `json:"Model"` Metrics Metrics `json:"Metrics"` Status Status `json:"Status"` }
ProcessorSummary get
type ResetPostRequest ¶
type ResetPostRequest struct {
ResetType string `json:"ResetType"`
}
ResetPostRequest stores the reset type
type ServiceRoot ¶
type ServiceRoot struct { Name string UUID string ID string RedfishVersion string Context string `json:"@odata.context"` Etag string `json:"@odata.etag,omitempty"` Oid string `json:"@odata.id"` Type string `json:"@odata.type"` Systems Systems Chassis Chassis AccountService AccountService EventService EventService JSONSchemas JSONSchemas Managers Managers SessionService SessionService Links Links }
ServiceRoot a Redfish service root
type SessionService ¶
type SessionService struct {
Oid string `json:"@odata.id"`
}
SessionService a Redfish session service link
type StartUpData ¶
type StartUpData struct { RequestType string `json:"RequestType"` ResyncEvtSubscription bool `json:"ResyncEvtSubscription"` Devices map[string]DeviceData `json:"Devices"` }
StartUpData holds the required data for plugin startup
type Status ¶
type Status struct { Health string `json:"Health"` HealthRollup *string `json:",omitempty"` State string `json:"State"` Oem Oem `json:"Oem"` }
Status get
type StorageServices ¶
type StorageServices struct {
Oid string `json:"@odata.id"`
}
StorageServices get
type TrustedModules ¶
type TrustedModules struct { FirmwareVersion string `json:"FirmwareVersion"` FirmwareVersion2 string `json:"FirmwareVersion2"` InterfaceType string `json:"InterfaceType"` InterfaceTypeSelection string `json:"InterfaceTypeSelection"` Oem Oem `json:"Oem"` Status Status `json:"Status"` }
TrustedModules get
type Volume ¶
type Volume struct { RAIDType string `json:"RAIDType"` Links *dmtf.Links `json:"Links"` OperationApplyTime string `json:"@Redfish.OperationApplyTime"` }
Volume holds the northbound request body
type VolumesCollection ¶
type VolumesCollection struct { OdataContext string `json:"@odata.context"` OdataID string `json:"@odata.id"` OdataType string `json:"@odata.type"` Description string `json:"Description"` Name string `json:"Name"` Members []OdataIDLink `json:"Members"` MembersCount int `json:"Members@odata.count"` }
VolumesCollection data