dpmodel

package
v0.0.0-...-8d2fcc7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
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 Assembly

type Assembly struct {
	Oid string `json:"@odata.id"`
}

Assembly get

type Bios

type Bios struct {
	Oid string `json:"@odata.id"`
}

Bios get

type BiosSettings

type BiosSettings struct {
	Oem OemDell `json:"Oem"`
}

BiosSettings get

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 BootOptions

type BootOptions struct {
	Oid string `json:"@odata.id"`
}

BootOptions get

type Certificates

type Certificates struct {
	Oid string `json:"@odata.id"`
}

Certificates get

type Chassis

type Chassis struct {
	Oid string `json:"@odata.id"`
}

Chassis a Redfish chassis link

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 Dell

type Dell struct {
	Jobs OdataID `json:"Jobs"`
}

Dell for bios setting's OEM

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 Event

type Event struct {
	IP      string
	Request []byte
}

Event stores Published Event request and IP of source

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 EvtOem

type EvtOem struct {
	Hpe Hpe `json:"Hpe"`
}

EvtOem ...

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 Link struct {
	Oid string `json:"@odata.id"`
}

Link get

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 Location

type Location struct {
	Oid string `json:"@odata.id"`
}

Location get ..

type LogServices

type LogServices struct {
	Oid string `json:"@odata.id"`
}

LogServices get

type Managers

type Managers struct {
	Oid string `json:"@odata.id"`
}

Managers a Redfish managers link

type Memory

type Memory struct {
	Oid string `json:"@odata.id"`
}

Memory get

type MemoryDomains

type MemoryDomains struct {
	Oid string `json:"@odata.id"`
}

MemoryDomains get

type MemorySummary

type MemorySummary struct {
	MemoryMirroring                string `json:"MemoryMirroring"`
	TotalSystemMemoryGiB           int    `json:"TotalSystemMemoryGiB"`
	TotalSystemPersistentMemoryGiB int    `json:"TotalSystemPersistentMemoryGiB"`
	Status                         Status `json:"Status"`
}

MemorySummary get

type Metrics

type Metrics struct {
	Oid string `json:"@odata.id"`
}

Metrics 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 struct {
	OdataID string `json:"@odata.id"`
}

OdataIDLink contains link to a resource

type Oem

type Oem struct {
}

Oem get

type OemDell

type OemDell struct {
	Dell Dell `json:"Dell"`
}

OemDell for bios settings

type PCIeDevices

type PCIeDevices struct {
	Oid string `json:"@odata.id"`
}

PCIeDevices get

type PCIeFunctions

type PCIeFunctions struct {
	Oid string `json:"@odata.id"`
}

PCIeFunctions get

type PCIeSlots

type PCIeSlots struct {
	Oid string `json:"@odata.id"`
}

PCIeSlots get

type PhysicalSecurity

type PhysicalSecurity struct {
	IntrusionSensor       string `json:"IntrusionSensor"`
	IntrusionSensorNumber int    `json:"IntrusionSensorNumber"`
	IntrusionSensorReArm  string `json:"IntrusionSensorReArm"`
}

PhysicalSecurity get

type Power

type Power struct {
	Oid string `json:"@odata.id"`
}

Power 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 Processors

type Processors struct {
	Oid string `json:"@odata.id"`
}

Processors get

type Redundancy

type Redundancy struct {
	Oid string `json:"@odata.id"`
}

Redundancy get

type ResetPostRequest

type ResetPostRequest struct {
	ResetType string `json:"ResetType"`
}

ResetPostRequest stores the reset type

type SecureBoot

type SecureBoot struct {
	Oid string `json:"@odata.id"`
}

SecureBoot get

type Sensors

type Sensors struct {
	Oid string `json:"@odata.id"`
}

Sensors get

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 Sessions

type Sessions struct {
	Oid string `json:"@odata.id"`
}

Sessions ...

type SimpleStorage

type SimpleStorage struct {
	Oid string `json:"@odata.id"`
}

SimpleStorage get

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 Storage

type Storage struct {
	Oid string `json:"@odata.id"`
}

Storage get

type StorageServices

type StorageServices struct {
	Oid string `json:"@odata.id"`
}

StorageServices get

type Systems

type Systems struct {
	Oid string `json:"@odata.id"`
}

Systems a Redfish system link

type Thermal

type Thermal struct {
	Oid string `json:"@odata.id"`
}

Thermal 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 Users

type Users struct {
	Username string `json:"Username"`
	Password string `json:"Password"`
}

Users struct definition

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL