asrockrack

package
v2.0.4 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ProviderName for the provider implementation
	ProviderName = "asrockrack"
	// ProviderProtocol for the provider implementation
	ProviderProtocol = "vendorapi"
)

Variables

Functions

This section is empty.

Types

type ASRockOption

type ASRockOption func(*ASRockRack)

ASRockOption is a type that can configure an *ASRockRack

func WithHTTPClient

func WithHTTPClient(c *http.Client) ASRockOption

WithHTTPClient sets an HTTP client on the ASRockRack

func WithSecureTLS

func WithSecureTLS(rootCAs *x509.CertPool) ASRockOption

WithSecureTLS enforces trusted TLS connections, with an optional CA certificate pool. Using this option with an nil pool uses the system CAs.

type ASRockRack

type ASRockRack struct {
	// contains filtered or unexported fields
}

ASRockRack holds the status and properties of a connection to a asrockrack bmc

func New

func New(ip string, username string, password string, log logr.Logger) *ASRockRack

New returns a new ASRockRack instance ready to be used

func NewWithOptions

func NewWithOptions(ip string, username string, password string, log logr.Logger, opts ...ASRockOption) *ASRockRack

NewWithOptions returns a new ASRockRack instance with options ready to be used

func (*ASRockRack) BmcReset

func (a *ASRockRack) BmcReset(ctx context.Context, resetType string) (ok bool, err error)

BmcReset will reset the BMC - ASRR BMCs only support a cold reset.

func (*ASRockRack) CheckCredentials

func (a *ASRockRack) CheckCredentials(ctx context.Context) (err error)

CheckCredentials verify whether the credentials are valid or not

func (*ASRockRack) Close

func (a *ASRockRack) Close(ctx context.Context) (err error)

Close a connection to a BMC, implements the Closer interface

func (*ASRockRack) Compatible

func (a *ASRockRack) Compatible(ctx context.Context) bool

Compatible implements the registrar.Verifier interface returns true if the BMC is identified to be an asrockrack

func (*ASRockRack) FirmwareInstall

func (a *ASRockRack) FirmwareInstall(ctx context.Context, component, applyAt string, forceInstall bool, reader io.Reader) (jobID string, err error)

FirmwareInstall uploads and initiates firmware update for the component

func (*ASRockRack) FirmwareInstallStatus

func (a *ASRockRack) FirmwareInstallStatus(ctx context.Context, installVersion, component, taskID string) (status string, err error)

FirmwareInstallStatus returns the status of the firmware install process, a bool value indicating if the component requires a reset

func (*ASRockRack) Inventory

func (a *ASRockRack) Inventory(ctx context.Context) (device *common.Device, err error)

Inventory returns hardware and firmware inventory

func (*ASRockRack) Name

func (a *ASRockRack) Name() string

func (*ASRockRack) Open

func (a *ASRockRack) Open(ctx context.Context) (err error)

Open a connection to a BMC, implements the Opener interface

func (*ASRockRack) PostCode

func (a *ASRockRack) PostCode(ctx context.Context) (status string, code int, err error)

func (*ASRockRack) PowerSet

func (a *ASRockRack) PowerSet(ctx context.Context, state string) (ok bool, err error)

PowerSet sets the hardware power state of a machine

func (*ASRockRack) PowerStateGet

func (a *ASRockRack) PowerStateGet(ctx context.Context) (state string, err error)

PowerStateGet gets the power state of a machine

func (*ASRockRack) UserCreate

func (a *ASRockRack) UserCreate(ctx context.Context, user, pass, role string) (ok bool, err error)

UserCreate adds a new user account

func (*ASRockRack) UserRead

func (a *ASRockRack) UserRead(ctx context.Context) (users []map[string]string, err error)

UserRead returns a list of enabled user accounts

func (*ASRockRack) UserUpdate

func (a *ASRockRack) UserUpdate(ctx context.Context, user, pass, role string) (ok bool, err error)

UserUpdate updates a user password and role

type Config

type Config struct {
	Port       string
	HttpClient *http.Client
}

type UserAccount

type UserAccount struct {
	ID                           int    `json:"id"`
	Name                         string `json:"name"`
	Access                       int    `json:"access"`
	AccessByChannel              string `json:"accessByChannel,omitempty"`
	Kvm                          int    `json:"kvm"`
	Vmedia                       int    `json:"vmedia"`
	NetworkPrivilege             string `json:"network_privilege"`
	FixedUserCount               int    `json:"fixed_user_count"`
	OEMProprietaryLevelPrivilege int    `json:"OEMProprietary_level_Privilege"`
	Privilege                    string `json:"privilege,omitempty"`
	PrivilegeByChannel           string `json:"privilegeByChannel,omitempty"`
	PrivilegeLimitSerial         string `json:"privilege_limit_serial"`
	SSHKey                       string `json:"ssh_key"`
	CreationTime                 int    `json:"creation_time"`
	Changepassword               int    `json:"changepassword"`
	UserOperation                int    `json:"UserOperation"`
	Password                     string `json:"password"`
	ConfirmPassword              string `json:"confirm_password"`
	PasswordSize                 string `json:"password_size"`
	PrevSNMP                     int    `json:"prev_snmp"`
	SNMP                         int    `json:"snmp"`
	SNMPAccess                   string `json:"snmp_access"`
	SNMPAuthenticationProtocol   string `json:"snmp_authentication_protocol"`
	EmailFormat                  string `json:"email_format"`
	EmailID                      string `json:"email_id"`
}

UserAccount is a ASRR BMC user account struct

Jump to

Keyboard shortcuts

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