Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents a RedFish API client
func NewClient ¶
func NewClient(endpoint, username, password string, verifySSL bool, timeout time.Duration) (*Client, error)
NewClient creates a new RedFish client
func (*Client) DeployISO ¶
func (c *Client) DeployISO(isoPath string) (*DeploymentStatus, error)
DeployISO deploys an ISO image to the target system
func (*Client) GetDeploymentStatus ¶
func (c *Client) GetDeploymentStatus() (*DeploymentStatus, error)
GetDeploymentStatus retrieves the current status of the deployment
func (*Client) GetSystemInfo ¶
func (c *Client) GetSystemInfo() (*SystemInfo, error)
GetSystemInfo retrieves basic system information
type DMTFClient ¶
type DMTFClient struct {
*GenericClient
}
DMTFClient implements DMTF RedFish operations
func NewDMTFClient ¶
func NewDMTFClient(endpoint, username, password string, verifySSL bool, timeout time.Duration) (*DMTFClient, error)
NewDMTFClient creates a new DMTF RedFish client
func (*DMTFClient) GetDeploymentStatus ¶
func (c *DMTFClient) GetDeploymentStatus() (*DeploymentStatus, error)
GetDeploymentStatus retrieves the current status of the DMTF deployment
type DeploymentStatus ¶
type DeploymentStatus struct {
State string `json:"State"`
Message string `json:"Message"`
Progress int `json:"Progress"`
StartTime time.Time `json:"StartTime"`
EndTime time.Time `json:"EndTime,omitempty"`
}
DeploymentStatus represents the status of an ISO deployment
type GenericClient ¶
type GenericClient struct {
// contains filtered or unexported fields
}
GenericClient implements generic RedFish operations This would work with tools like: https://github.com/openstack/sushy-tools
func NewGenericClient ¶
func NewGenericClient(endpoint, username, password string, verifySSL bool, timeout time.Duration) (*GenericClient, error)
NewGenericClient creates a new generic RedFish client
func (*GenericClient) DeployISO ¶
func (c *GenericClient) DeployISO(isoPath string) (*DeploymentStatus, error)
DeployISO implements generic ISO deployment
func (*GenericClient) GetDeploymentStatus ¶
func (c *GenericClient) GetDeploymentStatus() (*DeploymentStatus, error)
GetDeploymentStatus retrieves the current status of the generic deployment
func (*GenericClient) GetSystemInfo ¶
func (c *GenericClient) GetSystemInfo() (*SystemInfo, error)
GetSystemInfo retrieves generic system information
type HPEClient ¶
type HPEClient struct {
// contains filtered or unexported fields
}
HPEClient implements HPE iLO-specific RedFish operations
func NewHPEClient ¶
func NewHPEClient(endpoint, username, password string, verifySSL bool, timeout time.Duration) (*HPEClient, error)
NewHPEClient creates a new HPE iLO RedFish client
func (*HPEClient) DeployISO ¶
func (c *HPEClient) DeployISO(isoPath string) (*DeploymentStatus, error)
DeployISO implements HPE iLO-specific ISO deployment
func (*HPEClient) GetDeploymentStatus ¶
func (c *HPEClient) GetDeploymentStatus() (*DeploymentStatus, error)
GetDeploymentStatus retrieves the current status of the HPE iLO deployment
func (*HPEClient) GetSystemInfo ¶
func (c *HPEClient) GetSystemInfo() (*SystemInfo, error)
GetSystemInfo retrieves HPE iLO-specific system information
type SuperMicroClient ¶
type SuperMicroClient struct {
// contains filtered or unexported fields
}
SuperMicroClient implements vendor-specific RedFish operations for SuperMicro hardware
func NewSuperMicroClient ¶
func NewSuperMicroClient(endpoint, username, password string, verifySSL bool, timeout time.Duration) (*SuperMicroClient, error)
NewSuperMicroClient creates a new SuperMicro RedFish client
func (*SuperMicroClient) DeployISO ¶
func (c *SuperMicroClient) DeployISO(isoPath string) (*DeploymentStatus, error)
DeployISO implements SuperMicro-specific ISO deployment
func (*SuperMicroClient) GetDeploymentStatus ¶
func (c *SuperMicroClient) GetDeploymentStatus() (*DeploymentStatus, error)
GetDeploymentStatus retrieves the current status of the SuperMicro deployment
func (*SuperMicroClient) GetSystemInfo ¶
func (c *SuperMicroClient) GetSystemInfo() (*SystemInfo, error)
GetSystemInfo retrieves SuperMicro-specific system information
type SystemInfo ¶
type SystemInfo struct {
ID string `json:"Id"`
Name string `json:"Name"`
Model string `json:"Model"`
Manufacturer string `json:"Manufacturer"`
SerialNumber string `json:"SerialNumber"`
MemorySize int `json:"MemorySummaryTotalSystemMemoryGiB"`
ProcessorCount int `json:"ProcessorSummaryCount"`
}
SystemInfo represents basic system information
type VendorClient ¶
type VendorClient interface {
// GetSystemInfo retrieves basic system information
GetSystemInfo() (*SystemInfo, error)
// DeployISO deploys an ISO image to the target system
DeployISO(isoPath string) (*DeploymentStatus, error)
// GetDeploymentStatus retrieves the current status of the deployment
GetDeploymentStatus() (*DeploymentStatus, error)
}
VendorClient interface defines vendor-specific RedFish operations
func NewVendorClient ¶
func NewVendorClient(vendor VendorType, baseURL, username, password string, verifySSL bool, timeout time.Duration) (VendorClient, error)
NewVendorClient creates a new vendor-specific RedFish client
type VendorType ¶
type VendorType string
VendorType represents the type of hardware vendor
const ( VendorGeneric VendorType = "generic" VendorSuperMicro VendorType = "supermicro" VendorHPE VendorType = "ilo" VendorDMTF VendorType = "dmtf" )